@charset "UTF-8";

/* reset 
========================================== */

body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,
p,blockquote,table,th,td {margin: 0; padding: 0;}
img {border: 0; vertical-align: top;}
ul,dl,ol {text-indent: 0;}
li {list-style: none;}
table {border-collapse: collapse; border-spacing: 0; font-size: inherit;}
em{font-style:normal;}

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

/* PC・SP切り替え
======================================= */

.pc_only,
.img_pc,
.br_pc,
.pc_br {
	display:none !important;
}


/* body
========================================== */

body {
color: #60534d;
margin: 0 auto 0;
padding: 0 0 0 0;
position:relative;
overflow-x: hidden;
text-align:justify;
font-feature-settings: "palt"; /* 自動カーニング */
font-family: "Kosugi Maru", sans-serif;
font-weight: 400;
font-style: normal;
}


/* font
========================================== */

.jp,
body {
font-family: "Kosugi Maru", sans-serif;
font-weight: 400;
font-style: normal;
}

.palt_none{
font-feature-settings: none; /* 自動カーニング解除 */
}

/* コンテンツ共通
========================================== */

a {text-decoration:none;}

img,
video{
max-width: 100%;
height: auto;
}

html{scroll-behavior: smooth;}

/* header
========================================== */

#header{
width:100%;
margin: 0 auto;
padding: 0;
z-index:100;
position: absolute;
top: 15px;
left:0;
right:0;
text-align:center;
}
p#description {
display:none;
}
#header h1{
margin: 0 0 0;
padding: 0 0 0;

}
#header h1 img{
width:230px;
max-width:none;
height:auto;
vertical-align:top;
margin-right:5vw;
}

/* footer
========================================== */


#footer {
clear: both;
margin: 0 auto;
padding: 10px 0 20px 0;
position:relative;
min-width: auto;
text-align:center;
background:#ff9d26;
}
#footer::before {
content: "";
position: absolute;
top:-15px;
left:0;
width: 100%;
height: 15px;
background-image: url("../images/base/mask3.svg");
background-repeat: repeat-x;
background-position: center top;
background-size:44px auto;
}
#footer small{
margin: 0 0 0 0;
padding: 0 0 0;
position: relative;
font-size: 13px;
line-height: 1.2;
color:#fff;
white-space:nowrap;
}

p#page-top {
position: fixed;
bottom: 20px;
right: 10px;
cursor:pointer;
z-index:99;
}

p#page-top img{
width:30px;
height:auto;
vertical-align:top;
}




/* トップページ
========================================== */

#kv{
margin: 0 auto;
padding: 0 0 50px 0;
position:relative;
min-width: auto;
background-color:#ff9d26;

}
#kv_inner{
margin: 0 auto ;
padding: 0 0 0 0;
position:relative;
text-align:center;
}
h2.h2_tit{
margin: 0 auto 20px;
padding: 0 0 0 0;
position:relative;
text-align:center;
}
h2.h2_tit img{
width:auto;
height:auto;
}
.kv_img{
margin: 0 auto 30px;
padding: 0 0 0 0;
position:relative;
text-align:center;
}
.kv_img img{
width:750px;
height:auto;
}

.btn_here{
margin: 0 auto;
padding: 0 0 0 0;
position:relative;
text-align:center;
}
.btn_here a{
margin: 0 auto;
padding:16px 55px;
position:relative;
text-align:center;
background-color:#fff;
font-weight: bold;
font-size: 18px;
letter-spacing: 0.00em;
line-height: 18px;
color: #60534d;
border-radius:50px;
display:inline-block;
text-decoration:none;
}
.btn_here a:before {
position: absolute;
top: 33%;
right:18px;
font-family: "Font Awesome 6 Free";
content: '\f138';
color:#ff9d26;
font-weight: 900;
font-size: 25px;
}

.section_inner{
margin: 0 auto 0;
padding: 0 0 0;
width: auto;
position:relative;
text-align:center;
}

.section1{
margin: -10px auto 0;
padding: 40px 0 110px;
min-width: auto;
position:relative;
text-align:center;
z-index:1;
}

.mask_style1 {
position: absolute;
top: 0px;
left: 0;
width: 100%;
height: 100%;
background-color: #c2dfe7;
background-image: url(../images/base/bg_dot.png);
background-repeat: repeat;
background-position: center top;
background-size: auto;
mask-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22a%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2087.8%208026.28%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3A%23ff9d26%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22b%22%20d%3D%22M0%2C8026.28V15.2C21.9%2C15.2%2C21.9%2C0%2C43.9%2C0s21.9%2C15.2%2C43.9%2C15.2V8026.28H0Z%22%2F%3E%3C%2Fsvg%3E');
mask-repeat: repeat-x;
mask-position:center top;
mask-size:44px auto;
mask-composite: intersect;
z-index:-1;
}

.campaign_img1{
margin: 0 auto;
padding: 0 0 0 0;
position:relative;
text-align:center;
}
.campaign_img1 img{
width:850px;
height:auto;
}

.section2{
margin: -120px auto 0;
padding: 0 0 0;
min-width: auto;
position:relative;
text-align:center;
z-index:1;
}

.mask_style2 {
position: absolute;
top: 0px;
left: 0;
width: 100%;
height: 100%;
background-color: #ff9d26;
background-image: url(../images/base/sp_section_bg.svg);
background-repeat: no-repeat;
background-position: center center;
background-size: auto;
mask-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22a%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%202600%204507.8%22%3E%3Cpolygon%20points%3D%222600%200%200%20226.13%200%204507.8%202600%204507.8%202600%200%22%2F%3E%3C%2Fsvg%3E');
mask-repeat: repeat-x;
mask-position:center top;
mask-size:1300px auto;
mask-composite: intersect;
z-index:-1;
}

.campaign_img2{
margin: 0 auto;
padding: 0 0 0 0;
position:relative;
text-align:center;
}
.campaign_img2 img{
width:auto;
height:auto;
margin-top:20px;
}



.section3{
margin: 0px auto 0;
padding: 40px 15px 40px;
min-width: auto;
position:relative;
text-align:center;
z-index:1;
background-color: #fff;
background-image: url(../images/base/bg_dot2.png);
background-repeat: repeat;
background-position: center top;
background-size: 20px auto;
}

.section_box{
margin: 0px auto;
padding: 0 0 10px;
width: auto;
position:relative;
text-align:center;
border:2px solid #ff9d26;
border-radius:20px;
background-color:#fff;
}
.section_box h3{
margin: 0px auto 20px;
padding: 20px 0 20px;
width: auto;
position:relative;
text-align:center;
border-radius:20px 20px 0 0;
background-color:#ffebd4;
}
.section_box h3 img{
width:auto;
height:24px;
}
.section_box h3 img.h3_img1{
position:absolute;
top:-60px;
left:10px;
width:65px;
height:auto;
}
.section_box h3 img.h3_img2{
position:absolute;
top:-20px;
right:5px;
width:105px;
height:auto;
}

.section_box p{
margin: 0px auto 20px;
padding: 0 10px 0;
position:relative;
text-align:center;
font-weight: 500;
font-size: 14px;
letter-spacing: 0.00em;
line-height: 1.6;
color: #60534d;
}

ul.apply_list{
margin: 0px auto;
padding: 0 15px 0;
position:relative;
text-align:center;
}

ul.apply_list li{
margin: 0px auto;
padding: 10px 0px 20px 5px;
position:relative;
text-align:center;
border-top:2px dotted #ff9d26;
}
ul.apply_list li h4{
margin: 15px 0 15px;
padding: 0 0;
position:relative;
text-align:center;
}
ul.apply_list li h4 img{
width:auto;
height:20px;
}
ul.apply_list li div{
margin: 0px 0;
padding: 0 0;
position:relative;
text-align:left;
}
ul.apply_list li div.txt_center{
margin: 0px 0;
padding: 0 0;
position:relative;
text-align:center;
}
ul.apply_list li div.txt_center p{
margin: 0px 0 0 0em;
text-align:center;
text-indent:0em;
}
ul.apply_list li div.txt_left p{
margin: 0px 0 0 0em;
text-indent:0em;
}
ul.apply_list li div p{
margin: 0px 0 0 1em;
padding: 0 0;
position:relative;
text-align:left;
font-weight: 500;
font-size: 14px;
letter-spacing: 0.00em;
line-height: 1.5;
color: #60534d;
text-indent:-1.2em;
}
ul.apply_list li div p em{
color: #ff9d26;
margin-right:3px;
}
ul.apply_list li div p a{
color: #ff9d26;
font-weight: bold;
text-decoration:underline;
text-underline-offset: .3em;
text-decoration-thickness: 2px;
}


.section4{
margin: 0px auto 0;
padding: 0 0 70px;
min-width: auto;
position:relative;
text-align:center;
z-index:1;
}
.section4 h3{
margin: 0px auto 40px;
padding: 20px 0 15px;
position:relative;
text-align:center;
background-color: #ff9d26;
z-index:1;
}
.section4 h3::before {
content: "";
position: absolute;
bottom:-10px;
left:0;
width: 100%;
height: 15px;
background-image: url("../images/base/mask3.svg");
background-repeat: repeat-x;
background-position: center bottom;
background-size:44px auto;
}
.section4 h3 img{
width:auto;
height:24px;
}

.table_block{
width:auto;
margin: 0 15px 25px;
padding: 0 0 0;
position: relative;
border-collapse:separate;
border-spacing:0;
}

table.table_form{
width:100%;
margin: 0 0 ;
padding: 0 0 0;
position: relative;
border-collapse:separate;
border-spacing:0;
}
table.table_form tr{

}
table.table_form th{
margin: 0 0 0 0;
padding: 5px 0 10px 0;
font-size:15px;
line-height: 1.5;
font-weight:normal;
color:#60534d;
letter-spacing:0px;
text-align:left;
width:auto;
vertical-align:top;
display: block;
}

table.table_form th span.require{
margin: 0 0 0 5px;
padding: 4px 6px;
font-size: 12px;
font-weight:bold;
line-height: 12px;
letter-spacing:0px;
color:#fff;
background-color:#d0121b;
border-radius:3px;
}
table.table_form th span.any{
margin: 0 0 0 5px;
padding: 4px 6px;
font-size: 12px;
font-weight:normal;
line-height: 12px;
letter-spacing:0px;
color:#fff;
background-color:#bbb;
border-radius:3px;
}

table.table_form td{
margin: 0 0 0 0;
padding: 0 0 20px 0;
position: relative;
font-size:15px;
line-height: 1.5;
font-weight:normal;
color:#000;
letter-spacing:0px;
text-align:left !important;
vertical-align:middle;
border-bottom:0px solid #ccc;
width:100%;
display: block;
}

table.table_form td .flex_kakomi{
display: flex;
align-items:stretch;
justify-content:space-between;
}
table.table_form td .flex_kakomi input{
width:48%;
}
table.table_form td p{
font-size:12px;
}
table.table_form td small{
font-size:12px;
padding:10px 0;
display:inline-block;
}
table.table_form td.td_add em{
margin-top:10px;
display:block;
}
table.table_form td.td_add input{
margin-top:5px;
margin-bottom:0px;
}
table.table_form td.td_mail input{
margin-bottom:10px;
}
table.table_form td.td_tel input{
margin-right:10px;
margin-bottom:10px;
}
table.table_form select {
padding:10px;
border:1px solid #ff8c00;
font-size:15px;
line-height:15px;
background:#fff8e8;
box-sizing: border-box;
border-radius:5px;
width:50%;
}
table.table_form select:has(option:checked[value=""]) {
color: #bebebe;
}
table.table_form input {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
padding:10px;
border:1px solid #ff8c00;
font-size:15px;
line-height:15px;
background:#fff8e8;
box-sizing: border-box;
border-radius:5px;
}
table.table_form input::placeholder {
color: #ccc;
}
table.table_form input:focus {
outline: none;
}

table.table_form input.input_size1{
margin:0 0 0 0;
width:100%;
}

table.table_form input.input_size2{
margin:0 0 0 0;
width:50%;
}


.wrap_radio{
margin: 0 0 0 0;
padding: 0 0 0 0;
font-size:14px;
line-height: 1.5;
font-weight:normal;
color:#60534d;
letter-spacing:0.00em;
text-align:left;
}
.wrap_radio input[type=radio] {
display: none !important;
}
.wrap_radio .radio_style {
box-sizing: border-box;
cursor: pointer;
display: block;
margin: 0 0 10px;
padding: 0 0 0 35px;
position: relative;
width: auto;
}
.wrap_radio .radio_style::before {
content: '';
display: block;
border:1px solid #ff8c00;
border-radius: 5px;
width: 24px;
height: 24px;
position: absolute;
top: 2px;
left: 0;
background-color:#fff8e8;
box-sizing: border-box;
/*transition : 0.2s;*/
}

.wrap_radio input[type=radio]:checked + .radio_style::before {
background-color:#ff8c00;
}
.wrap_radio .radio_style::after {
border-right: 3px solid #fff;
border-bottom: 3px solid #fff;
content: '';
display: block;
height: 10px;
left: 9px;
top: 8px;
opacity: 0;
position: absolute;
transform: rotate(45deg);
width: 7px;
}
.wrap_radio input[type=radio]:checked + .radio_style::after {
opacity: 1;
}

/* ===============================
   MW WP Form用
   =============================== */

    .wrap_radio .mwform-radio-field {
        display: block;
        margin: 0 0 10px;
    }

    .wrap_radio .mwform-radio-field label {
        cursor: pointer;
        display: block;
        position: relative;
    }

    /* radio本体は非表示（既存CSSと同寸法） */
    .wrap_radio .mwform-radio-field input[type=radio] {
        display: none !important;
    }

    /* 表示本体 */
    .wrap_radio .mwform-radio-field-text {
        display: block;
        padding: 0 0 0 35px;
        position: relative;
        box-sizing: border-box;
    }

    /* 枠 */
    .wrap_radio .mwform-radio-field-text::before {
        content: '';
        display: block;
        border:1px solid #ff8c00;
        border-radius: 5px;
        width: 24px;
        height: 24px;
        position: absolute;
        top: 2px;
        left: 0;
        background-color:#fff8e8;
        box-sizing: border-box;
        /*transition: 0.2s;*/
    }

    /* チェックマーク */
    .wrap_radio .mwform-radio-field-text::after {
        content: '';
        position: absolute;
        left: 9px;
        top: 8px;
        width: 7px;
        height: 10px;
        border-right: 3px solid #fff;
        border-bottom: 3px solid #fff;
        transform: rotate(45deg);
        opacity: 0;
    }

    /* checked */
    .wrap_radio input[type=radio]:checked + .mwform-radio-field-text::before {
        background-color:#ff8c00;
    }

    .wrap_radio input[type=radio]:checked + .mwform-radio-field-text::after {
        opacity: 1;
    }



table.table_form textarea{
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
margin:0 0 0 0;
padding:10px;
border:1px solid #ff8c00;
font-size:15px;
line-height:1.5;
background:#fff;
width:100%;
border-radius:5px;
box-sizing: border-box;
}

table.table_form textarea:focus {
outline: none;
}


table.table_form td h5{
margin: 10px 0 10px 0;
padding: 0 0 0 0;
position: relative;
font-size:17px;
line-height: 1.5;
font-weight:bold;
color:#ff8c00;
letter-spacing:0px;
text-align:center;
}
.consent_box{
margin: 0 auto;
padding: 0 0;
position:relative;
text-align:left;
width:100%;
border:1px solid #ccc;
border-radius:5px;
}
.consent_box ul{
margin: 0 0 0 0;
padding: 15px 5px 15px 15px;
position: relative;
height:170px;
overflow-y: auto;
}
.consent_box ul li{
margin: 0 0 0 1em;
padding: 0 0 0 0;
position: relative;
font-size:12px;
line-height: 1.5;
font-weight:normal;
color:#777;
letter-spacing:0.01em;
text-align:left;
text-indent:-1em;
}
.consent_box ul li.li_span{
margin-bottom: 0.5em;
}


table.table_form td.td_check {
margin: 0 0 0 0;
padding: 0 0 0 0;
font-size:15px;
line-height: 1.5;
font-weight:bold;
color:#60534d;
letter-spacing:0.05em;
text-align:left;
}
table.table_form td.td_check input[type=checkbox] {
display: none !important;
}
table.table_form td.td_check .checkbox_style {
box-sizing: border-box;
cursor: pointer;
display: block;
margin: 0 0 20px;
padding: 0 0 0 30px;
position: relative;
width: auto;
}
table.table_form td.td_check .checkbox_style::before {
content: '';
display: block;
border:1px solid #ff8c00;
border-radius: 5px;
width: 24px;
height: 24px;
position: absolute;
top: 0;
left: 0;
background-color:#fff8e8;
box-sizing: border-box;
/*transition : 0.2s;*/
}

table.table_form td.td_check input[type=checkbox]:checked + .checkbox_style::before {
background-color:#ff8c00;
}
table.table_form td.td_check .checkbox_style::after {
border-right: 3px solid #fff;
border-bottom: 3px solid #fff;
content: '';
display: block;
height: 10px;
left: 9px;
top: 8px;
opacity: 0;
position: absolute;
transform: rotate(45deg);
width: 7px;
}
table.table_form td.td_check input[type=checkbox]:checked + .checkbox_style::after {
opacity: 1;
}

table.table_form td.td_check span.require{
margin: 0 0 0 5px;
padding: 4px 6px;
font-size: 12px;
font-weight:bold;
line-height: 12px;
letter-spacing:0px;
color:#fff;
background-color:#d0121b;
border-radius:3px;
}



/* =====================================================
   MW WP Form 新HTML用 チェックボックス（スマホ専用）
   ※ PC用CSSは一切依存しない
===================================================== */

/* checkbox本体を非表示 */
table.table_form td.td_check
.mwform-checkbox-field input[type="checkbox"] {
	display: none !important;
}

/* ラベルをクリック可能に */
table.table_form td.td_check
.mwform-checkbox-field label {
	display: block;
	cursor: pointer;
}

/* テキスト部分をチェックUIにする */
table.table_form td.td_check
.mwform-checkbox-field-text {
	box-sizing: border-box;
	display: block;
	position: relative;
	padding: 0 0 0 30px;
	margin: 0 0 20px;
	line-height: 1.5;
	font-size: 15px;
	font-weight: bold;
}

/* チェックボックス枠（スマホサイズ） */
table.table_form td.td_check
.mwform-checkbox-field-text::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	border: 1px solid #ff8c00;
	border-radius: 5px;
	background-color: #fff8e8;
	box-sizing: border-box;
	/*transition: 0.2s;*/
}

/* チェックON時 背景 */
table.table_form td.td_check
.mwform-checkbox-field input[type="checkbox"]:checked
+ .mwform-checkbox-field-text::before {
	background-color: #ff8c00;
}

/* チェックマーク */
table.table_form td.td_check
.mwform-checkbox-field-text::after {
	content: '';
	position: absolute;
	top: 8px;
	left: 9px;
	width: 7px;
	height: 10px;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: rotate(45deg);
	opacity: 0;
}

/* チェックON時 チェックマーク表示 */
table.table_form td.td_check
.mwform-checkbox-field input[type="checkbox"]:checked
+ .mwform-checkbox-field-text::after {
	opacity: 1;
}



.btn_form {
  margin: 0 50px;
  padding: 0;
  position: relative;
  text-align: center;
}

/* 共通ボタン */
.btn_form .submit_btn {
  margin: 0 auto;
  padding: 15px 0;
  position: relative;
  text-align: center;
  background-color: #ff8c00;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.10em;
  line-height: 17px;
  color: #fff;
  border-radius: 50px;
  display: block;
  text-decoration: none;
  cursor: pointer;
  width: 100%;
}

.btn_form input {
  border: none;
}

/* ? 1ボタン時（今まで通り） */
.btn_form:not(:has(.submit_btn + .submit_btn))::before {
  position: absolute;
  top: 22%;
  right: 15px;
  font-family: "Font Awesome 6 Free";
  content: '\f138';
  color: #fff;
  font-weight: 900;
  font-size: 26px;
  z-index: 1;
}

/* ? 2ボタン時：横並び */
.btn_form:has(.submit_btn + .submit_btn) {
  display: flex;
  gap: 15px;
}

/* 2ボタン時は疑似要素を消す */
.btn_form:has(.submit_btn + .submit_btn)::before {
  content: none;
}

/* 2ボタン時のボタン幅調整 */
.btn_form:has(.submit_btn + .submit_btn) .submit_btn {
  width: 100%;
}

/* 無効状態 */
.submit_btn.disable {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.btn_form.disable {
  pointer-events: none;
}
.mw_wp_form_input .input_none{
	display:none;
}
.mw_wp_form_confirm .confirm_none{
	display:none !important;
}
.mw_wp_form_confirm table.table_form td span.waku {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding:10px;
	border:1px solid #ff8c00;
	font-size:15px;
	line-height:15px;
	background:#fff8e8;
	box-sizing: border-box;
	border-radius:5px;
	display: block;
}
.mw_wp_form_confirm table.table_form td .flex_kakomi {
	display: block;
}