@charset "UTF-8";

body {
	font-size: 14px;
	font-family: "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	color: #000;
	font-feature-settings: "palt";
  background: #f4f9ff;
}

*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

a {
	color: #000;
	text-decoration: none;
}

a:focus,
*:focus {
	outline: none;
}

img {
	max-width: 100%;
	vertical-align: top;
  border: 0;
}

@media screen and (min-width: 750px){
  a.hover {
    transition: all 0.25s ease-in-out;
  }
}

#page_wrap {
	width: 100%;
  max-width: 750px;
	background: #fff;
  margin: 0 auto;
  box-shadow: 0px 0px 120px -16px #797da0;
}

.inner {
	max-width: 750px;
	margin: 0 auto;
}

.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
@media screen and (max-width: 640px){
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}

/* ------------------------------------------------------------------
	Header
-------------------------------------------------------------------*/
#header {
	max-width: 750px;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
  right: 0;
  z-index: 1000;
  margin: 0 auto;
}

#header .h_logo {
  padding: 2.67%;
  width: 79.33%;
}

#header .h_btn {
	display: block;
  padding-bottom: 3.47%;
}

#header .h_btn li {
  display: block;
  width: 50%;
  float: left;
  text-align: center;
}

#header .h_btn li a {
	display: block;
  width: 85.33%;
	color: #fff;
	text-align: center;
	font-weight: bold;
  font-size: min(max(14px, calc(0.875rem + ((1vw - 3.75px) * 1.3333))), 19px);
	line-height: 1;
  padding: 1em 0;
	border-radius: 5px;
  margin: 0 auto;
}

#header .h_btn li a.h_btn01 {
	background: #fd972a;
  box-shadow: 0px 4px 0px 0px #b0691e;
}

#header .h_btn li a.h_btn02 {
	background: #57aceb;
  box-shadow: 0px 4px 0px 0px #3a739e;
}

#header.scroll {
	position: fixed;
}

#header.scroll .h_logo {
	width: 28.7%;
	padding: 10px 20px;
  display: none;
}

#header.scroll .h_btn {
  display: block;
  padding-top: 2%;
  padding-bottom: 3.47%;
}

#header.scroll .h_btn li a {
  font-size: min(max(14px, calc(0.875rem + ((1vw - 3.75px) * 0.5333))), 16px);
  padding: .8em 0;
  border-radius: 5px;
}

#header.scroll .h_btn li a.h_btn01 {
	box-shadow: 0px 4px 0px 0px #b0691e;
}

#header.scroll .h_btn li a.h_btn02 {
	box-shadow: 0px 4px 0px 0px #3a739e;
}


/* ------------------------------------------------------------------
	mv
-------------------------------------------------------------------*/
#mv {
  padding-top: 22%;
}

@media screen and (max-width: 500px){
  #mv {
    padding-top: 24%;
  }
}
@media screen and (max-width: 375px){
  #mv {
    padding-top: 29%;
  }
}

/* ------------------------------------------------------------------
	q_area
-------------------------------------------------------------------*/
.q_area {
  position: relative;
  background-color: #fff;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 8px, #e3f1fc 8px, #e3f1fc 16px );
  padding: 7% 0 5%;
}
.q_area .flow {
  position: absolute;
  width: calc(195/750*100%);
  top: 3.8%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.q_area .inner {
  background: #fff;
  max-width: calc(670/750*100%);
  margin: 0 auto;
  padding-bottom: 8%;
}
.q_area .inner p {
  text-align: center;
  padding: 11% 5% 5%;
  font-size: min(max(17px, calc(1.0625rem + ((1vw - 3.75px) * 3.4667))), 30px);
  line-height: 1.4;
  letter-spacing: .1em;
}
.q_area .inner ul {
  max-width: calc(600/670*100%);
  margin: 0 auto;
}
.q_area .inner ul li {
  cursor: pointer;
  position: relative;
  margin-bottom: 3%;
}
.q_area .inner ul li .on {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
}

/* sec_q01 */
#sec_q01 .q_area .inner p + div {
  max-width: calc(550/670*100%);
  margin: 0 auto 7%;
}
#sec_q01 .q_area .inner ul {
  display: flex;
  justify-content: space-between;
  gap: 0;
}
#sec_q01 .q_area .inner ul li {
  max-width: calc(290/600*100%);
  margin-bottom: 0;
}

/* sec_q02 */
#sec_q02 { display: none;}
#sec_q02 .detail { display: none;}
#sec_q02 .q_area {
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 8px, #fcebf3 8px, #fcebf3 16px );
}

/* sec03 */
#sec_q03,
#sec_q03 .detail01,
#sec_q03 .detail02,
#sec_q03 .detail03 { display: none;}
#sec_q03 .q_area {
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 8px, #dbf1e7 8px, #dbf1e7 16px );
}

/* ------------------------------------------------------------------
	cv
-------------------------------------------------------------------*/
#cv { display: none;}
#cv .btn_area {
  background-color: #ebebeb;
  padding: 7% 0 3%;
}
#cv .btn_area p {
  text-align: center;
  font-size: min(max(18px, calc(1.125rem + ((1vw - 3.75px) * 3.2))), 30px);
  margin-bottom: 3%;
  letter-spacing: .1em;
}
#cv .btn_area p span {
  font-weight: bold;
}
#cv .btn_area .btn {
  max-width: calc(630/750*100%);
  margin: 0 auto;
}

/* ------------------------------------------------------------------
	Footer
-------------------------------------------------------------------*/
#footer {
	background-color: #ebebeb;
  font-size: min(max(13px, calc(0.8125rem + ((1vw - 3.75px) * 0.8))), 16px);
	text-align: center;
	padding: 9% 0 8.53%;
}

#footer ul {
	padding-bottom: 10px;
}

#footer li {
	list-style-type: none;
	display: inline-block;
}

#footer li:first-child {
	border-right: solid 1px #000;
	padding-right: 10px;
	margin-right: 3px;
}

#footer li a {
	color: #4d4d4d;
	text-decoration: none;
}

#footer p {
	color: #4d4d4d;
  font-size: min(max(10px, calc(0.625rem + ((1vw - 3.75px) * 0.5333))), 12px);
}

/* ------------------------------------------------------------------
	pagetop
-------------------------------------------------------------------*/
.pagetop {
  position: fixed;
  width: 80px;
  bottom: 4.25vw;
  right: 4.25vw;
  z-index: 200;
}
.pagetop img {
  width: 100%;
  display: none;
}
@media screen and (max-width: 500px){
  .pagetop {
    width: 13vw;
  }
}




