@charset "utf-8";

body {
  font-family: "ヒラギノ丸ゴ ProN","Hiragino Maru Gothic ProN",/* Mac用 */"UD デジタル 教科書体 NP-R","UD Digi Kyokasho NP-R","UD デジタル 教科書体 NP-B","UD Digi Kyokasho NP-B",/* Windows用 */sans-serif;
  text-align: justify;
  font-feature-settings: "palt" 1;  /* プロポーショナルメトリクスを有効にする指定 */
  background-color: #fff;
}

/* --------------------
wrapper
--------------------- */
.wrapper {
  margin: 0 auto;
  min-width: 750px;
}

.box {
  max-width: 1280px;
  margin: 0 auto;
}

.center {
  text-align: center;
}

/* --------------------
フォント設定
--------------------- */
html {
  font-size: 62.5%;
  color: #2D2D2D;
  scroll-behavior: smooth;
}

h1,h2,h3,h4,h5,h6 {
  font-family: 'M PLUS Rounded 1c', sans-serif;
}

h2 {
  padding-top: 85px;
  padding-bottom: 60px;
  text-align: center;
  font-size: 3rem;
  letter-spacing: 0.1em;
  color: #474747;
}

h3 {
  padding-bottom: 5px;
  margin-bottom: 40px;
  font-size: 2.6rem;
  letter-spacing: 0.15em;
  border-bottom: 3.5px solid #31B494;
  color: #31B494;
}

h4 {
  font-size: 2.2rem;
  color: #F4C31D;
  padding-bottom: 20px;
  letter-spacing: 0.1em;
}

p {
  padding-bottom: 40px;  /* 改行の幅 */
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.9;
  letter-spacing: 0.15em;
}



/* https://blanche-toile.com/web/css-hack     OSでスタイルシートの切り替えするjQuery */

/* --------------------------------------------------------------------------------
span（Mac用）
筑紫A丸ゴシックを本文に使用していたがウェイトの変更が困難だったため、本文とフォントをわけて対応。
--------------------------------------------------------------------------------- */
/* span {
  font-family: "Tsukushi A Round Gothic","筑紫A丸ゴシック"; font-weight: bold;
  font-weight: bold;
  font-size: 1.2em;
  letter-spacing: 0.1em;
  background: repeating-linear-gradient(135deg, #31B494, #31B494 1.5px, #fff 1.5px, #fff 3px);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 0.4em;
  line-height: 0;
} */

/* ------------------------------------------------------------
span（Windows用）
pタグのboldを外して太さが大丈夫か確認して下さい。
ポートフォリオに載せる際は『CSS Browser Selector』で対応したい。
------------------------------------------------------------- */

span {
  font-size: 1.9rem;
  background: repeating-linear-gradient(135deg, #31B494, #31B494 1.5px, #fff 1.5px, #fff 3px);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 0.6em;
  letter-spacing: 0.14em;

  /* ---↓↓↓-----windows用に指定-----↓↓↓--- */
  text-shadow: 1px 1px 2px rgba(255,255,255,1),-1px -1px 2px rgba(255,255,255,1),0 0 4px rgba(255, 255, 255, 1);
}

span.no-line {
  background: none;
  text-shadow: none;
}

/* --------------------
button  背景色と文字の色はクラス名で指定
--------------------- */
button {
  font-family: "ヒラギノ丸ゴ ProN","BIZ UDPゴシック","BIZ UDPGothic";
  font-weight: bold;
  text-align: center;
  padding: 0.6em 1.5em;
  /* padding: 0.6em 1.2em;  */
  /* windows用 */
  font-size: 1.8rem;
  border: none;
  letter-spacing: 0.1em;
  border-radius: 10px;
  cursor: pointer; /* マウスカーソールを指に変える */
}

button a {
  text-decoration: none;
  color: #2D2D2D;
}

button:hover {
  opacity: 0.5;
  transition:0.3s;
}

.btn-mrgn{
  margin: 65px auto 85px;
}

.btn-small {
  /* padding: 0.3em 1.2em; */
  padding: 0.5em 1.2em;
  font-size: 1.8rem;
  border-radius: 6px;
}

.btn-gray {
  color: #fff;
  background-color: #c4c4c4;
}

.btn-green {
  color: #fff;
  background: #31B494;
}

.btn-yellow {
  background: #F4C31D;
}

.btn-white {
  color: #31B494;
  background-color: #fff;
}


/* --------------------
header
--------------------- */
header {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  padding: 0 8%;
  background-color: #F4C31D;
  height: 100px;
}

header h1 {
  display: block;
}

header img {
  padding-top: 1.9em;
  float: left;
}

header nav {
  float: right;
}

header li {
  display: inline-block;
  margin-top: 55px;
  padding-left: 3.2em;
}

header li:first-child {
  padding-left: 0;
}

header li a:last-child {
  clear: both;
}

header nav a {
  text-decoration: none;
  font-size: 1.8rem;
  /* font-weight: bold; */
  color: #2D2D2D;
}

header nav a:hover {
  color: #fff;
  border-bottom: 2px solid #fff;
}

/* --------------------
ページ毎のナビの設定
--------------------- */
.index .global li:nth-child(1) a,
.business-content .global li li:nth-child(2) a,
.corporate-philosophy .global li li:nth-child(3) a,
.info .global li li:nth-child(7) a {
  color: #fff;
}


/* --------------------
footer
--------------------- */
footer {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  display: flex;
  height: 160px;
  padding: 0 5%;
  margin-top: 85px;
  background-color: #2D2D2D;
  align-items: center; /* 子要素を中央に配置 */
  justify-content: space-between;
}

.footer--left {
  display: block;
  float: left;
  padding-bottom: 10px;
  width: fit-content;
}

.footer--right {
  display: block;
  text-align: left;
}

footer nav {
  display: inline-block;
  justify-content: space-between;

}

footer nav li {
  float: left;
  padding-bottom: 18px;
  margin-bottom: 15px;
  border-bottom: 2px solid #fff;
}

footer nav ul li a:last-child {
  clear: both;
}

footer nav a{
  margin-right: 2em;
  font-size: 1.6rem;
  text-decoration: none;
  color: #fff;
}

footer nav a:hover {
  color: #F4C31D;
}

footer nav ul li:last-child a {
  margin-right: 0;
}

p.copywriter {
  display: block;
  font-size: 1.4rem;
  font-weight: normal;
  text-align: center;
  padding-bottom: 0; /* デフォルトのpのマージンを無効 */
  letter-spacing: 0em;
  color: #fff;
}

/* --------------------
パンくずリスト
--------------------- */
nav.breadcrumbs {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  margin: 0;
  list-style: none;
}

nav.breadcrumbs ol {
  padding-top: 14px;
  padding-left: 130px;
  background-image: url(../images/home_icon.gif);
  background-repeat: no-repeat;
  background-position: 105px 13px;
}

nav.breadcrumbs li {
  display: inline;
  list-style: none;
  letter-spacing: 0.05em;
  font-size: 1.4rem;
  font-weight: bold;
}

nav.breadcrumbs li:after {/* >を表示*/
  content: '>';
  padding-right: 0.3em;
  color: #939393;
}

nav.breadcrumbs li:last-child:after {
  content: '';
}

nav.breadcrumbs li a {
  text-decoration: none;
  color: #939393;
}

nav.breadcrumbs li a:hover {
  border-bottom: 1.5px solid #939393;
}

/* --------------------
section
--------------------- */
section {
  height: fit-content;
  padding: 0 10%;
  font-feature-settings: "palt" 1;
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
}

section p {
  padding-left: 1em;
}

/* section外のpタグ用のmargin */
.p-padd {
  padding: 0 10%;
}

/* テキスト中央揃え＋緑色 */
.text-green {
  text-align: center;
  color: #31B494;
  padding: 0;
}

/* --------------------
背景色
--------------------- */
.change-color {
  background-color: #FCEEC5;
  border-radius: 0 150px;
}

/* --------------------
div.band
--------------------- */
div.band {
  position: relative;
  width: 100%;
  height: fit-content;
  text-align: center;
  padding: 60px 0;
  margin: 85px auto 0;
  border-top: solid 20px;
  border-bottom: solid 20px;
  border-image: repeating-linear-gradient(135deg, #31B494, #31B494 2.5px, #fff 2.5px, #fff 4px)20;
  background-color: #31B494;
}


/* 
mac用の調整 
------------------------------*/
/* div.band button {
  margin-top: 10px;
} */

/* 
windows用の設定 
------------------------------*/
.band p{
  font-family: "BIZ UDPゴシック","BIZ UDPGothic";
}
/* ------------------------------*/ */

/* --------------------
clearfix
--------------------- */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.clearfix:before {
  content: "";
  display: block;
  clear: both;
}

.clearfix {
  display: block;
}


/* ----------------------------------------
  shutter---初回の読み込み時だけつけたい
---------------------------------------- */

.shutter{
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-color:#474747;
  z-index:9999;
  animation: byeShutter 2.6s forwards;
  
  &::before,
  &::after{
    content:'';
    position:absolute;
    top:0;
    left:0;
    bottom:0;
    margin:auto;
  }
  
  &::before{
    background-color: #F4C31D;
    width:0;
    height:1px;
    animation: shutterOpen1 2.6s forwards;
  }
  
  &::after{
    width:120%;
    height:0;
    margin-left:-10%;
    background-color: #FCEEC5;
    animation: shutterOpen2 2.6s forwards;
  }
}

.content{
  animation: contentScale 2.6s forwards;
}

@keyframes byeShutter{
  70%{
    opacity:1;
  }
  100%{
    opacity:0;
    display:none;
    z-index:-1;
  }
}

@keyframes shutterOpen1{
  0%{
    width:0;
    height:1px;
  }
  50%{
    width:100%;
    height:1px;
  }
  90%{
    width:100%;
    height:100%;
  }
  100%{
    width:100%;
    height:100%;
  }
}

@keyframes shutterOpen2{
  60%{
    width:120%;
    height:0;
    transform:rotate(5deg);
  }
  90%{
    width:120%;
    height:100%;
    transform:rotate(-5deg);
  }
  100%{
    width:120%;
    height:100%;
    transform:rotate(-5deg);
  }
}

@keyframes contentScale{
  70%{
    transform:perspective(800px) scale(0.9) rotateX(15deg);
  }
  100%{
    transform:perspective(800px) scale(1) rotateX(0);
  }
}

/* --------------------
  fix-box
-------------------  */
.fix-box {
  width: 90px;
  height: 90px;
  border-radius: 45px;
  background-color: #F4C31D;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: fixed;
  bottom: 20px;
  right: 20px;
  opacity: 0.7;
}

.fix-box p{
  font-size: 1.8rem;
  color: #fff;
  padding-top: 35px;
  padding-left: 5px;
  line-height: 1;
}

.bigger {
  background: none;
  font-size: 3rem;
  text-shadow: none;
  padding: 0;
}
