@charset "UTF-8";

*{margin:0;padding:0;box-sizing:border-box;}
html{height:100%;scroll-behavior:smooth;scroll-padding-top:20px;}
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;}

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

html{scroll-padding-top:20px;}

}

#loading {
pointer-events:none;
position:fixed;
top:0;
left:0;
z-index:10002;
width:100vw;
height:100vh;
overflow:hidden;}
#loading .loading-spinner {
position:fixed;
bottom:0;
left:0;
z-index:10001;
width:100vw;
height:100vh;
background:#0bd;
transition:1s;}
#loading .loading-spinner::after {
content:"";
position:absolute;
left:50%;
top:50%;
width:100px;
height:100px;
background:#fff;
border-radius:100%;
transform:translate(-50%,-50%);
transition:1s;
animation:sk-scaleout 1.0s infinite ease-in-out;}
@keyframes sk-scaleout {
0% {transform:translate(-50%,-50%) scale(0);}
100% {transform:translate(-50%,-50%) scale(1.0);opacity:0;}
}
#loading .loading-tree-bg {
position:absolute;
top:0;
left:0;
width:100vw;
height:100vh;
background:url("../../images/loading_tree_bg.png") no-repeat center center / cover;}
#loading .loading-tree-ttl {
position:absolute;
top:50%;
left:50%;
width:70%;
max-width:450px;
aspect-ratio:5 / 4;
background:url("../../images/loading_tree_ttl.png") no-repeat center center / cover;
transform:translate(-50%,-55%) scale(0.01);}
#loading .loading-tree00 {
position:absolute;
top:0;
left:0;
width:100vw;
height:100vh;
background:url("../../images/loading_tree00.png") no-repeat center center / cover;}
#loading .loading-tree-base {
position:absolute;
width:55vw;
height:55vh;}
#loading .loading-tree01 {
top:0;
left:0;
background:url("../../images/loading_tree01.png") no-repeat right bottom / cover;}
#loading .loading-tree02 {
top:0;
right:0;
background:url("../../images/loading_tree02.png") no-repeat left bottom / cover;}
#loading .loading-tree03 {
bottom:0;
left:0;
background:url("../../images/loading_tree03.png") no-repeat right top / cover;}
#loading .loading-tree04 {
bottom:0;
right:0;
background:url("../../images/loading_tree04.png") no-repeat left top / cover;}
#loading.loaded {
opacity:0;
transition:1.5s 5.0s;}
#loading.loaded .loading-spinner {
opacity:0;
visibility:hidden;}
#loading.loaded .loading-tree-bg {
transition:6.5s linear;
transform:scale(1.1);}
#loading.loaded .loading-tree-ttl {
animation:loading_ttl 0.6s 2.4s forwards cubic-bezier(0.05,0.6,0.5,1.3);}
@keyframes loading_ttl {
100% {transform:translate(-50%,-55%) scale(1);}
}
#loading.loaded .loading-tree00 {
transition:3.0s 1.1s;
opacity:0;
transform:scale(1.2);
filter:blur(1.0em);}
#loading.loaded .loading-tree-base {
transition:4.0s 1.0s;
filter:blur(1.0em);}
#loading.loaded .loading-tree01 {
transform:translate(-120%,-120%) scale(1.2);}
#loading.loaded .loading-tree02 {
transform:translate(120%,-120%) scale(1.2);}
#loading.loaded .loading-tree03 {
transform:translate(-120%,120%) scale(1.2);}
#loading.loaded .loading-tree04 {
transform:translate(120%,120%) scale(1.2);}

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

#loading .loading-tree-base {
width:60vw;}

}

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

#loading .loading-tree-base {
width:70vw;
height:50vh;}

}

.effect {
opacity:0;
transform:translate(0,70px);
transition:opacity 1.0s 0s ease-out , transform 1.0s 0s ease-out;}
.effect.effect-in {
opacity:1 !important;
transform:translate(0,0) !important;}
.yuragi01 {
animation:vertical 2s steps(1) infinite;}
.yuragi02 {
animation:vertical 2s steps(1) 1s infinite;}
.yuragi03 {
animation:vertical 2s steps(1) 0.5s infinite;}
.yuragi04 {
animation:vertical 2s steps(1) 1.5s infinite;}

@keyframes vertical {

0% { transform:rotate(5deg);}
50% { transform:rotate(-5deg);}
100% { transform:rotate(5deg);}

}

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

a[href^="tel:"] {
cursor:default;
pointer-events:none;
text-decoration:none;}

}

body {
text-align:left;
font-size:17px;
line-height:1.7;
color:#222;
background:#fff;
font-family:"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"游ゴシック Medium",YuGothic,YuGothicM,sans-serif !important;
-webkit-text-size-adjust:100%;}

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

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

}

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

.gothic {
font-family:"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"游ゴシック Medium",YuGothic,YuGothicM,sans-serif !important;}
.mincho {
font-family:"Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}

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

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

hr {
clear:both;
margin:2.3em 0;
border:0;
height:1px;
border-bottom:1px solid rgba(0,0,0,0.5);}

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

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

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

}

.block {
margin:2em 0 0 0;
padding:1.6em;
background:#ccc;
border-radius:10px;}
.block p {
margin-bottom:0 !important;}
blockquote {
margin:2em 0 0 0;
padding:1.6em;
background:#ccc;
border-radius:10px;}
blockquote p {
margin-bottom:0 !important;}

.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  =============================*/

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

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

/* 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) {

.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) {

.ht20 {margin-top:14px !important;}
.ht30 {margin-top:21px !important;}
.ht40 {margin-top:28px !important;}
.ht50 {margin-top:35px !important;}
.ht60 {margin-top:42px !important;}
.ht70 {margin-top:49px !important;}
.ht80 {margin-top:56px !important;}
.ht90 {margin-top:63px !important;}
.ht100 {margin-top:70px !important;}
.ht120 {margin-top:84px !important;}
.ht180 {margin-top:126px !important;}

}

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

a.btn-alpha {
transition:0.25s;
opacity:1!important;}
.btn-alpha:hover {
opacity:0.6!important;}

a.btn-link {
text-align:center;
position:relative;
display:inline-block;
margin:1em auto 0;
padding:0 2em 0.1em 2em;
font-size:108%;
line-height:50px;
font-weight:700;
color:#e83928;
background:#fff;
white-space:nowrap;
border-radius:25px;
transition:0.25s;}
a.btn-link:hover {
color:#fff;
background:#e82;}
a.btn-link::after {
content:"";
position:absolute;
z-index:2;
top:50%;
right:10px;
width:8px;
height:8px;
border-bottom:1px solid #e83928;
border-right:1px solid #e83928;
transform:translate(0,-50%) rotate(-45deg);
transition:0.25s;}
a.btn-link:hover::after {
border-bottom:1px solid #fff;
border-right:1px solid #fff;}

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

.thanks-error {
text-align:center;}
.thanks-error h2 {
text-align:center;
margin:0 0 0.75em 0;
font-size:228%;
line-height:1.3;
font-weight:500;}
.thanks-error p {
margin-bottom:1em;}

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

.thanks-error {
text-align:left;}
.thanks-error p br {
display:none;}

}
