@charset "utf-8";


/* ------------------------------------------------------------ common */
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, address, code, em, span, strong, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, hr, figure, figcaption, main, aside{ color: #000; }
header{ background: #1B2C43; }
#wrapper{ padding: 98px 0 0; background: #FEF2C4; }
.c-inner{ width: 1100px; margin: 0 auto; }

.main-enttl{ width: 665px; margin: 0 auto; font-size: 120px; background: var(--gradient-blue); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-family: 'Montserrat-SemiBold'; letter-spacing: 0.08em; }
.main-ttl{ margin-top: -9px; padding: 0 0 58px; font-size: 28px; text-align: center; font-family: 'Noto-Sans-JP-Medium'; letter-spacing: 0.05em; }
.main-txt{ font-size: 28px; line-height: 2; font-family: 'Noto-Sans-JP-Regular'; letter-spacing: 0.05em; }
.text-color{ background: var(--gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.text-marker{ background: #fff; display: inline-block; padding: 10px 16px; }
.text-marker02{ background: #FFE47E; }
.text-marker03{ background: linear-gradient(transparent 60%, #FBFF95 50%); }


/* ------------------------------------------------------------ fv */
#fv{ position: relative; }
.fv__kv{ width: 100%; height: auto; }
.fv__content{ position: absolute; top: 0; left: 0; padding: 86px 0 0 5%; }
.fv__catch{ padding: 0 0 10px 10px; font-size: 28px; font-family: 'Noto-Sans-JP-Bold'; letter-spacing: 0.05em; }
.fv__ttl{ font-size: 68px; line-height: 1.4; }
.fv__ttl span{ font-family: 'LogoTypeGothic','yasashisa','Noto-Sans-JP-Medium'; letter-spacing: 0.05em; }
.fv__ttl span:first-of-type{ padding-right: 0; }
.fv__ttl .text-marker:last-of-type{ padding-right: 0;  }
.fv__subcatch{ padding: 0 0 37px 15px; }
.fv__subcatch p{ font-family: 'Noto-Sans-JP-Bold'; }
.fv__subcatch-top,
.fv__subcatch-btm{ padding: 35px 0 0; font-size: 26px; letter-spacing: 0.05em; }
.fv__subcatch-top{ line-height: 1.5; }
.fv__subcatch-top strong{ display: inline-block; margin: 0 -9px; padding: 5px 10px; font-size: 36px; font-family: 'Noto-Sans-JP-Bold'; }

.float-btn{ transition: all 0.8s; position: relative; left: 6%; width: 371px; }
.float-btn a{ display: flex; align-items: center; justify-content: center; gap: 22px; width: 100%; height: 82px; font-size: 30px; color: #fff; font-family: 'Noto-Sans-JP-Bold'; letter-spacing: 0.05em; background: var(--gradient); border-radius: 100px; }
.float-btn__icn{ position: relative; right: -3%; display: block; width: 46px; height: 46px; background: #fff; border-radius: 100%; }
.float-btn__icn:before{ position: absolute; content: ""; left: 50%; top: 45%; transform: translate(-50%,-50%) rotate(45deg); width: 18px; height: 18px; border-right: 4px solid #F88A6C; border-bottom: 4px solid #F88A6C; }

.float-btn.is-scroll{ z-index: 100; position: fixed; bottom: 5%; right: 5%; left: initial; }


/* ------------------------------------------------------------ story */
.story{ position: relative; }
.story{ position: relative; }
.story__head{ padding: 37px 0 0; }

.story__catch{ transform: rotate(-3deg); font-size: 31px; font-family: 'Noto-Sans-JP-Bold'; letter-spacing: 0.08em; }
.story__ttl{ width: 93%; margin: 50px auto 40px; text-align: center; }
.story__ttl strong{ display: block; padding: 10px; font-size: 50px; font-family: 'Noto-Sans-JP-Bold'; color: #fff; background: var(--gradient-re); letter-spacing: 0.05em; }

.comics{ z-index: 1; position: relative; padding: 0 0 84px; }
.comics__item{ display: block; width: 100%; height: auto; }
.comics__item:not(:last-of-type){ margin-bottom: 30px; }

.desc__comment{ position: relative; width: 969px; margin: 0 auto; display: flex; align-items: center; gap: 38px; position: relative; padding: 28px 85px 98px 47px; background: url(../images/contact/comment_01.png) center/100% 100% no-repeat; }

.desc__item{ width: 158px; height: auto; }
.desc__comment-ttl{ padding: 0 0 7px; font-size: 35px; font-family: 'Noto-Sans-JP-Bold'; letter-spacing: 0.05em; line-height: 1.5; }
.desc__comment-ttl strong{ font-family: 'Noto-Sans-JP-Bold'; letter-spacing: 0.05em; }
.desc__comment-txt{ font-size: 24px; font-family: 'Noto-Sans-JP-Medium'; line-height: 1.7; letter-spacing: 0.05em; }

.desc{ position: relative; padding: 0 0 81px; background: #fff; }
.desc:before{ position: absolute; content: ""; top: -23vh; left: 0; border-left: 50vw solid #fff; border-right: 50vw solid #fff; border-bottom: 15vh solid #fff; border-top: 15vh solid #FEF2C4; }
.desc:after{ position: absolute; content: ""; bottom: -39vh; left: 0; width: 100%; height: 40vh; background: #fff; clip-path: polygon(100% 0, 100% 40%, 50% 100%, 0 41%, 0 0); }

.desc__data{ padding: 80px 0 0; }
.desc__data-item{ width: 100%; height: auto; margin: 0 0 60px; }
.desc__data-title{ padding: 0 0 54px; font-family: 'Noto-Sans-JP-Bold'; letter-spacing: 0.08em; text-align: center; }
.desc__data-title strong{ padding: 0 20px; font-size: 40px; font-family: 'Noto-Sans-JP-Bold'; letter-spacing: 0.05em; background: #FBFF95; }
.desc__data-txt{ padding: 0 0 106px; text-align: center; }

.desc-btn{ width: 890px; margin: 0 auto; }
.desc-btn a{ position: relative; display: flex; align-items: center; width: 100%; height: 92px; padding: 10px 40px; background: var(--gradient); border-radius: 100px; letter-spacing: 0.05em; }
.desc-btn__ttl{ color: #fff; font-size: 30px; font-family: 'Noto-Sans-JP-Bold'; letter-spacing: 0.05em; }
.desc-btn__item{ position: absolute; right: 30px; bottom: 0; }
.desc-none:after{ display: none; }
 
.step{ padding: 80px 0 140px; border-top: 3px solid #000; }
.step__title{ padding: 0 0 57px; font-size: 33px; text-align: center; line-height: 1.5; font-family: 'Noto-Sans-JP-Medium'; letter-spacing: 0.08em; }
.step__title strong{ font-family: 'Noto-Sans-JP-Medium'; letter-spacing: 0.05em; }

.step__list{ display: flex; align-items: stretch; justify-content: space-between; padding: 0 45px; }
.step__item{ position: relative; display: flex; flex-direction: column; padding: 19px 65px 40px 40px; }
.step__head{ display: flex; align-items: center; gap: 16px; margin: 0 8px; padding: 0 0 16px; border-bottom: 1px solid #000; }
.step__num{ width: 75px; text-align: center; }
.step__num small{ display: block; font-size: 17px; font-family: 'Montserrat-SemiBold'; letter-spacing: 0.05em; }
.step__num strong{ display: block; font-size: 49px; font-family: 'Montserrat-SemiBold'; letter-spacing: 0.05em; }
.step__h{ width: calc(100% - 70px); font-size: 26px; line-height: 1.2; font-family: 'Noto-Sans-JP-Medium'; letter-spacing: 0.05em; }
.step__body{ padding: 23px 0 0; }
.step__text{ padding: 28px 0 0; font-size: 20px; letter-spacing: 0.05em; line-height: 1.6; letter-spacing: 0.05em; }
.step__icn{ display: block; margin: 0 auto; }

.step__item01{ z-index: 3; width: 355px;  margin-right: -15px; background: url(../images/contact/bg_step_01.png) right center/100% 100% no-repeat; }
.step__item02{ z-index: 2; width: 355px; margin-right: -15px; background: url(../images/contact/bg_step_02.png) right center/100% 100% no-repeat; }
.step__item03{ width: 320px; padding: 19px 40px 15px 40px; background: url(../images/contact/bg_step_03.png) right center/100% 100% no-repeat; }

.story02 .desc{ padding: 0 0 133px; }
.story02 .desc:before{ top: 0; }
.story02 .desc:after{ bottom: -14vh; height: 23vh; }
.story02 .desc__comment{ padding: 53px 85px 119px 47px; background-image: url(../images/contact/comment_02.png); }
.story02 .desc__comment-ttl{ padding: 0 0 14px; }
.story02 .desc__data{ padding: 71px 0 0; }
.story02 .desc__data-item{ margin: 0 0 68px; }
.story02 .desc__data-txt{ padding: 0 0 162px; }
.story02 .desc__data-title strong{ padding: 0 6px 0 15px; line-height: 1.7; }
.story02 .desc-btn{ width: 855px; }
.story02 .desc-btn a{ padding-left: 50px; }
.story02 .comics{ padding: 0 0 86px; }

.story03{ padding-top: 60px; }
.story03 .desc{ padding: 80px 0 117px; }
.story03 .desc:before{ top: -15vh; height: 29vh; }
.story03 .desc:after{ bottom: -31vh; height: 37vh; }
.story03 .desc__comment{ gap: 24px; padding: 32px 47px 109px 47px; background: url(../images/contact/comment_03.png) center / 100% 100% no-repeat; }
.story03 .desc__item{ width: 175px; }
.story03 .desc__data{ padding: 12px 0 0; }
.story03 .desc__data-title{ padding: 0 0 57px; }
.story03 .desc__data-txt{ padding: 0 0 92px; }
.story03 .desc-btn{ width: 787px; }
.story03 .desc-btn a{ justify-content: end; padding-right: 30px; }
.story03 .desc-btn__item{ left: 0; }

.story04 .desc{ padding-top: 35px; }
.story04 .desc,
.story04 .desc:before{ background: #FFFCF1; }
.story04 .desc:before{ top: -12vh; border-left: 50vw solid #FFFCF1; border-right: 50vw solid #FFFCF1; border-bottom: 15vh solid #FFFCF1; }
.story04 .desc-btn{ width: 787px; margin-top: 43px; }
.story04 .desc-btn a{ padding: 10px 48px; }
.story04 .story__catch{ margin-left: 80px; }
.story04 .comics{ padding: 0 0 218px; }


/* ------------------------------------------------------------ feature */
#feature{ padding: 20px 0 130px; background: #FFFCF1; }
.feature__cach{ padding: 0 0 100px; font-family: 'Noto-Sans-JP-Regular'; text-align: center; font-size: 26px; line-height: 1.7; letter-spacing: 0.05em; }

.feature__list{ display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 55px; }
.feature__item{ width: calc(100% / 2 - 53px); }
.feature__item img{ width: 100%; height: auto; }
.feature__content{ padding: 25px 0 0; }
.feature__ttl{ text-align: center; font-size: 31px; letter-spacing: 0.05em; }
.feature__ttl strong{ background: linear-gradient(transparent 60%, #FBFF95 50%); font-family: 'Noto-Sans-JP-Bold'; letter-spacing: 0.05em; }
.feature__txt{ padding: 35px 0 0; font-size: 24px; line-height: 1.6; font-family: 'Noto-Sans-JP-Regular'; letter-spacing: 0.05em; }


/* ------------------------------------------------------------ contact */
#contact { margin: 0 auto; padding: 140px 0 100px; background: #fff; }
#contact .intro { text-align: center; line-height: 2; margin: 0 auto 30px;}
#contact .caution {	font-size: 14px; text-align: center; margin: 0 0 25px;}


.contact__intro{ padding: 0 0 61px; }
.contact__intro .desc-btn{ width: 690px; }
.contact__intro .desc-btn a{ justify-content: end; padding-right: 100px; }
.contact__intro .desc-btn__item{ left: 10%; }

.desc-btn-aroow{ display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px; padding: 27px 0 0; }
.desc-aroow{ display: block; width: 84px; height: 43px; background: #FFB177; clip-path: polygon(50% 100%, 0 0, 100% 0); }
.desc-aroow:nth-of-type(2){ background: #F7846A; }

.line-btn{ width: 506px; margin: 0 auto 120px; }
.line-btn a{ display: flex; justify-content: center; align-items: center; gap: 17px; width: 100%; height: 98px; background: #04C755; border-radius: 100px; }
.line-btn__ttl{ font-size: 34px; font-family: 'Noto-Sans-JP-Bold'; color: #fff; }

.form{ width: 1100px; margin: 0 auto; padding: 53px 65px; background: linear-gradient(139deg,rgba(128, 186, 255, 1) 0%, rgba(196, 248, 255, 1) 100%); }
.form sup{ font-size: 1em; color: #FF0000; vertical-align: middle; }
.form__ttl{ padding: 0 0 32px; font-size: 38px; font-family: 'Noto-Sans-JP-Bold'; letter-spacing: 0.05em; text-align: center; }
.form__txt{ padding: 0 0 35px; font-size: 22px; text-align: center; line-height: 2.2; font-family: 'Noto-Sans-JP-Regular'; letter-spacing: 0.05em; }

.form-table{ width: 840px; margin: 0 auto; }
.form-table th{ width: 225px; text-align: left; }
.form-table th p{ padding: 15px 0; font-size: 18px; font-family: 'Noto-Sans-JP-Medium'; letter-spacing: 0.05em; }
.form-table th,
.form-table td{ padding: 0 0 27px; }
.form-table__flex{ display: flex; align-items: stretch; justify-content: space-between; }

.input-area{ width: 100%; padding: 13px 15px; font-size: 18px; font-family: 'Noto-Sans-JP-Medium';  letter-spacing: 0.05em; border: none!important; background: #fff; }
.input-area-half{ width: 49%; }

.checkbox-radio{ display: inline-block; margin: 20px 0 4px; position: relative; padding: 0 5px 0 20px; font-size: 18px; font-family: 'Noto-Sans-JP-Medium'; }
.checkbox-area{ display: none; }
.checkbox-radio:before { position: absolute; top: 3px; left: 0; width: 14px; height: 14px; border: 1px solid #6F7070; background: #fff; content: ""; border-radius: 100px; transition: all 0.3s; }
.checkbox-radio:after { position: absolute; top: 6px; left: 3px; width: 8px; height: 8px; background: #6F7070; border-radius: 100px; font-size: 14px; display: flex; align-items: center; justify-content: center; content: ""; opacity: 0; transition: all 0.3s; }
.checkbox-area:focus + span::before { box-shadow: 0 0 4px #ca353b; }
.checkbox-area:checked + span::after { opacity: 1; }

.textarea{ margin: 15px 0 0; }
.textarea-th{ vertical-align: top; }

.form__btns{ gap: 30px; display: flex; align-items: center; justify-content: center; margin-top: 13px; }
.form__btn{ display: flex; align-items: center; justify-content: center; font-size: 20px; font-family: 'Noto-Sans-JP-Medium'; width: 355px; height: 88px; }
.submit_btn{ transition: all 0.3s; color: #fff; background: #1B2C43; border: 1px solid #1B2C43; }
.submit_btn:hover{ color: #1B2C43; background: #fff; }


/* ------------------------------------------------------------ error */
#error { padding: 53px 65px; background: linear-gradient(139deg,rgba(128, 186, 255, 1) 0%, rgba(196, 248, 255, 1) 100%); }
#error h3 { font-size: 32px; text-align: center; margin: 0 0 40px; padding: 0 0 30px;}
#error .caution { font-size: 16px; text-align: center; margin: 0 0 40px;}
#error .alert { margin: 0 0 50px;}
#error .alert span { display: block; text-align: center; margin: 0 0 20px;}

.form__btns .back_btn{font-family: 'Noto-Sans-JP-Medium',sans-serif; font-size: 20px;line-height: 160%;text-align: center; color: #fff; background: #D0D0D0; padding: 27px 0; transition: 0.5s;border: 1px solid #D0D0D0; transition: 0.5s;}
.form__btns .back_btn:hover{color: #D0D0D0; background: #fff;transition: 0.5s;}



/* ------------------------------------------------------------ confirm */
#confirm { background: linear-gradient(139deg,rgba(128, 186, 255, 1) 0%, rgba(196, 248, 255, 1) 100%); }
#confirm h3 { font-size: 32px; text-align: center; margin: 0 0 40px; padding: 0 0 30px;}
#confirm .caution { font-size: 16px; text-align: center; margin: 0 0 40px;}
#confirm table { width: 100%; margin: 0 0 50px;}
#confirm table tr {	border-bottom: solid 1px #e5e5e5;}
#confirm table tr:first-of-type { border-top: solid 1px #e5e5e5;}
#confirm table tr th { width: 180px; line-height: 1.5; font-weight: bold; text-align: left; padding: 20px 0;}
#confirm table tr td { line-height: 1.5; padding: 20px 0;}
#confirm .btns { display: flex; justify-content: center;}
#confirm .btns .submit_btn { margin: 0 0 0 20px;}
#confirm .btns .back_btn { }
#confirm .btns .back_btn a { display: inline-block;}


/* ------------------------------------------------------------ thanks */
#thanks { margin: 50px 0 100px; }
#thanks h3 { font-size: 32px; text-align: center; margin: 0 0 40px; padding: 0 0 30px; border-bottom: solid 1px #d4b77a; }
#thanks .caution { font-size: 16px; text-align: center; line-height: 1.7; margin: 0 0 30px; }
#thanks small { display: block; font-size: 14px; text-align: center; line-height: 2; margin: 0 0 40px; }




/* ------------------------------------------------------------ mobile */

@media only screen and (max-width:768px) {
	
	
/* ------------------------------------------------------------ common */
	#wrapper{ padding: 65px 0 0; }
	.c-inner{ width: 90%; }
	footer{ padding-bottom: 100px!important; }
	
	.main-ttl { padding: 5px 0 36px; font-size: 15px; line-height: 1.3; }
	.main-enttl{ width: 90%; margin-top: 0; line-height: 1.3; font-size: 50px; text-align: center; }
	.main-txt{ font-size: 14px; letter-spacing: 0; }
	.text-marker{ padding: 5px 13px; }
	
	
/* ------------------------------------------------------------ fv */
	#fv{ padding: 0; }
	.fv__content{ position: absolute; top: 0; left: 0; width: 100%; padding: 30px 5%; }
	.fv__ttl{ font-size: 29px; line-height: 1.4; }
	.fv__catch{ font-size: 16px; }
	
	.fv__subcatch { padding: 0; }
	.fv__subcatch-top { padding: 7px 0 0; font-size: 15px; }
	.fv__subcatch-btm { padding: 15px 0 0; font-size: 14px; }
	.fv__subcatch-top strong { margin: 0; padding: 0 3px; font-size: 19px; line-height: 1.4; }
	.fv__subcatch-top { line-height: 1.7; }
	
	.float-btn{ display: none; }
	.float-btn.is-scroll{ display: block; transform: translate(-50%,0); left: 50%; bottom: 2%; }
	
	.float-btn a { width: 99%; height: 66px; font-size: 24px; }
	.float-btn { position: fixed; width: 80%; margin-left: 0; bottom: 10px; left: 50%; transition: tra; transform: translate(-50%,0); z-index: 100; }
	.float-btn__icn { width: 40px; height: 40px; }
	.float-btn__icn::before { top: 43%; width: 15px; height: 15px; }


/* ------------------------------------------------------------ story */
	.story__catch { font-size: 21px; }
	.story__ttl{ width: 100%; margin: 15px auto 25px; }
	.story__ttl strong{ margin: 5px 0; font-size: 26px; display: inline-block; }
	
	.comics{ padding: 0 0 50px; }
	.comics__item:not(:last-of-type){ margin-bottom: 10px; }
	
	.desc{ padding: 0 0 40px; }
	.desc:before{ top: -11vh; border-bottom: 8vh solid #fff; border-top: 8vh solid #FEF2C4; }
	.desc:after{ bottom: -16vh; height: 18vh; }
	.desc-btn{ width: 100%; }
	.desc__item{ width: 135px; margin: 28px auto 21px; }
	.desc__comment{ width: 100%; padding: 30px 30px 72px 20px; background: url(../images/contact/comment_01-sp.png) center / 100% 100% no-repeat; }
	.desc__comment-ttl{ padding: 0; font-size: 24px; text-align: center; }
	.desc__comment-txt{ font-size: 14px; line-height: 2; }
	
	.desc__data{ padding: 10px 0 0; }
	.desc__data-item{ margin: 0 0 24px; }
	.desc__data-caption{ padding: 0 0 32px; }
	.desc__data-caption p{ font-size: 12px; line-height: 1.7; }
	.desc__data-caption p:not(:first-of-type){ text-indent: 2.3rem; }
	.desc__data-title{ padding: 0 0 19px; }
	.desc__data-title strong{ display: inline-block; margin: 5px 0; padding: 8px 18px; font-size: 22px; line-height: 1; }
	.desc__data-txt{ padding: 0 0 55px; text-align: left; }
	
	.desc-btn__item{ right: 15px; width: 110px; }
	.desc-btn__ttl { font-size: 15px; line-height: 1.3; width: 69%; text-align: center; }
	.desc-btn a { height: 68px; padding: 10px 30px; }
	
	.step { padding: 40px 0 69px; border-width: 1px; }
	.step__title{ padding: 0 0 41px; text-align: left; font-size: 20px; }
	.step__list{ flex-direction: column; padding: 0; }
	.step__num small{ font-size: 16px; }
	
	.step__num strong{ font-size: 40px; }
	.step__h{ width: auto; font-size: 24px; line-height: 1.5; }
	.step__head{ justify-content: center; gap: 15px; padding: 0 0 19px; }
	.step__list{ padding: 0; }
	.step__item{ padding: 32px 30px 70px; }
	.step__text{ padding: 30px 0 0; font-size: 18px; line-height: 1.7; }
	.step__icn{ width: 95px; height: auto; }
	
	.step__item01{ width: 100%; margin-bottom: -29px; margin-right: 0; background: url(../images/contact/bg_step_01-sp.png) center bottom/100% 100% no-repeat; }
	.step__item02 { width: 100%; margin-bottom: -35px; margin-right: 0; padding: 52px 30px 71px; background: url(../images/contact/bg_step_02-sp.png) center bottom/100% 100% no-repeat; }
	.step__item03 { width: 100%; padding: 52px 30px 62px; background: url(../images/contact/bg_step_03-sp.png) center bottom/100% 100% no-repeat; }
	
	.story02 .desc{ padding: 0 0 30px; }
	.story02 .desc:before { top: -12vh; }
	.story02 .desc:after { bottom: -11vh; height: 13vh; }
	.story02 .desc__data{ padding: 17px 0 0; }
	.story02 .desc__item{ margin: 9px auto 18px; }
	.story02 .desc__comment{ padding: 30px 30px 65px 20px; background-image: url(../images/contact/comment_02-sp.png); }
	.story02 .desc__data-item{ margin: 0 0 38px; }
	.story02 .desc__data-title strong{ letter-spacing: 0; padding: 8px; line-height: 1; }
	.story02 .desc__data-title strong:last-of-type{ display: block; }
	.story02 .desc__data-txt{ padding: 0 0 50px; }
	.story02 .desc-btn{ width: 100%; }
	.story02 .desc-btn a{ padding-left: 25px; }
	.story02 .comics{ padding: 0 0 54px; }
	.story02 .desc-btn__item{ right: 30px; width: 95px; }
	
	.story03{ padding-top: 46px; }
	.story03 .desc{ padding: 27px 0 40px; }
	.story03 .desc:before{ top: -11vh; }
	.story03 .desc:after{ bottom: -8vh; height: 9vh; }
	.story03 .desc-btn{ width: 100%; }
	.story03 .desc__data-txt{ padding: 0 0 35px; }
	.story03 .desc__item{ width: 150px; margin: 13px auto 10px; }
	.story03 .desc__comment{ padding: 24px 30px 70px 20px; background-image: url(../images/contact/comment_03-sp.png); }
	.story03 .desc__data{ padding: 30px 0 0; }
	.story03 .desc__data-item{ margin: 0 0 10px; }
	.story03 .desc__data-title{ padding: 0 0 19px; }
	.story03 .desc-btn a{ padding-right: 0; }
	.story03 .desc-btn__item{ width: 148px; }
	
	.story04{ padding: 45px 0 0; }
	.story04 .desc{ padding: 30px 0 40px; }
	.story04 .desc::before{ top: -8vh; border-bottom: 6vh solid #FFFCF1; border-left: 50vw solid #FFFCF1; border-right: 50vw solid #FFFCF1; }
	.story04 .desc-btn{ width: 100%; margin-top: 23px; }
	.story04 .desc-btn__item{ width: 144px; }
	.story04 .desc-btn__ttl{ width: 55%; }
	.story04 .comics { padding: 0 0 100px; }
	.story04 .story__catch{ margin-left: 0; font-size: 19px; }
	.story04 .story__catch img{ width: 204px; }
	.story04 .desc-btn a{ padding: 10px 8px; }
	.story04 .desc-btn__ttl { width: 60%; }


/* ------------------------------------------------------------ feature */
	#feature{ padding: 20px 0; }
	.feature__cach { padding: 0 0 45px; text-align: left; font-size: 15px; }
	.feature__list { flex-direction: column; }
	.feature__item { width: 100%; }
	.feature__ttl { font-size: 23px; }
	.feature__txt { padding: 24px 0 0; line-height: 1.7; font-size: 16px; }
	.feature__content { padding: 35px 5% 0; }


/* ------------------------------------------------------------ contact */
	#contact { padding: 100px 0 0; }
	.contact__intro .desc-btn{ width: 100%; }
	.contact__intro .desc-btn a{ padding-right: 0; }
	.contact__intro .desc-btn__ttl{ width: 77%; }
	.contact__intro .desc-btn__item{ width: 100px; height: auto; }
	
	.line-btn{ width: 100%; margin: 0 auto 60px; }
	.line-btn a { height: 67px; }
	.line-btn img{ width: 55px; }
	.line-btn__ttl { font-size: 22px; }

	.desc-btn-aroow { gap: 14px; padding: 29px 0 0; }
	.desc-aroow { width: 72px; height: 36px; }
	.contact__intro { padding: 0 0 55px; }
	
	.form { width: 100%; padding: 40px 5% 80px; }
	.form-table{ width: 100%; }
	.form-table tr{ display: flex; flex-direction: column; }
	.form__ttl { padding: 0 0 20px; font-size: 25px; }
	.form__txt { padding: 0 0 10px; font-size: 12px; text-align: left; line-height: 2; }
	.form sup { font-size: 1em; }
	.form-table th, 
	.form-table td { padding: 0 0 7px; }
	.form-table th { width: 100%; padding: 12px 0 9px; }
	.form-table th p { padding: 0; font-size: 14px; }

	.input-area { padding: 9px 10px; font-size: 16px; }
	.checkbox-radio { margin: 5px 0 15px; padding: 0 10px 0 20px; font-size: 14px; }
	.checkbox-radio::before { top: 1px; }
	.checkbox-radio::after { top: 4px; }
	.textarea-th{ vertical-align: middle; }
	.textarea{ height: 315px; margin-top: 15px; }

	.form__btns{ margin: 34px 0 0; }
	.form__btn{ font-size: 18px; width: 80%; height: 63px; }


/* ------------------------------------------------------------ error */
	#error h3 { font-size: 22px; margin: 0 0 25px; padding: 0 0 20px; }
	#error .caution { font-size: 14px; line-height: 1.7; margin: 0 0 40px; }
	#error .alert { margin: 0 0 50px; }
	#error .alert span { font-size: 14px; margin: 0 0 20px; }

/* ------------------------------------------------------------ confirm */
	#confirm h3 { font-size: 22px; margin: 0 0 25px; padding: 0 0 20px; }
	#confirm .caution { font-size: 14px; line-height: 1.7; margin: 0 0 40px; }
	#confirm table { display: block; width: 100%; margin: 0 0 50px; }
	#confirm table tbody { display: block; }
	#confirm table tr { display: block; }
	#confirm table tr th { display: block; width: 100%; font-size: 14px; padding: 15px 0 5px; }
	#confirm table tr td { display: block; font-size: 14px; line-height: 1.5; padding: 0 0 15px; }
	#confirm .btns { display: block; }
	#confirm .btns .submit_btn { margin: 15px 0 0; }
	
/* ------------------------------------------------------------ thanks */
	#thanks { margin: 30px 0 70px; }
	#thanks h3 { font-size: 22px; margin: 0 0 25px; padding: 0 0 20px; }
	#thanks .caution { font-size: 14px; line-height: 1.7; margin: 0 0 20px; }
	#thanks small { font-size: 12px; line-height: 2; text-align: left; margin: 0 0 30px; }
	
	
}