@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Noto+Sans+JP:wght@100..900&display=swap');
@font-face {
	font-family: "DIN Bold";
	src: url("fonts/din-bold.eot");
	src: url("fonts/din-bold.eot?#iefix")format("embedded-opentype"),
	url("fonts/din-bold.woff2")format("woff2"),
	url("fonts/din-bold.woff")format("woff"),
	url("fonts/din-bold.ttf")format("truetype"),
	url("fonts/din-bold.svg#DIN Bold")format("svg");
}


/*reset*/
/*******************************************************************/
html{box-sizing:border-box;overflow-y:scroll;-webkit-text-size-adjust:100%}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}audio:not([controls]){display:none;height:0}hr{overflow:visible}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}summary{display:list-item}small{font-size:80%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=number]{width:auto}[type=search]{-webkit-appearance:textfield;appearance:textfield}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:0;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button;appearance:button}button,select{text-transform:none}button,input,select,textarea{background-color:transparent;border-style:none;color:inherit}select{-moz-appearance:none;-webkit-appearance:none;appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}img{width:auto;max-width:100%;height:auto;border-style:none;vertical-align:middle}i{vertical-align:middle}progress{vertical-align:baseline}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}ul,ol{list-style:none}i,em{font-style:normal}
html.has-scroll-smooth { overflow: hidden; position: fixed; left: 0; right: 0; top: 0; bottom: 0;}
a { color: #222; text-decoration: none;}
@media only screen and (min-width: 769px){ a { transition: all .2s ease-out;} a:hover { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); opacity: 0.6;}}
*:focus { outline: none;}


/*LAYOUT*/
/*******************************************************************/
html { font-size: 62.5%;}
body { -webkit-text-size-adjust: 100%; touch-action: manipulation; font-family: "Noto Sans JP", sans-serif; font-size: clamp(1.3rem,1.5vw,1.5rem); word-break: normal; color: #222;}
#container { position: relative; width: 100%; overflow: clip;}
i, time, .en { font-family: "DIN Bold"; font-weight: 700; line-height: 1; vertical-align: baseline;}


/*HEADER*/
/*******************************************************************/
.logo { position: absolute; top: 8px; left: 8px; width: 65px; mix-blend-mode: multiply; z-index: 100;}
.h-btn { position: absolute; top: 0; right: 0; z-index: 100;}
.h-btn a { display: flex; justify-content: center; align-items: center; gap: 16px; width: 248px; height: 50px; background: #1C1F89; border-bottom-left-radius: 13px; box-shadow: 0 5px 0 #4D50AF; font-size: 2.2rem; font-weight: 700; color: #FBE74D;}
@media only screen and (max-width: 1000px){
	.logo { width: 54px;}
	.h-btn a { gap: 8px; width: 151px; height: 32px; font-size: 1.4rem;}
	.h-btn a img { width: 16px;}
}


/*FOOTER*/
/*******************************************************************/
#footer { padding: 24px; text-align: center;}
.copyright { font-size: clamp(1.2rem,1.5vw,1.5rem); font-weight: 400; color: #777777;}


/*CONTENTS*/
/*******************************************************************/
article { position: relative; padding: 80px 0;}
article header { opacity: 0; position: relative; width: 90%; max-width: 1000px; margin: 0 auto 40px;}
section { opacity: 0; position: relative; width: 90%; max-width: 1000px; margin: 0 auto;}
section + section { margin-top: 40px;}
.tight { max-width: 500px;}
.narrow { max-width: 900px;}
.wide { max-width: 1144px;}
h2 { margin-bottom: 0.5em; line-height: 1.4;}
h3 { margin-bottom: 0.5em; line-height: 1.4;}
h4 { margin-bottom: 0.5em; line-height: 1.4;}
.title { display: flex; flex-direction: column; align-items: center; gap: 1em; text-align: center;}
.title i { font-size: clamp(6rem,8vw,8rem); text-transform: uppercase; color: #1C1F89;}
.title h2 { margin: 0; font-size: clamp(1.8rem,2.8vw,2.8rem); font-weight: 900;}
p, dl, ul, ol { line-height: 2;}
.bg { background: #F5F5F5;}
.btn { margin-top: 40px;}
.btn a { display: flex; justify-content: center; align-items: center; gap: 16px; max-width: 700px; min-height: 90px; margin: 0 auto; padding: 8px; text-align: center; background: linear-gradient(0deg,rgba(251, 211, 77, 1) 0%, rgba(255, 239, 121, 1) 100%); border-radius: 12px; box-shadow: 0 5px 10px rgba(0,0,0,.16), inset 6px -6px 10px rgba(0,0,0,0.16); font-size: 2.4rem; font-weight: 900; color: #724228;}
.btn a em { font-size: 3.5rem;}
.center { text-align: center!important;}
@media only screen and (min-width: 1001px){ .pc-center { text-align: center;}}
.right { text-align: right!important;}
.left { text-align: left;}
.mt8 { margin-top: 8px !important;}
.mt16 { margin-top: 16px !important;}
.mt24 { margin-top: 24px !important;}
.mt32 { margin-top: 32px !important;}
.mt40 { margin-top: 40px !important;}
.mt48 { margin-top: 48px !important;}
.mt56 { margin-top: 56px !important;}
.mt64 { margin-top: 64px !important;}
.mt72 { margin-top: 72px !important;}
.mt80 { margin-top: 80px !important;}
.mt160 { margin-top: 160px !important;}
.fs11 { font-size: clamp(0.9rem,1.1vw,1.1rem) !important;}
.fs12 { font-size: clamp(1.0rem,1.2vw,1.2rem) !important;}
.fs13 { font-size: clamp(1.1rem,1.3vw,1.3rem) !important;}
.fs14 { font-size: clamp(1.2rem,1.4vw,1.4rem) !important;}
.fs15 { font-size: clamp(1.3rem,1.5vw,1.5rem) !important;}
.fs16 { font-size: clamp(1.4rem,1.6vw,1.6rem) !important;}
.fs18 { font-size: clamp(1.5rem,1.7vw,1.8rem) !important;}
.fs20 { font-size: clamp(1.6rem,1.8vw,2.0rem) !important;}
.fs22 { font-size: clamp(1.7rem,1.9vw,2.2rem) !important;}
.fs24 { font-size: clamp(1.8rem,2.0vw,2.4rem) !important;}
.fs26 { font-size: clamp(1.9rem,2.1vw,2.6rem) !important;}
.fs28 { font-size: clamp(2.0rem,2.2vw,2.8rem) !important;}
.fs30 { font-size: clamp(2.1rem,2.3vw,3.0rem) !important;}
.fs32 { font-size: clamp(2.2rem,2.4vw,3.2rem) !important;}
.fs34 { font-size: clamp(2.3rem,2.5vw,3.4rem) !important;}
.fs36 { font-size: clamp(2.4rem,2.6vw,3.6rem) !important;}
.fs38 { font-size: clamp(2.5rem,2.7vw,3.8rem) !important;}
.fs40 { font-size: clamp(2.6rem,2.8vw,4.0rem) !important;}
.fs42 { font-size: clamp(2.7rem,2.9vw,4.2rem) !important;}
.fs44 { font-size: clamp(2.8rem,3.0vw,4.4rem) !important;}
.fs46 { font-size: clamp(2.9rem,3.1vw,4.6rem) !important;}
.fs48 { font-size: clamp(3.0rem,3.2vw,4.8rem) !important;}
.fs50 { font-size: clamp(3.1rem,3.3vw,5.0rem) !important;}
.fs52 { font-size: clamp(3.2rem,3.4vw,5.2rem) !important;}
.fs54 { font-size: clamp(3.3rem,3.5vw,5.4rem) !important;}
.fs56 { font-size: clamp(3.4rem,3.6vw,5.6rem) !important;}
.fs58 { font-size: clamp(3.5rem,3.7vw,5.8rem) !important;}
.fs60 { font-size: clamp(3.6rem,3.8vw,6.0rem) !important;}
.fs62 { font-size: clamp(3.7rem,3.9vw,6.2rem) !important;}
.fs64 { font-size: clamp(3.8rem,4.0vw,6.4rem) !important;}
.fs72 { font-size: clamp(4.0rem,7.2vw,7.2rem) !important;}
.fs76 { font-size: clamp(4.1rem,7.6vw,7.6rem) !important;}
.fs80 { font-size: clamp(4.2rem,8.0vw,8.0rem) !important;}
.fs96 { font-size: clamp(4.2rem,7.2vw,9.6rem) !important;}
.fs128 { font-size: clamp(8.0rem,10vw,12.8rem) !important;}
.fs200 { font-size: clamp(8.0rem,10vw,200rem) !important;}
.light { font-weight: 300;}
.regular { font-weight: 400;}
.medium { font-weight: 500;}
.semi-bold { font-weight: 600;}
.bold { font-weight: 700;}
.black { font-weight: 900;}
.ls { letter-spacing: 0.1em;}
.lh { line-height: 2;}
.vertical { writing-mode: vertical-rl;}
.vertical-bottom { vertical-align: baseline;}
.white { color: #FFF !important;}
.blue { color: #1C1F89 !important;}
.coral { color: #E94F48 !important;}
.yellow { color: #FBE74D !important;}
.marker { display: inline; padding: 0 1px 5px; background: linear-gradient(transparent 60%, #F6F68F 0%);}
.underline { text-decoration: underline!important;}
.sp { display: none;}
.fadeInUp { animation-name: fadeInUp;}
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 30px, 0);} to { opacity: 1; transform: translate3d(0, 0, 0);} }
.animated { opacity: 0; animation-duration: 1s; animation-fill-mode: both;}

.cta { text-align: center; background: #1C1F89 url(../img/arrow.svg) center top no-repeat; background-size: 100% auto; color: #FFF;}
.cta p { margin-bottom: 1em;}
.cta::before { content: ''; position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); width: 67px; height: 67px; background: url(../img/complain.svg) center no-repeat; background-size: contain;}
.cta-swiper { margin-top: 40px;}
.cta-swiper .swiper-wrapper { transition-timing-function: linear;}
.cta-swiper .swiper-slide { display: flex; justify-content: center; align-items: center; width: 240px; height: 80px; background: #FFF; border-radius: 8px;}
.cta-swiper .swiper-slide img { width: 80%; height: 80%; object-fit: contain;}
.tel a { display: block; margin: 24px 0 8px; font-family: "Figtree", sans-serif; font-weight: 700; color: #FFF;}

#mv { padding: 50px 100px; background: url(../img/mask.webp) left top no-repeat, url(../img/mv_bg.webp) center no-repeat; background-size: 20% auto, cover;}
#mv section { width: 100%; max-width: 1920px; display: grid; grid-template-columns: 1fr 50%; align-items: center; gap: 8px 40px;}
#mv figure { order: 1;}
#mv img { width: 100%;}

#problem { padding: 100px 0 160px; background: url(../img/problem_bg03.webp) center bottom no-repeat, url(../img/problem_bg02.webp) center top no-repeat, url(../img/problem_bg01.webp) center top no-repeat; background-size: 100% auto, cover, 100% auto;}
#problem::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: #FFF; z-index: 10;}
.problem-title { position: relative; margin-bottom: 50px; padding: 24px; background: #E94F48; border-radius: 12px; text-align: center; color: #FFF;}
.problem-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translate(-50%,100%); width:0; height:0; border-style:solid; border-width: 20px 18px 0 18px; border-color: #E94F48 transparent transparent transparent;}
.problem-title p { padding-top: 16px; border-top: 1px solid #FFF;}
.problem-list { display: grid; gap: 50px;}
.problem-list li { position: relative; display: flex; align-items: center; height: 100px; padding: 8px 170px 8px 32px; background: #FFF; border-radius: 100px;}
.problem-list li figure { position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 140px;}
.problem-list li:nth-child(even) { padding-right: 32px; padding-left: 170px;}
.problem-list li:nth-child(even) figure { right: auto; left: 0;}

#function { background: #1C1F89; border-radius: 60px 60px 0 0;}
#function::before { content: ''; position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); width: 93px; height: 121px; background: url(../img/logomark.webp) center no-repeat; background-size: contain;}
.function01, .function02 { padding-top: 40px; background: #FFF; border: 4px solid #FBE74D; border-radius: 20px;}
.function02 { border-color: #E94F48;}
.function-list { margin-top: 40px;}
.function-list > li { position: relative; display: grid; grid-template-columns: 1fr 24%; align-items: center; gap: 16px 40px; padding: 48px; border-top: 1px solid #CCC;}
.function-list > li.wide { grid-template-columns: 1fr 32%;}
.function-list i { position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); padding: 0.2em 1.5em; background: #FBE74D; border-radius: 40px;}
.function02 .function-list i { background: #E94F48; color: #FFF;}
.star { margin: 0.5em 0;}
.star li { padding-left: 1.5em; text-indent: -1.5em;}
.star li::before { content: '★'; margin-right: 0.5em; color: #E94F48;}

#about .function-list > li { grid-template-columns: 1fr 31%; padding: 0; border-top: none;}

#achievement { padding-bottom: 160px; background: url(../img/achievement_bg.webp) center bottom no-repeat; background-size: cover;}
#achievement header p { display: inline-block; padding: 0 0.5em; background: #1C1F89; color: #FFF;}
.achievement-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px;}
.achievement-list li { background: #FFF; border: 1.5px solid #263238; border-radius: 20px;}
.achievement-list h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 0; padding: 8px 24px; border-bottom: 1.5px solid #263238;}
.achievement-list h3 span { padding: 0 1em; border: 1px solid #CCC; color: #555;}
.achievement-list p { padding: 8px 24px;}

#merit { margin-top: 180px; background: #FBE74D; border-radius: 60px 60px 0 0;}
#merit::before { content: ''; position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); width: 93px; height: 121px; background: url(../img/logomark.webp) center no-repeat; background-size: contain;}
#merit .deco { position: absolute; top: 0; left: 50%; transform: translate(-50%,-100%); font-size: clamp(13.5rem,27vw,27rem); line-height: 0.8; opacity: 0.03; z-index: -1; white-space: nowrap;}
.merit-list > li { position: relative; display: grid; grid-template-columns: 17% 1fr; gap: 16px 40px; margin-top: 50px; padding: 48px; background: #FFF; border: 2px solid #222222; border-radius: 20px;}
.merit-list i { position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); padding: 0.2em 1.5em; background: #222222; border-radius: 40px; color: #FFF;}
.merit-list figure { margin-top: 24px;}
.merit-list h4 { display: inline-block; padding: 0 1em; border: 1px solid #CCC; color: #555;}
.merit-list h4.alt { border-color: #E94F48; color: #E94F48;}

#plan { background: #FBFBFB;}
.plan-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px;}
.plan-list > li { padding: 32px; background: #FFF; border: 3px solid #222; border-radius: 20px;}
.plan-list p { padding: 0.5em 0; border-top: 1px solid #222; border-bottom: 1px solid #222; line-height: 1.4;}
.plan { display: flex; flex-direction: column; align-items: center;}
.sub01 { display: inline-block; padding: 0.1em 1.5em; background: #FBE74D;}
.sub02 { position: relative; display: inline-block; margin-bottom: 40px; padding: 0.3em 1.5em; background: #1C1F89; border-radius: 8px; color: #FFF;}
.sub02::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translate(-50%,100%); width:0; height:0; border-style:solid; border-width: 16px 14px 0 14px; border-color: #1C1F89 transparent transparent transparent;}
.star { margin: 0.5em 0;}
.disc li { padding-left: 1.5em; text-indent: -1.5em;}
.disc li::before { content: '●'; position: relative; transform-origin: center top; transform: scale(0.8); display: inline-block; margin-right: 0.5em; font-size: 1rem; color: #1C1F89;}
.disc.alt li::before { color: #E94F48;}

#flow { background: #263238;}
.flow-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px;}
.flow-list li { position: relative; padding: 20px; background: #FFF; border-radius: 20px;}
.flow-list li:not(:last-child)::after { content: ''; position: absolute; top: 50%; right: 0; transform: translate(100%,-50%); width:0; height:0; border-style:solid; border-width: 35px 0 35px 12px; border-color: transparent transparent transparent #FBE74D;}
.flow-list figure { position: relative; margin-bottom: 24px; text-align: center;}
.flow-list figcaption { position: absolute; top: 0; left: 0; transform-origin: left top; transform: rotate(90deg) translateY(-100%);}

.faq ul { display: grid; gap: 20px}
.faq li { background: #FFF; border: 2px solid #222; border-radius: 20px; overflow: hidden;}
.faq h3 { position: relative; margin-bottom: 0; padding: 16px 32px 16px 80px; font-size: clamp(1.6rem,1.8vw,1.8rem); font-weight: 700; cursor: pointer;}
.faq h3::before { content: 'Q'; position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; width: 60px; height: 100%; background: #E94F48; font-family: "Figtree", sans-serif; font-size: clamp(2em,3.2vw,3.2rem); font-weight: 600; color: #FFF;}
.faq h3::after { content: '+'; position: absolute; top: 50%; right: 16px; transform: translateY(-50%); font-size: 2rem; font-weight: 700; color: #768288;}
.faq h3.on::after { content: '-';}
.faq .contents { position: relative; display: none; padding: 16px 16px 16px 80px; border-top: 1px solid #222;}
.faq .contents::before { content: 'A'; position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; width: 60px; height: 100%; max-height: 64px; background: #CCCCCC; border-bottom-right-radius: 18px; font-family: "Figtree", sans-serif; font-size: clamp(2em,3.2vw,3.2rem); font-weight: 600; color: #FFF;}

#contact { background: #FAFAFA;}
.form dl { display: grid; grid-template-columns: auto 1fr; gap: 32px 40px; margin: 40px 0;}
.form dt { padding-top: 6px; text-align: left; font-size: 1.8rem; font-weight: 700;}
.form input:not([type="submit"]) { display: inline-block; width: 100%; padding: 8px; background: #FFF; border: 1px solid #CCC; border-radius: 5px; vertical-align: middle; font-size: 18px; color: #1F1F1F;}
.form textarea:read-only, .form input[type="text"]:read-only { background: #F4F4F4!important;}
.form select { padding: 8px 40px 8px 8px; background: #FFF url(../img/select.svg) right 16px center no-repeat; border: 1px solid #CCC; border-radius: 5px; font-size: 18px;}
.form textarea { width: 100%; min-height: 240px; padding: 8px; background: #FFF; border: 1px solid #CCC; border-radius: 5px; color: #1F1F1F; font-size: 18px;}
.form label { display: inline-block;}
.form input[type="checkbox"] { display: none;}
.form input[type="checkbox"] + span { position: relative; display: inline-block; padding: 16px 0 16px 40px; line-height: 1; cursor: pointer;}
.form input[type="checkbox"] + span::before { content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 30px; height: 30px; background: #FFF; border: 1px solid #CCC; border-radius: 5px;}
.form input[type="checkbox"] + span::after { content: ''; position: absolute; top: 50%; left: 9px; transform: translateY(-50%) rotate(-45deg); width: 12px; height: 5px; border-left: 2px solid #CCC; border-bottom: 2px solid #CCC;}
.form input[type="checkbox"]:checked + span::before { background: #1C1F89;}
.form input[type="checkbox"]:checked + span::after { border-color: #FFF;}
.form input[type="radio"] { display: none;}
.form input[type="radio"] + span { position: relative; display: inline-block; margin-right: 24px; padding-left: 28px; vertical-align: middle; line-height: 2;}
.form input[type="radio"] + span::before { content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); display: block; width: 24px; height: 24px; background: #FFF; border: 2px solid #B3B3B3; border-radius: 50%;}
.form input[type="radio"]:checked + span::before { background-color: #FFF;}
.form input[type="radio"]:checked + span::after { content: ''; position: absolute; top: 50%; left: 5px; transform: translateY(-50%); display: block; width: 14px; height: 14px; background: #DD543F; border-radius: 50%;}
.form ::-webkit-input-placeholder { font-size: clamp(1.4rem,1.8vw,1.8rem); font-weight: 400; color: #CCCCCC;}
.form ::-moz-placeholder { font-size: clamp(1.4rem,1.8vw,1.8rem); font-weight: 400; color: #CCCCCC;}
.form :-ms-input-placeholder { font-size: clamp(1.4rem,1.8vw,1.8rem); font-weight: 400; color: #CCCCCC;}
.form .inputTextShort { width: 50% !important;}
.form .inputTextShortest { width: 20% !important;}
.must { margin-left: 16px; padding: 4px 12px; background: #90251F; font-size: 1.2rem; color: #FFF; white-space: nowrap;}
.any { margin-left: 16px; padding: 4px 12px; background: #FFEFE0; border-radius: 40px; font-size: 1.3rem; color: #E47428; white-space: nowrap;}
.privacy { height: 240px; padding: 24px; border: 1px solid #DDDDDD; overflow: auto;}
.submit { clear: both; position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px; width: 80%; max-width: 400px; margin: 24px auto 0; text-align: center;}
.submit input[type="submit"] { width: 100%; max-width: 180px; min-height: 60px; padding: 0.5em 1em; background: #1C1F89; background: linear-gradient(0deg, rgba(28, 31, 137, 1) 0%, rgba(62, 65, 163, 1) 100%); border-radius: 12px; box-shadow: 0 5px 10px rgba(0,0,0,.16), inset 6px -6px 10px rgba(0,0,0,0.16); font-size: 1.8rem; font-weight: 700; color: #FFF;}
.submit input[type="button"] { position: relative; display: flex; justify-content: center; align-items: center; gap: 8px; width: 100%; padding: 0.6em 2em; text-align: center; background: #1F1F1F; border: 2px solid #1F1F1F; border-radius: 0; font-size: clamp(1.8rem,2.0vw,2.4rem); font-weight: 700; color: #FFF; transition: .2s ease-out;}
.form .name, .form .shop { display: flex; align-items: center; gap: 16px;}

#company table { width: 100%; border-collapse: collapse;}
#company tr { border-bottom: 1px solid #CCCCCC;}
#company th { padding: 16px 40px 16px 0; text-align: left; vertical-align: top; font-weight: 400; white-space: nowrap;}
#company td { padding: 16px 0;}






@media only screen and (max-width: 1023px){
article { padding: 48px 0;}
section + section { margin-top: 48px;}
.btn a { gap: 8px; min-height: 60px; border-radius: 12px; font-size: 1.5rem; line-height: 1.2;}
.btn a em { font-size: 2.2rem;}
.btn a img { width: 19px;}
.sp { display: block;}
.pc { display: none;}

.cta::before { width: 54px; height: 54px;}
.cta-swiper .swiper-slide { width: 135px; height: 50px;}

#mv { padding: 15px 6% 48px; background-image: url(../img/mask.webp), url(../img/mv_bg_sp.webp);}
#mv section { grid-template-columns: 1fr;}
#mv figure { order: -1; margin: 0 -16% 0 7%;}

#problem { padding: 48px 0 80px;}
.problem-title { padding: 12px;}
.problem-title h2 { font-size: 1.7rem !important;}
.problem-title p { padding-top: 0; font-size: 1.4rem !important;}
.problem-list { gap: 25px;}
.problem-list li { height: 60px; padding: 8px 90px 8px 16px;}
.problem-list li figure { width: 80px;}
.problem-list li:nth-child(even) { padding-right: 16px; padding-left: 90px;}
#problem .fs24 { font-size: 1.6rem !important;}
#problem .problem-list li p { font-size: clamp(1.2rem,2.4vw,2.4rem) !important; line-height: 1.4;}

#function::before { width: 66px; height: 86px;}
.function-list > li { grid-template-columns: 100% !important; padding: 48px 5%;}
.function-list li figure { text-align: center;}
.function-list li:not(.wide) figure { width: 60%; margin: 0 auto;}
.function-list h3 { text-align: center;}

#about .function-list > li { grid-template-columns: 1fr;}
#about .function-list figure { width: 100%;}

#achievement { padding-bottom: 100px;}
.achievement-list { grid-template-columns: 1fr;}

#merit { margin-top: 100px;}
#merit::before { width: 66px; height: 86px;}
.merit-list > li { grid-template-columns: 1fr; margin-top: 38px; padding: 32px 5%;}
.merit-list figure { margin-top: 0; text-align: center;}
.merit-list h3 { text-align: center;}
.merit-list .contents { display: flex; flex-direction: column; align-items: center;}

.plan-list { grid-template-columns: 1fr;}
.sub02 { font-size: 1.7rem !important;}
.disc li { padding-left: 1em; text-indent: -0.5em;}

.flow-list { grid-template-columns: 1fr;}
.flow-list li:not(:last-child)::after { top: 100%; right: 50%; transform: translate(100%,-26px) rotate(90deg); width:0; height:0; border-style:solid; border-width: 35px 0 35px 19px; border-color: transparent transparent transparent #FBE74D;}

.faq li { border-radius: 12px;}
.faq h3 { padding: 12px 24px 12px 48px;}
.faq h3::before { width: 40px;}
.faq h3::after { right: 12px;}
.faq .contents { padding: 12px 12px 12px 48px;}
.faq .contents::before { width: 40px; max-height: 48px;}

.form dl { grid-template-columns: 1fr; gap: 8px;}
.form dt { justify-content: flex-start;}
}





@media print {
#container { width: 1024px;}
}