@charset "UTF-8";

body {
	/* ベースとなる文字種類を指定 */
    font-family:"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3","Yu Gothic", YuGothic, Helvetica, Arial,
    Meiryo, メイリオ, sans-serif;
	/* ベースとなる文字色を指定 */
	color: #333333;	
}

img {
	/* 最大幅を100%に指定 */
	max-width: 100%;
}

a {
	/* デフォルトCSSを打ち消す */
	text-decoration: none;
	color: #333333;
}
ul {
	/* デフォルトCSSを打ち消す */
    list-style-type: none;
}

/** -----------------------------------
    ボタン
-------------------------------------**/
.button-small {
    display: block;
    width: 210px;
    height: 55px;
    background-color: #f3e45e;
    color: #28507f;
    font-size: 18px;
    letter-spacing: 0.03em;
    font-weight: bold;
    line-height: 55px;
    text-align: center;
    border-radius: 10px;
    box-shadow: 0 5px 30px rgba(63, 63, 63, 0.05);
  }
  
.button-small:hover {
  background: #ea842a;
  color: #fff;
}
  .button-large {
    display: block;
    width: 380px;
    height: 80px;
    background-color: #f3e45e;
    color: #28507f;
    font-size: 24px;
    letter-spacing: 0.16em;
    font-weight: bold;
    line-height: 80px;
    text-align: center;
    border-radius: 10px;
    box-shadow: 0 3px 30px rgba(0,0,0,0.05);
}

.button-large:hover {
  background: #ea842a;
  color: #fff;
}  

  .button-orange {
    display: block;
    width: 200px;
    height: 50px;
    background-color: #fff;
    color: #ea842a;
    font-size: 18px;
    letter-spacing: 0.16em;
    font-weight: bold;
    line-height: 50px;
    text-align: center;
    border-radius: 10px;
    margin-left: 20px;
    box-shadow: 0 3px 20px rgba(0,0,0,0.05);
    border: 2px solid  #ea842a;
  }

  .button-orange:hover {
    background: #ea842a;
    color: #fff;
  }


  .button-border {
    display: block;
    width: 192px;
    height: 50px;
    border: 1px solid #333333;
    color: #333333;
    font-size: 13px;
    letter-spacing: 0.06em;
    font-weight: bold;
    line-height: 50px;
    text-align: center;
    border-radius: 10px;
    box-shadow: 0 3px 20px rgba(0,0,0,0.05);
  }


/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
  .button-large {
    display: block;
    width: 320px;
    height: 60px;
    font-size: 18px;
    line-height: 60px;
    border-radius: 10px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .button-large-mv {
    display: block;
    width: 310px;
    height: 70px;
    font-size: 20px;
    line-height: 70px;
    border-radius: 10px;
    align-items: center;
    margin: 10px 15px;
  }
}
  
/** -----------------------------------
    レイアウト
-------------------------------------**/
#features , #example, #flow, #faq, #contact{
	padding: 200px 0 100px 0;
}
#question{
	padding: 60px 0 100px 0;
}


.section-inner-mv {
	/* 横幅を100%に設定 */
	width: 100%; 
	/* 横幅の最大値を960pxに設定 */
	max-width: 1100px; 
	/* 左右中央に配置 */
	margin: 0 auto; 
	/* 画面からはみ出した部分のイラストを非表示 */
	overflow: hidden; 
}


.section-inner1 {
	/* 横幅を100%に設定 */
	width: 100%; 
	/* 横幅の最大値を960pxに設定 */
	max-width: 1110px; 
	/* 左右中央に配置 */
	margin: 0 auto; 
	/* 画面からはみ出した部分のイラストを非表示 */
	overflow: hidden; 
}

.section-inner2 {
	/* 横幅を100%に設定 */
	width: 100%; 
	/* 横幅の最大値を960pxに設定 */
	max-width: 1050px; 
	/* 左右中央に配置 */
	margin: 0 auto; 
	/* 画面からはみ出した部分のイラストを非表示 */
	overflow: hidden; 
}

.col-2 {
    display: flex;
    justify-content: space-between;
}

.col-2 .item {
    width: calc((100% - 24px)/2);
}

.col-3 {
  display: flex;
  justify-content: space-between;
}

.col-3 .item {
  width: calc((100%px)/3);
}  

.title-img{
  margin-bottom: 100px;
}

/* pcとspで表示を切り替えたい時のCSS① */
.pc-only {
	/* pc時に表示 */
    display: block; 
}
.sp-only {
	/* pc時に非表示 */
 	 display: none; 
}

/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
  #features , #example, #flow, #faq, #contact{
    padding: 100px 0 60px 0;
  }
  #question{
    padding: 60px 0 10px 0;
  }
	.section-inner1, .section-inner2 ,.section-inner-mv {
		/* 左右に24pxの余白（padding） */
		padding: 0 24px; 
		/* 最大幅を550pxに */
		max-width: 550px; 
	}

	.col-2 {
		/* sp時は横並びを解除 */
		display: block;
	}

	.col-2 .item {
		/* sp時の要素は横幅いっぱいになるように */
		width: 100%;
	}
  
	.col-3 {
		/* sp時は横並びを解除 */
		display: block;
	}

	.col-3 .item {
		/* sp時の要素は横幅いっぱいになるように */
		width: 100%;
	}

	/* pcとspで表示を切り替えたい時のCSS② */
	.pc-only {
		/* pc時に非表示 */
		display: none; 
	}
	.sp-only {
		/* pc時に表示 */
		display: block; 
	}
  .title-img{
    margin-bottom: 50px;
  }
}


/** -----------------------------------
    テキスト
-------------------------------------**/

h2.small {
  font-weight: bold;
	font-size: 20px;
  letter-spacing: 0.16em;
	/* 左右中央に配置 */
	text-align: center;
}

h3.large {
    font-weight: bold;
    font-size: 28px;
    line-height: 1.6;
    letter-spacing: 0.03em;
    margin-bottom: 10px;
    margin-top: 20px;
}

h3.medium {
    font-weight: bold;
    font-size: 22px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    text-align: center;
}

p.large {
    font-size: 40px;
    line-height: 2;
    letter-spacing: 0.1em;
    font-weight: bold;
}

p.medium {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: normal;
 }

 p.small {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.04em;
  font-weight: bold;
}


/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
  h2.medium {
    font-weight: bold;
    font-size: 25px;
    letter-spacing: 0.16em;
    /* 左右中央に配置 */
    text-align: center;
  }
  
  h3.large {
      font-weight: bold;
      font-size: 16px;
      line-height: 1.6;
      letter-spacing: 0.03em;
      margin-bottom: 10px;
  }
  
  h3.medium {
      font-weight: bold;
      font-size: 18px;
      line-height: 1.6;
      letter-spacing: 0.03em;
      text-align: center;
  }
  
  p.large {
      font-size: 22px;
      line-height: 2;
      letter-spacing: 0.1em;
      font-weight: bold;
  }
  
  p.medium {
      font-size: 14px;
      line-height: 1.7;
      letter-spacing: 0.1em;
      font-weight: normal;
   }
  
   p.small {
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.04em;
    font-weight: normal;
  }
}

/** -----------------------------------
    ヘッダー
-------------------------------------**/
#header {
    background-color: #28507f;
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: space-between;
    padding: 0 60px;
    position: fixed;
    top: 0;
    z-index: 1;
  }
  
  .header-logo {
    display: flex;
    align-items: center;
    width: 150px;
  }
  
  .gnav-pc-wrap {
    display: flex;
    align-items: center;
  }
  
  ul.gnav-pc li {
    display: inline;
    margin-right: 40px;
  }
  
  ul.gnav-pc li a {
    font-size: 19px;
    letter-spacing: 0.13em;
    color: #fff;
    font-weight: bold;
  }
  
  ul.gnav-pc li a:hover {
    color: #F08658;
  }
  


  #menu-button {
    /* 【ワーク】pc時非表示にする */
    display: none;
  }
  
  .gnav-sp-wrap {
    /* 【ワーク】pc時非表示にする */
    display: none;
  }
  
  ul.gnav-sp {
    /* 【ワーク】pc時非表示にする */
    display: none;
  }
  .sp-buttom-button {
    /* 【ワーク】pc時非表示にする */
    display: none;
  
  }

/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
	#header {
		padding: 0px;
    z-index: 100;
    height: 70px;
	}
  .header-logo {
    display: flex;
    align-items: center;
    width: 100px;
  }
  
	#header h1 {
		padding-left: 24px;
	}

	.gnav-pc-wrap {
		display: none;
	}
	ul.gnav-sp {
		/* 【ワーク】SP時に表示させる */
		display: block;

	}
	#menu-button {
		/* 【ワーク】SP時に表示させる */
		display: block;
		width: 70px;
		height: 70px;
		padding: 22px 20px;
	}

	.menu-button-inner {
		/* 【ワーク】配置の基準となる親要素にpositionプロパティを指定 */
		position: relative;
		width: 100%;
		height: 100%;
	}

	.menu-button-inner span {
		display: block;
		width: 100%;
		height: 1px;
		background-color: #ffffff;
		/* 【ワーク】配置したい要素にpositionプロパティを指定 */
		position: absolute;

	}

	.menu-button-inner span:nth-child(1) {
		/* 【ワーク】上の線 topから0の位置に配置 */
		top: 0;
	}

	.menu-button-inner span:nth-child(2) {
		/* 【ワーク】中央の線 上下中央に配置 */
		top: 0;
		bottom: 0;
		margin: auto;
	}

	.menu-button-inner span:nth-child(3) {
		/* 【ワーク】下の線 bottomから0の位置に配置 */
		bottom: 0;
	}

	/* クリックした時に、ハンバーガーボタンをバツにするCSSを設定しましょう */
	.close span:nth-of-type(1){
	    width: 100%;
		/* 【ワーク】線を45度回転（ヒント：コーディングトレースのハンバーガーメニューで使用したコードを使いましょう） */
	    transform: rotate(-45deg);
		top: 12px;
	}

	.close span:nth-of-type(2){
		/* 【ワーク】中央の線は透明にして見えなくする */
	    opacity: 0;

	}

	.close span:nth-of-type(3){
	    width: 100%;
		/* 【ワーク】線を-45度回転（ヒント：コーディングトレースのハンバーガーメニューで使用したコードを使いましょう） */
	    transform: rotate(45deg);
		bottom: 13px;
	}

	.sp-buttom-button {
		position: fixed;
		bottom: 0;
		left: 0;
	}

	.sp-buttom-button ul {
		width: 100%;
		display: flex;
	}

	.sp-buttom-button a {
		color: #fff;
		font-size: 15px;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
    	width: calc(100vw/2);
		height: 60px;
	}

	.sp-buttom-button img {
		width: 35px;
		margin-right: 10px;
	}

	/* スマホ用メニューのスタイル設定 */
	.gnav-sp-wrap {
		/* 【ワーク】非表示 */
		display: none;
		/* 【ワーク】横幅を画面いっぱいに広げる */
		width: 100vw;
		/* 【ワーク】縦幅を画面いっぱいに広げる */
		height: 100vh;
		/* 【ワーク】背景色#f9f6e7 */
		background-color: #e2f0f9;
		/* 【ワーク】位置を固定 */
		position: absolute;
		/* 【ワーク】重なり順を100に設定 */
		z-index: 100;
		/* 【ワーク】メニューの位置調整のため上に内側余白100px */
		padding-top: 200px;
	}

	ul.gnav-sp li {
		text-align: center;
		margin-bottom: 30px;
	}

	ul.gnav-sp li a {
		font-size: 20px;
		letter-spacing: 0.1em;
		color: #333333;
		font-weight: bold;
	}
}
  
/** -----------------------------------
    メインビジュアル
-------------------------------------**/
    #mainvisual {
      width: 100vw;
      margin: 0;  
      position: relative;
      overflow: hidden;
      height: calc(100vh - 230px);
      margin-top: 80px;
      background-image: url(../images/mv-back.png);
      background-size: cover;
      padding-top: 120px;
  }


.maincopy {
    color: #333333;
    font-size: 20px;
    font-weight: medium;
    line-height: 1.6;
    letter-spacing: 0.12em;
    padding: 70px 0;
  }

  .mv-box{
    display: flex;
    justify-content: center;
    /* flexで横並びにした要素を折り返す */
    flex-wrap: wrap;
    margin-bottom: 40px;
    padding-top: 20px;
  }
  
  .mv-box li{
    background-color: #28507f;
    border-radius: 10px;
    padding:8px 20px;
    color: #fff;
  }
  
  .mv-box li+li{
    /* liの隣にあるliに左側余白を20px設定 */
    margin-left: 20px;
  }
  
.mv-img {
  max-width:800px;
  }

.mv-img .img{
  display: flex;
}
.sp_only{
  display: none;
}

/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
.pc_only{
    display: none;
  }
  .sp_only{
    display: block;
  }

  #mainvisual {
    height:auto;
    margin-top: 70px;
    padding: 50px 0;

}

.mv-title{
  width: 280px;
}
.maincopy {
  font-size: 13px;
  padding: 20px 0;
}
.mv-box {
  margin-bottom: 15px;
  padding-top: 0;
}
.mv-box li{
  padding:8px 10px;
  color: #fff;
  font-size: 12px;
}
.mv-box li+li{
  margin-left: 5px;
}
.mv-img .img{
display: flex;
}
.mv-button{
  margin-top: 10px;
}
}

/** -----------------------------------
    こんなお悩みありませんか
-------------------------------------**/

  #question {
      background-color: #e2f0f9;
      padding-bottom: 50px;
  }

  #question p.large {
      text-align: center;
      color: #28507f;
      margin-bottom: 60px;
      /* 下線を引く */
      border-bottom: 1px solid #63553c;
  }
    
  #question h3.large {
    text-align: center;
  }
  
  #question h3.medium span {
    color: #ea842a;
  }
  #question .card {
    width: 340px;
    height: 420px;
    background-color: #ffff;
    border-radius: 7px;
    box-shadow: 0 3px 10px #c5c3c3;
    padding-top: 20px;
  }

  #question .card .card-img {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 210px;
  }

  #question .card .card-text {
    margin-top: 20px;
  }
  #question .card .card-text p.medium {
    margin-top: 15px;
    text-align: center;
  }

/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
#question {
    padding-bottom: 0px;
}

#question .item{
  display: flex;
  justify-content: center;
  align-items: center;

}
  #question .card{
  display: block;
  width: 300px;
  height: 390px;
  padding: 10px 0;
  margin-bottom: 20px;
}
#question .card-img{
  margin:0;
  padding: 0;
}


}
/** -----------------------------------
    らくぎなら解決
-----------------   --------------------**/
#solution {
	background-color:#e2f0f9;
}

#solution .sp_only{
  /* スマートフォン用の表は非表示にする */
  display: none;
}
/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
  #solution .pc_only{
    /* スマートフォン用の表は非表示にする */
    display: none;
  }
  #solution .sp_only{
    /* スマートフォン用の表は非表示にする */
    display: block;
  }
  }

/** -----------------------------------
    特徴
-------------------------------------**/
#features {
    background-color: #e2f0f9;
    padding-bottom: 80px;
}

#features .col-2 {
	/* 上の外側余白160px */
	margin-bottom: 140px;
  justify-content: center;
	/* flexで横並びにした要素を上下中央揃えに配置 */
	align-items: center;
}

#features .item .img-wrap{
  margin-left: 80px;
}


/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
#features .col-2{
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 60px;
  }
  #features .item .text-wrap img{
    max-width: 60px;
  }
  #features .item .img-wrap img{
    margin-bottom: -60px;
    width: 85%;
  }

}

  /** -----------------------------------
    ダウンロード
-------------------------------------**/
#download {
	background-color:#e2f0f9;
  height: 300px;
  background-image: url(../images/download.png);
  background-position: center;
  margin-top: -40px;
}

#download .button-large{
  margin-left: 620px;
  margin-top: 110px;

}

#solution .sp_only{
  /* スマートフォン用の表は非表示にする */
  display: none;
}
/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {


#solution .sp_only{
  /* スマートフォン用の表は非表示にする */
  display: block;
}
  #download {
    background-color:#28507f;
    height: 180px;
    background-image: none;
    padding: 20px 0;
  }
  #download p.medium{
    text-align: center;
    color: #fff;
    margin: 10px 0;
    font-weight: normal;
  }

  #download .button-large{
    margin:0px;
  }
 }

/** -----------------------------------
    導入事例
-------------------------------------**/
#example {
  background-color: #e2f0f9;
  padding-top: 200px;
} 

#example .item{
  height: auto;

}

#example .sp_only{
  /* スマートフォン用の表は非表示にする */
  display: none;
}
/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
  #example .pc_only{
    /* スマートフォン用の表は非表示にする */
    display: none;
  }
  #example .sp_only{
    /* スマートフォン用の表は非表示にする */
    display: block;
  }

  #example {
    padding-top: 100px;
    padding-bottom: 60px;
  } 
  #example .img{
    max-width: 200px;
  
  }
  
 }
/** -----------------------------------
    ご利用までの流れ
-------------------------------------**/
#flow {
	background-color: #FFFFFF; 
}

#flow .card {
	border: 4px solid #28507f;
  width: 310px;
  height: 370px;
  background-color: #ffffff;
  border-radius: 20px;
  box-sizing: border-box;
  margin-bottom: 40px;
}


#flow .card-right img {
  margin-top: 150px;
}

#flow .card-img{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100px;
  margin-top: 10px;

}

#flow .card .card-text {
  margin: 20px 25px;
}

#flow h3.medium {
  margin-top: 30px;
  color: #28507f;
}

#flow .sp_only{
  /* スマートフォン用の表は非表示にする */
  display: none;
}

/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
  #flow .sp_only{
    /* スマートフォン用の表は非表示にする */
    display: flex;justify-content: center;
    align-items: center;

  }
  #flow .pc_only{
    display: none;
  }

  #flow .card {
    height: 350px;
  }
  #flow .sp_only img{
    margin-top: -220px;
    margin-bottom: 10px;
  }
}


/** -----------------------------------
   FAQ
-------------------------------------**/
#faq {
    background-color: #e2f0f9;
}

.qa-6 {
  max-width: 1100px;
  margin-bottom: 5px;
  border-bottom: 2px solid #d6dde3;
}

.qa-6 summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 2em 1em 3em;
  color: #333333;
  font-weight: 600;
  cursor: pointer;
  font-size: 20px;
}

.qa-6 summary::before,
.qa-6 p::before {
  position: absolute;
  left: 1em;
  font-weight: 600;
  font-size: 20px;
}

.qa-6 summary::before {
  color: #28507f;
  content: "Q";
}

.qa-6 summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid #5b648bb3;
  border-right: 3px solid #5b648bb3;
  content: '';
  transition: transform .5s;
}

.qa-6[open] summary::after {
  transform: rotate(225deg);
}

.qa-6 p {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: .1em 3em 1.5em;
  color: #333;
  font-weight: 600;
  transition: transform .5s, opacity .5s;
  font-size: 20px;
}

.qa-6[open] p {
  transform: none;
  opacity: 1;
}

.qa-6 p::before {
  color: #ff8d8d;
  line-height: 1.2;
  margin-top: 4px;
  content: "A";
}


/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
  #faq .section-inner2{
    padding: 0;
  }
  .qa-6 summary {
    font-size: 16px;
  }
  
  .qa-6 summary::before,
  .qa-6 p::before {
    font-size: 16px;
  }
  
  .qa-6 p {
    font-size: 16px;
  }

}

/** -----------------------------------
    お問い合わせ
-------------------------------------**/
#contact {
	background-color: #FFFFFF; 
}

#contact .card {
	border: 4px solid #28507f;
  width: 350px;
  height: 455px;
  background-color: #ffffff;
  border-radius: 20px;
  box-sizing: border-box;
  margin-bottom: 70px;
}


.form{
  background-color: #e2f0f9;
  max-width: 100%;
  /* 左右中央に配置 */
  padding: 55px 85px;
}

.form_item{
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 30px;
  font-family:"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3","Yu Gothic", Helvetica, Arial,  sans-serif;    
}

.input_label{
  max-width: 230px;
  width: 100%;
}

.input_area_box{
  width: 100%;
  max-width: 830px;
  margin-top: 5px;
}

.input_area{
  width: 100%;
  padding: 10px 20px;
  border: solid 1px #ffffff;
  background-color: #ffffff;
 }

textarea {
  height: 80px;
  padding: 15px;
}

.question{
  margin-right: 24px;
}

#contact .button-large{
  margin: 0 auto;
  margin-top: 10px;
}
/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
  #contact .section-inner2 {
    padding: 0;
  }
  
  .form{
    background-color: #e2f0f9;
    max-width: 100%;
    /* 左右中央に配置 */
    padding: 20px 15px;
  }
  
  .form_item{
    width: 100%;
    font-size: 16px;
    font-weight: bold;
    padding-bottom: 30px;
  }
}


/** -----------------------------------
    フッター
-------------------------------------**/
#footer {
	background-color:#28507f;
  padding : 40px;
}

#footer p{
  color: #fff;
  font-weight: lighter;
  margin-left: 4%;
  margin-bottom: 20px;
}

/** -------- スマホ -------- **/
@media screen and (max-width: 768px) {
  #footer p{
    font-size: 12px;
  }
}