@charset "UTF-8";

html{scroll-behavior:smooth;scroll-padding-top:110px;}
*{margin:0;padding:0;box-sizing:border-box;}
html{height:100%;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
ol,ul,li{list-style:none;}
caption,th{text-align:left;}
q:before,q:after{content:''}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;font-size:70%;position:relative;top:-0.5em;}
sub{vertical-align:text-bottom;font-size:70%;position:relative;top:0.5em;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
legend{color:#222;}
object,embed{margin:0;vertical-align:top;}
img,a{vertical-align:top;}
i{font:inherit;}
video{margin:0;padding:0;border:0;outline:0;font-size:100%;line-height:0;vertical-align:baseline;background:transparent;}
article,aside,dialog,figure,footer,header,hgroup,nav,section,main{display:block;}

body {
text-align:center;
font-size:16px;
line-height:1.75;
color:#222;
background:#fff;
font-family:"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"游ゴシック Medium","Yu Gothic Medium",YuGothic,YuGothicM,"ＭＳ Ｐゴシック",sans-serif;
-webkit-text-size-adjust:100%;}
.mincho {
font-family:"Hiragino Mincho ProN W3","ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","游明朝",YuMincho,"HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;}

@media only screen and (max-width: 640px) {

body {
font-size:15px;
line-height:1.75;}

}

h1 , h2 , h3 , h4 , h5 , h6 , table {
font-size:100%;
line-height:1.75;
font-weight:normal;}

img {
max-width:100%;
height:auto;}
table {
max-width:100%;}
ol {
margin:0 0 0 20px;}
ol li {
list-style:decimal;
line-height:1.5;
margin:4px 0;}
dl {
text-align:left;
display:flex;
flex-wrap:wrap;
width:100%;
line-height:1.5;}
dt {
padding:4px 0;
width:20px;
white-space:nowrap;}
dd {
padding:4px 0;
width:calc(100% - 20px);}

a:link {
color:#611;
outline:none;
text-decoration:none;
transition:color 0.25s;}
a:visited {
color:#611;
outline:none;
text-decoration:none;}
a:hover {
color:#e82;
outline:none;
text-decoration:none;}

hr {
clear:both;
width:100%;
margin:1.55em 0;
border:0;
height:1px;
background:#009844;}

.aligncenter {
text-align:center;
display:block;
margin-left:auto;
margin-right:auto;}
.alignright {
float:right;
margin:3px 0 33px 33px;}
.alignleft {
float:left;
margin:3px 33px 33px 0;}
.alignnone {
display:block;}

@media only screen and (max-width: 640px) {

.alignright , .alignleft {
float:none;
text-align:center;
display:block;
margin:3px auto 33px;}

}

.block {
position:relative;
margin:1.55em 0;
padding:23px;
background:#f6f9ed;
border-radius:25px 0 0 0;}
blockquote {
position:relative;
margin:1.55em 0;
padding:23px;
background:#f6f9ed;
border-radius:25px 0 0 0;}

.clearfix:before , .clearfix:after {
display:table;
content:" ";}
.clearfix:after {
clear:both;}

.col-flex {
display:-webkit-box;
display:-moz-box;
display:-ms-box;
display:-webkit-flexbox;
display:-moz-flexbox;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;}

.youtube {
position:relative;
padding-bottom:56.25%;
height:0;
overflow:hidden;}
.youtube iframe {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;}

/*  ttl  ==========================*/

.ttl-00 {
position:relative;
margin:0 auto;
width:380px;
max-width:60%;}
.ttl-00 .ttl-line {
position:absolute;
z-index:2;
left:50%;
top:0;
width:1px;
height:40px;
background:#e3007f;
transform:translate(0,-50%);}
.ttl-00 img {
width:100%;
border-radius:50%;}

@media only screen and (max-width:480px) {

.ttl-00 .ttl-line {
height:25px;}

}

.post .body h1 , .ttl-01 {
font-family:'M PLUS Rounded 1c',sans-serif;
margin:0 0 0.7em 0;
font-size:280%;
line-height:1.2;
font-weight:700;
color:#6a4331;}
.post .body h1 br , .ttl-01 br {
display:none;}

@media only screen and (max-width:640px) {

.post .body h1 , .ttl-01 {
font-size:8vw;}
.post .body h1 br , .ttl-01 br {
display:block;}

}

.post .body h2 , .ttl-02 {
position:relative;
margin:1.1em 0;
padding:0 0 0.15em 0;
font-size:204%;
line-height:1.3;
font-weight:bold;
overflow:hidden;}
.post .body h2::before , .ttl-02::before {
content:"";
position:absolute;
width:100%;
bottom:0;
border-bottom:2px solid #009844;}
.post .body h2::after , .ttl-02::after {
content:"";
position:absolute;
width:100%;
bottom:0;
border-bottom:2px solid #222;}
.post .body h3 , .ttl-03 {
margin:1.1em 0;
padding:0 0 0 12px;
font-size:164%;
line-height:1.3;
font-weight:bold;
color:#009844;
border-left:6px solid #009844;}
.post .body h4 , .ttl-04 {
margin:1.1em 0;
padding:0 0 4px 0;
font-size:132%;
line-height:1.3;
font-weight:bold;
border-bottom:1px solid #222;}
.post .body h5 , .ttl-05 {
margin:1.1em 0;
padding:12px;
font-size:116%;
line-height:1.3;
font-weight:bold;
color:#fff;
background:#009844;
border-radius:15px 0 15px 0;}
.post .body h6 , .ttl-06 {
text-align:center;
margin:2.4em 0 0 0;
padding:20px 0;
font-size:92%;
font-weight:normal;
border-top:1px solid #222;
border-bottom:1px solid #222;}

@media only screen and (max-width:640px) {

.post .body h2 , .ttl-02 {
font-size:188%;}
.post .body h3 , .ttl-03 {
font-size:148%;}
.post .body h4 , .ttl-04 {
font-size:124%;}
.post .body h5 , .ttl-05 {
font-size:108%;}

}

/* table =====================*/

table.tbl-01 , .post .body table {
width:100%;
border:1px solid #8fc31f;
border-collapse:collapse;}
.post .body table {
margin-bottom:0.55em;}
table.tbl-01 tbody , .post .body tbody {
width:100%;
display:table;}
table.tbl-01 tr , .post .body tr {
height:auto !important;}
table.tbl-01 th , .post .body th {
text-align:center;
padding:16px 8px;
width:25%;
line-height:1.5;
font-weight:bold;
background:#f6f9ed;
border:1px solid #8fc31f;
height:auto !important;}
table.tbl-01 td , .post .body td {
text-align:left;
padding:16px 8px 16px 16px;
line-height:1.7;
background:#fff;
border:1px solid #8fc31f;
height:auto !important;}

@media only screen and (max-width:800px) {

table.tbl-01 th , .post .body th {
text-align:left;
display:block;
width:100%;
padding:16px 12px;
border:0;}
table.tbl-01 td , .post .body td {
display:block;
width:100%;
padding:16px 12px;
border:0;
border-bottom:1px solid #8fc31f;}

}

/* form =====================*/

.width99 {width:99%!important;}
.width66 {width:66%!important;}
.width33 {width:33%!important;}
.width11 {width:11%!important;}
.form-contact {
text-align:left;
padding:20px;
background:#f6f9ed;
border-radius:15px;}
.form-contact p {
margin-bottom:0 !important;}
.form-contact dt {
width:100%;
font-size:108%;
font-weight:bold;}
.form-contact dt.must:after {
content:"必須";
text-align:center;
display:inline-block;
vertical-align:middle;
margin:0 0 0 5px;
padding:3px 0;
width:30px;
font-size:10px;
line-height:12px;
color:#fff;
background:#c00;
white-space:nowrap;
border-radius:6px;
transform:translate(0,-1px);}
.form-contact dd {
width:100%;
margin:0 0 25px 0;}
.form-contact dd:last-child {
margin:0;}
.form-contact dd label {
margin:0 20px 0 0;}
.form-contact dd .notice {
margin:9px 0 0 0;
font-size:84%;
line-height:1.4;
color:#555;}
.form-contact dd select {
cursor:pointer;
background:none transparent;
-webkit-appearance:button;
-moz-appearance:button;
appearance:button;}
.form-contact dd input[type="text"] ,
.form-contact dd textarea {
padding:8px;
border:2px solid #c0dc96;
border-radius:6px;}

.form-contact dd input[type="radio"]{
display:none;}
.form-contact dd input[type="radio"]+span {
cursor:pointer;
display:inline-block;
position:relative;
font-size:108%;
padding:0 0 0 27px;
line-height:31px;
white-space:nowrap;}
.form-contact dd input[type="radio"]+span::before{
content:"";
position:absolute;
display:block;
width:16px;
height:16px;
left:0;
top:50%;
transform:translate(0,-50%);
border:2px solid #c0dc96;
background:#FFF;
border-radius:50%;}
.form-contact dd input[type="radio"]:checked+span{
color:#900;}
.form-contact dd input[type="radio"]:checked+span::before{
border:2px solid #900;
background:#900;
border-radius:50%;}
.form-contact dd input[type="radio"]:checked+span::after{
content:"";
position:absolute;
display:block;
width:9px;
height:5px;
left:5px;
top:35%;
transform:rotate(-45deg);
border-bottom:2px solid #fff;
border-left:2px solid #fff;}

.form-contact dd input[type="checkbox"]{
display:none;}
.form-contact dd input[type="checkbox"]+span{
cursor:pointer;
display:inline-block;
position:relative;
font-size:108%;
padding:0 0 0 27px;
line-height:31px;
white-space:nowrap;}
.form-contact dd input[type="checkbox"]+span::before{
content:"";
position:absolute;
display:block;
width:16px;
height:16px;
left:0;
top:50%;
transform:translate(0,-50%);
border:2px solid #c0dc96;
background:#fff;
border-radius:3px;}
.form-contact dd input[type="checkbox"]:checked+span{
color:#900;}
.form-contact dd input[type="checkbox"]:checked+span::before{
border:2px solid #900;
background:#900;
border-radius:3px;}
.form-contact dd input[type="checkbox"]:checked+span::after{
content:"";
position:absolute;
display:block;
width:9px;
height:5px;
left:5px;
top:35%;
transform:rotate(-45deg);
border-bottom:2px solid #fff;
border-left:2px solid #fff;}

.form-submit {
text-align:center;
margin-top:2.2em;}
.form-submit input {
-webkit-appearance:none;
cursor:pointer;
margin:0 5px;
padding:0 3em;
border-style:none;
font-size:100%;
line-height:55px;
color:#fff;
background:#69300f;
border-radius:8px;
transition:0.25s;}
.form-submit input:hover {
box-shadow:0 0 0 3px #fc3;}

/* height ===================*/

.ht00 {margin-top:0px !important;}
.ht10 {margin-top:10px !important;}
.ht20 {margin-top:20px !important;}
.ht30 {margin-top:30px !important;}
.ht40 {margin-top:40px !important;}
.ht50 {margin-top:50px !important;}
.ht60 {margin-top:60px !important;}
.ht70 {margin-top:70px !important;}
.ht80 {margin-top:80px !important;}
.ht90 {margin-top:90px !important;}
.ht100 {margin-top:100px !important;}
.ht120 {margin-top:120px !important;}
.ht180 {margin-top:180px !important;}

@media only screen and (max-width:1023px) {

.ht10 {margin-top:1% !important;}
.ht20 {margin-top:2% !important;}
.ht30 {margin-top:3% !important;}
.ht40 {margin-top:4% !important;}
.ht50 {margin-top:5% !important;}
.ht60 {margin-top:6% !important;}
.ht70 {margin-top:7% !important;}
.ht80 {margin-top:8% !important;}
.ht90 {margin-top:9% !important;}
.ht100 {margin-top:10% !important;}
.ht120 {margin-top:12% !important;}
.ht180 {margin-top:18% !important;}

}

@media only screen and ( max-width:640px) {

.ht10 {margin-top:8px !important;}
.ht20 {margin-top:14px !important;}
.ht30 {margin-top:20px !important;}
.ht40 {margin-top:26px !important;}
.ht50 {margin-top:32px !important;}
.ht60 {margin-top:38px !important;}
.ht70 {margin-top:44px !important;}
.ht80 {margin-top:50px !important;}
.ht90 {margin-top:55px !important;}
.ht100 {margin-top:60px !important;}
.ht120 {margin-top:70px !important;}
.ht180 {margin-top:100px !important;}

}

/* btn ===================*/

.alpha {
transition:0.25s;
filter:alpha(opacity=100)!important;
-moz-opacity:1!important;
opacity:1!important;}
.alpha:hover {
filter:alpha(opacity=60)!important;
-moz-opacity:0.6!important;
opacity:0.6!important;}

.btn-01 {
clear:both;
margin-top:1.8em;}
.btn-01 a {
position:relative;
display:inline-block;
padding:0.9em 3.6em;
line-height:1.3;
font-weight:bold;
color:#69300f;
background:#fff;
box-shadow:0 0 0 1px #69300f;
border-radius:6px;
transition:0.25s;}
.btn-01 a:hover {
color:#fff;
background:#69300f;}
.btn-01 a::after {
content:"";
position:absolute;
z-index:2;
right:5px;
top:50%;
width:7px;
height:7px;
border-right:1px solid #69300f;
border-bottom:1px solid #69300f;
transform:translate(0,-50%) rotate(-45deg);
transition:0.25s;}
.btn-01 a:hover::after {
border-right:1px solid #fff;
border-bottom:1px solid #fff;}

/* thanks error =======================*/

.thanks-error {
text-align:center;
margin:2% 0;}
.thanks-error .ttl {
font-family:'M PLUS Rounded 1c',sans-serif;
margin:0 0 1.1em 0;
font-size:204%;
line-height:1.2;
font-weight:700;
color:#727171;}
.thanks-error .ttl br {
display:none;}
.thanks-error .txt p {
margin-bottom:1.1em;}

@media only screen and (max-width:640px) {

.thanks-error .ttl {
font-size:8vw;}
.thanks-error .ttl br {
display:block;}
.thanks-error .txt {
text-align:left;}
.thanks-error .txt br {
display:none;}

}
