@charset "UTF-8";
/* CSS Document - header/footer/navi/search  */

/* ページ表示時にフェードイン */
body {
animation: fadeIn 2s ease 0s 1 normal;
-webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}



/* HEADER */
.header {
position: fixed;
top:0;
width: 100%;
display: flex;
align-items: center;
padding: 10px;
min-height: 55px;
box-sizing: border-box;
z-index: 100;
}
.header > .wrapper {
justify-content: flex-start;
}

.header a {}

.header .header_logo img {
display: block;
width:min(35vw,200px);
}
.header .menu {
display: none;
}
.header .lang {
position: absolute;
top:50%;
right:0;
transform: translateY(-50%);
}
.header .lang > span {
position: relative;
display: block;
padding: .5rem 3rem;
background: rgba(0,0,0, .8);
border-radius: 20px;
color: #FFF;
font-size: var(--12px);
text-align: center;
line-height: 1.2;
cursor: pointer;
}
.header .lang > span:before {
position: absolute;
top:50%;
transform: translateY(-50%);
left:10px;
content: "";
display: block;
width: 13px;
height: 13px;
background: url(../images/common/icon_language.svg) no-repeat center center;
background-size: cover;
}

.header .lang > span:after {
position: absolute;
top:6px;
right:15px;
content: "";
display: inline-block;
vertical-align: middle;
width: 7px;
height: 7px;
border-right: 1px solid #FFF;
border-bottom: 1px solid #FFF;
transform: rotate(45deg);
}
.header .lang > span.current:after {
top:9px;
transform: rotate(-135deg);
}

.header .lang .lang_select {
display: none;
position: absolute;
top:35px;
right:0;
width: 100%;
border-radius: 3px;
background: var(--gray-10);
z-index: 1;
}
.header .lang .lang_select:before {
position: absolute;
top: -4px;
left:50%;
content: "";
display: block;
width: 8px;
height: 8px;
background: var(--gray-10);
transform: translateX(-50%) rotate(45deg);
z-index: -1;
}
.header .lang .lang_select li {}
.header .lang .lang_select li a {
display: block;
padding: .3rem 1rem;
font-size: var(--13px);
opacity: .7;
}
.header .lang .lang_select li a:hover {
background: var(--gray-40);
opacity: 1;
}
.header .lang .lang_select li a.current {
background: var(--gray-40);
opacity: 1;
font-weight: 500;
cursor: default;
}



@media only screen and (min-width: 768px) {
.header .lang > span:after {
top:8px;
}
.header .lang > span.current:after {
top:11px;
}

}/* header min-width: 768px */


@media only screen and (min-width: 1025px) {
.header .menu {
display: flex;
align-items: center;
font-family: var(--font-family-en);
padding-left: 3rem;
}
.header .menu > li > a {
display: block;
padding: 0 15px;
font-size: var(--18px);
letter-spacing: 0.1em;
}
}/* header min-width: 1025px */



/* humberger */
.hmenu-wrapper{
position:fixed;
top:8px;
right:20px;
z-index: 500;
}
.hmenu{
width: 50px;
height:43px;
position:relative;
cursor:pointer;
display: inline-block;
float:right;
z-index: 500;
}
.hmenu1{top:15px;}
.hmenu2{top:23px;}
.hmenu1,.hmenu2 {
position:absolute;
left:0;
height:1px;
width: 50px;
transition: all 0.3s ease-out;
display: inline-block;
background-color: #FFF;
}
.hmenuclick1,
.hmenuclick2 {
top:20px;
}
.hmenuclick1{transform: rotate(45deg);}
.hmenuclick2{transform: rotate(-45deg);}
.hmenu-back{
position: relative;
display: none;
position: fixed;
background:rgba(0,0,0,.9);
opacity: 1;
z-index: 300;
width: 100%;
height: 100%;
top:0;
left:0;
}


/* main_nav */
.toggle_nav {
display: none;
width: 100%;
height: 100vh;
position: fixed;
top:0;
left:50%;
transform: translateX(-50%);
z-index: 400;
overflow-y: auto;
color: #FFF;
}
.main_nav a {color: #FFF;}
.main_nav .logo img {
display: inline-block;
position: relative;
transform: translateY(-10px);
margin-right: 20px;
margin-bottom: -10px;
width: min(65vw,330px);
}
.main_nav .logo span {
display: inline-block;
font-size: var(--22px);
font-family: var(--font-family-min);
}
.main_nav .gnav {
display: flex;
}
.main_nav .gnav > ul {
width: 100%;
font-size: var(--18px);
font-family: var(--font-family-min);
font-weight: 300;
}
.main_nav .gnav a {
display: block;
padding: .3rem 0;
letter-spacing: 0.1em;
}
.main_nav .sub_menu {
font-size: var(--13px);
}
.main_nav .sub_menu a {
display: inline-block;
}
.main_nav .sub_menu a:after {
content: "";
display: inline-block;
vertical-align: middle;
margin:0 3px 0 5px;
width: 1px;
height: 10px;
background: #b2b2b2;
transform: translateY(-1px);
}
.main_nav .sub_menu a:last-child:after {
display: none;
}
.main_nav .link_sns {
display: flex;
margin-top: 1rem;
}
.main_nav .link_sns > a {
display: block;
margin-right: 25px;
width: 26px;
}

.main_nav .group_nav {
display: flex;
flex-wrap: wrap;
}
.main_nav .group_nav > a {
position: relative;
display: flex;
align-items: center;
width: 100%;
padding: 1rem 0;
font-family: var(--font-family-min);
border-top: 1px solid #4c4c4c;
}
.main_nav .group_nav > a.w-50 {
padding: 1.5rem 0 0;
}
.main_nav .group_nav > a img {
display: inline-block;
height: 36px;
width: auto;
}
.main_nav .group_nav > a > figure {
width: 40%;
max-width: 180px;
}
.main_nav .group_nav > a.w-50 > figure {
max-width: 100px;
}
.main_nav .group_nav > a > strong {
display:block;
line-height: 1.4;
font-weight: 400;
}
.main_nav .group_nav > a > span {
position: absolute;
top:50%;
transform: translateY(-50%);
right: 0;
display: block;
width: 60px;
}
.main_nav .group_nav > a > span::before {
position: absolute;
top: 0;
left: 0px;
content: "";
height: 1px;
background: var(--gold);
}
.main_nav .group_nav > a > span::after {
position: absolute;
top: 0;
content: "";
width: 10px;
height: 1px;
background: var(--gold);
transform-origin: 0px 0.5px;
transform: rotate(-150deg);
}
.main_nav .group_nav > a:hover > span::before {
animation: footer_arrow_before 0.5s ease-out forwards 0s;
}
.main_nav .group_nav > a:hover > span::after {
animation: footer_arrow_after 0.5s ease-out forwards 0s;
}
.main_nav .group_nav > a > span::before {
width: 60px;
}
.main_nav .group_nav > a > span::after {
left: 60px;
}

.main_nav .link_map {
display: inline-block;
padding: 0.5rem 1rem;
font-size: var(--13px);
font-family: var(--font-family);
line-height: 1;
border: 1px solid #FFF;
}


@media only screen and (min-width: 768px) {
.hmenu-wrapper{
top:10px;
right: 30px;
}
.hmenu{
width: 55px;
height:50px;
}
.hmenu1,.hmenu2 {width: 55px;}
.hmenu1{top:20px;}
.hmenu2{top:28px;}
.hmenuclick1,
.hmenuclick2 {
top:20px;
}

.toggle_nav .main_nav {
padding-top: 8rem;
}
.main_nav .wrap-reverse .col-4:first-of-type {
padding-top: 40px;
}
.main_nav .wrap-reverse .col-4:first-of-type:before {
display: none;
}
.main_nav .wrap-reverse .col-4 {
width: 50%;
}
.main_nav .gnav a {
padding: .4rem 0;
}
.main_nav .sub_menu {
font-size: var(--11px);
}
.main_nav .wrap_contact > dt {
width: 7rem;
}
.main_nav .wrap_contact > dd {
width: calc(100% - 7rem);
}
.main_nav .link_sns {
margin-top: 0;
}
.main_nav .link_sns > a {
width: 30px;
}
.main_nav .gnav > ul {
font-size: var(--18px);
width: 100%;
}
.main_nav .gnav a {
padding: .4rem 0;
}
.main_nav .group_nav > a {
padding: 2rem 0;
}
.main_nav .group_nav > a img {
margin-right: 20px;
height: 45px;
}
.toggle_nav .main_nav .gnav a {
padding: .8rem 0;
}

} /*hamberger main_nav min-width: 768px */


@media only screen and (min-width: 1025px) {
.toggle_nav .main_nav .wrapper {
max-width: 900px;
}


}/* min-width: 1025px */



/* FOOTER */
.footer {
padding: 3rem 0;
background-image:url(../images/common/bg_texture01.webp);
background-size: 960px;
color: #FFF;
}
.footer a {
display: inline-block;
color: #FFF;
}
.footer .main_nav .link_sns > a {
margin-right: 20px;
width: 23px;
}


.footer .main_nav .logo img {
display: block;
width: min(55vw,270px);
}
.footer .main_nav .logo > strong {
display: block;
margin-top: .5rem;
font-family: var(--font-family-min);
font-weight: 500;
font-size: min(5.31vw,26px);
}

.footer .main_nav .gnav {
display: none;
}
.footer .group_nav {
display: flex;
flex-wrap: wrap;
}
.footer .group_nav > a {
position: relative;
display: flex;
align-items: center;
width: 100%;
padding: 1rem 0;
font-family: var(--font-family-min);
border-top: 1px solid #FFF;
}
.footer .group_nav > a.w-50 {
padding: 1.5rem 0 0;
}
.footer .group_nav > a img {
display: inline-block;
height: 36px;
width: auto;
}
.footer .group_nav > a > figure {
width: 40%;
max-width: 180px;
}
.footer .group_nav > a.w-50 > figure {
width: auto;
margin-right: 10px;
max-width: 80px;
}

.footer .group_nav > a > strong {
display:block;
line-height: 1.4;
font-weight: 400;
}
.footer .group_nav > a > span {
position: absolute;
top:50%;
transform: translateY(-50%);
right: 0;
display: block;
width: 60px;
}
.footer .group_nav > a > span::before {
position: absolute;
top: 0;
left: 0px;
content: "";
height: 1px;
background: #FFF;
}
.footer .group_nav > a > span::after {
position: absolute;
top: 0;
content: "";
width: 10px;
height: 1px;
background: #FFF;
transform-origin: 0px 0.5px;
transform: rotate(-150deg);
}
.footer .group_nav > a:hover > span::before {
animation: footer_arrow_before 0.5s ease-out forwards 0s;
}
.footer .group_nav > a:hover > span::after {
animation: footer_arrow_after 0.5s ease-out forwards 0s;
}
.footer .group_nav > a > span::before {
width: 60px;
}
.footer .group_nav > a > span::after {
left: 60px;
}
.footer .main_nav .sub_menu {
width: 100%;
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid #FFF;
}
.footer .copyright{
padding-top: 2rem;
text-align: center;
border-top: 1px solid #FFF;
font-size: var(--12px);
letter-spacing: normal;
font-family: var(--font-family-min);
}



@media only screen and (min-width: 768px) {
.footer {
padding: 4rem 0 2rem;
}
.footer .main_nav .link_sns > a {
width: 26px;
}
.footer .d-f-md {
flex-wrap: wrap;
justify-content: space-between;
}
.footer .main_nav .gnav {
display: block;
}
.footer .main_nav .gnav ul {
width: 100%;
}
.footer .group_nav {
/* width: calc(100% - 160px); */
}
.footer .group_nav > a {
padding: 2rem 0;
}
.footer .group_nav > a img {
margin-right: 20px;
height: 45px;
}
.footer .main_nav .sub_menu {
/* width: calc(100% - 8rem); */
margin-top: 3rem;
padding-top: 2rem;
}
.footer .copyright {
padding-top: 40px;
letter-spacing: 0.1em;
}


}/* FOOTER min-width: 768px */



@media only screen and (min-width: 1025px) {
.footer .group_nav {
/* padding-right: 8rem; */
/* width: calc(100% - 240px); */
}


}/* FOOTER min-width: 1025px */


























.btn_pagetop {
position: relative;
display: block;
width: 140px;
padding-bottom: 40px;
margin:0 auto;
text-align: center;
font-size: var(--14px);
font-family: var(--font-family-min);
color:#000;
opacity: .7;
}
.btn_pagetop:after {
position: absolute;
bottom:0;
left:50%;
transform: translateX(-50%);
content: "";
display: block;
width: 1px;
height: 35px;
background: var(--font-color);
}
.btn_pagetop:hover:after {
animation: pagetop-after .5s ease-out;
}
.btn_pagetop:hover {
opacity: 1;
}
.btn_map {
display: inline-block;
padding: .5rem 1rem;
margin: 0 1rem;
border: 1px solid var(--maincolor);
line-height: 1.2;
font-size: var(--15px);
letter-spacing: normal;
}

.btn_white_box {
position: relative;
display: block;
padding: .5rem 1rem;
text-align: center;
color: var(--subcolor);
font-size: var(--20px);
font-family: var(--font-family-min);
font-weight: 500;
background: #FFF;
}
.btn_white_box:after {
position: absolute;
top:50%;
translate: 0 -50%;
right:20px;
content: "";
display: block;
width: 11px;
height: 11px;
border-top:1px solid var(--subcolor);
border-right:1px solid var(--subcolor);
rotate:45deg;
}
.btn_blue_box {
position: relative;
display: block;
padding: .5rem 1rem;
text-align: center;
color: #FFF;
font-size: var(--20px);
font-family: var(--font-family-min);
font-weight: 500;
background: url(../images/common/bg_texture01.webp);
background-size:480px;
}
.btn_blue_box:after {
position: absolute;
top:50%;
translate: 0 -50%;
right:20px;
content: "";
display: block;
width: 11px;
height: 11px;
border-top:1px solid #FFF;
border-right:1px solid #FFF;
rotate:45deg;
}






@-webkit-keyframes pagetop-after {
from {
height: 0;
opacity: 0; }
to {
height: 35px;
opacity: 1; }
}














/* COMMON */
/* background */
.bg_texture-white {
position: relative;
padding-bottom: min(3vw,30px);
background: url(../images/common/bg_texture-white_sp.jpg) repeat-y right top;
background-size: 100%;
}
.bg_texture-white:after {
position: absolute;
top:0;
right: 0;
content: "";
width: min(100%,918px);
height: min(100%,618px);
background: url(../images/home/bg_illust-image.png) no-repeat right top min(74vw,300px);
background-size: 100%;
mix-blend-mode: multiply;
pointer-events: none;
}
.bg_cover-croud {
padding-bottom: min(10vw,120px);
background: url(../images/common/bg_cloude-image_sp.png) no-repeat center top 360px;
background-size: 100%;
}

@media only screen and (min-width: 768px) {
.bg_texture-white {
background-image: url(../images/common/bg_texture-white.jpg);
background-repeat: repeat;
background-size: 2796px;
}
.bg_texture-white:after {
top:min(14.5vw,190px);
background-position: right top;
}
.bg_cover-croud {
background-image: url(../images/common/bg_cloude-image.png);
background-position: center top 285px;
}



}/* min-width: 768px */








/* rayout */
.col-inner-sp{
padding: 0 20px;
box-sizing: border-box;
}

/* text */
.image_letter {
position: absolute;
font-family: var(--font-family-en);
color: rgba(209, 206, 205, .5);
opacity: .7;
line-height: 1;
font-size: min(21.74vw,90px);
}


/* title */
.title_22 {
color: var(--maincolor);
font-family: var(--font-family-min);
font-size: var(--26px);
font-weight: 500;
}


/* link button */
a.underline {
border-bottom: 1px dotted var(--gray);
}
a.underline:hover {
opacity: 1;
color: var(--gray);
}
.btn_front_arrow {
position: relative;
display:inline-block;
width: 160px;
text-align: right;
font-size: var(--15px);
font-weight: 500;
font-family: var(--font-family-en);
color: #000;
line-height: 1;
opacity: .7;
transition: opacity .6s;
cursor: pointer;
}
.btn_front_arrow span::before {
position: absolute;
top: 10px;
left: 0px;
content: "";
height: 1px;
background: var(--font-color);
}
.btn_front_arrow span::after {
position: absolute;
top: 10px;
content: "";
width: 10px;
height: 1px;
background: var(--font-color);
transform-origin: 0px 0.5px;
transform: rotate(-150deg);
}
.btn_front_arrow:hover {
opacity: 1;
}
.btn_front_arrow:hover span::before {
animation: front_arrow_before 0.8s ease-out forwards 0s;
}
.btn_front_arrow:hover span::after {
animation: front_arrow_after 0.8s ease-out forwards 0s;
}
.btn_front_arrow span::before {
width: 100px;
}
.btn_front_arrow span::after {
left: 100px;
}

/* btn_after_arrow */
.btn_after_arrow {
font-family: var(--font-family-en);
color:#000;
}
.btn_after_arrow span {
position: relative;
display:inline-block;
vertical-align: middle;
margin-left: 10px;
transform: translateY(-8px);
opacity: .7;
transition: opacity .6s;
}
.btn_after_arrow span::before {
position: absolute;
top: 10px;
left: 0px;
content: "";
height: 1px;
background: var(--font-color);
}
.btn_after_arrow span::after {
position: absolute;
top: 10px;
content: "";
width: 10px;
height: 1px;
background: var(--font-color);
transform-origin: 0px 0.5px;
transform: rotate(-150deg);
}
.btn_after_arrow:hover {
opacity: 1;
}
.btn_after_arrow:hover span::before {
animation: after_arrow_before 0.8s ease-out forwards 0s;
}
.btn_after_arrow:hover span::after {
animation: after_arrow_after 0.8s ease-out forwards 0s;
}
.btn_after_arrow span::before {
width: 60px;
}
.btn_after_arrow span::after {
left: 60px;
}
.btn_after_arrow:hover span.short::before {
animation: aftershort_arrow_before 0.6s ease-out forwards 0s;
}
.btn_after_arrow:hover span.short::after {
animation: aftershort_arrow_after 0.6s ease-out forwards 0s;
}
.btn_after_arrow span.short::before {
width: 40px;
}
.btn_after_arrow span.short::after {
left: 40px;
}
.btn_after_arrow.back {
padding-left: 60px;
}
.btn_after_arrow.back span {
margin-left: 0;
margin-right: 10px;
}
.btn_after_arrow.back span::before {
left:auto;
right: 0;
width: 60px;
}
.btn_after_arrow.back span::after {
transform: rotate(330deg);
left: -60px;
}

.btn_after_arrow.back:hover span::before {
animation: afterback_arrow_before 0.8s ease-out forwards 0s;
}
.btn_after_arrow.back:hover span::after {
animation: afterback_arrow_after 0.8s ease-out forwards 0s;
}


/* LINK KEYFRAMES */
/* front_arrow */
@-webkit-keyframes front_arrow_before {
from {
width: 50px;
opacity: .5; }
to {
width: 100px;
opacity: 1; }
}
@-webkit-keyframes front_arrow_after {
from {
left: 50px;
opacity: .5; }
to {
left: 100px;
opacity: 1; }
}

/* after_arrow */
@-webkit-keyframes after_arrow_before {
from {
width: 40px;
opacity: .3; }
to {
width: 60px;
opacity: 1; }
}
@-webkit-keyframes after_arrow_after {
from {
left: 40px;
opacity: .3; }
to {
left: 60px;
opacity: 1; }
}

@-webkit-keyframes aftershort_arrow_before {
from {
width: 20px;
opacity: .3; }
to {
width: 40px;
opacity: 1; }
}
@-webkit-keyframes aftershort_arrow_after {
from {
left: 20px;
opacity: .3; }
to {
left: 40px;
opacity: 1; }
}


@-webkit-keyframes afterback_arrow_before {
from {
width: 40px;
opacity: .3; }
to {
width: 60px;
opacity: 1; }
}
@-webkit-keyframes afterback_arrow_after {
from {
left:-40px;
opacity: .3; }
to {
left: -60px;
opacity: 1; }
}

/* footer */
@-webkit-keyframes footer_arrow_before {
from {
width: 40px;
opacity: .5; }
to {
width: 60px;
opacity: 1; }
}
@-webkit-keyframes footer_arrow_after {
from {
left: 40px;
opacity: .5; }
to {
left: 60px;
opacity: 1; }
}

.btn_gold {
position: relative;
display: inline-block;
padding: 1rem 2.5rem 1rem 1rem;
background: var(--font-color);
font-family: var(--font-family-en);
font-size: var(--18px);
font-weight: 500;
line-height: 1;
text-align: center;
color: #FFF;
border-radius: 5px;
transition: all .3s;
cursor: pointer;
}
.btn_gold:hover {
opacity: .7;
}
.btn_gold:after {
position: absolute;
top: 50%;
right:15px;
content: "";
display: block;
width: 9px;
height: 9px;
border-top: 1px solid #FFF;
border-right: 1px solid #FFF;
transform: rotate(45deg) translateY(-50%);
}
.btn_gold.back {
padding: 1rem 1rem 1rem 2.5rem;
background: var(--font-color);
}
.btn_gold.back:after {
top:32%;
right:auto;
left:15px;
transform: rotate(-135deg) translateY(-32%);
}
.btn_gold.down:after {
top:30%;
right:20px;
transform: rotate(135deg) translateY(-30%);
}

.btn_small_gold {
display: inline-block;
padding: .5rem 1rem .5rem .8rem;
background: var(--gray-40);
text-align: center;
line-height: 1.2;
font-size: var(--14px);
letter-spacing: normal;
}
.btn_small_gold:after {
content: "";
display: inline-block;
margin-left: 3px;
width: 7px;
height: 7px;
border-top: 1px solid var(--font-color);
border-right: 1px solid var(--font-color);
transform: rotate(45deg) translateY(-2px);
}
.btn_small_gold.other:after {
border: none;
transform: none;
width: 12px;
height: 9px;
background: url(../images/common/icon_other.svg) no-repeat center center;
background-size: 100%;
}


/* parts */
hr.period {
margin:3rem auto;
border-top: 1px solid var(--gray-40);
width: calc(100% - 40px);
max-width: 1280px;
}
hr.period.dot {
border-top-style: dotted;
}
hr.newline {
margin:1rem auto;
width: 100%;
}
a.anchor {
display: block;
padding-top: 70px;
margin-top: -70px;
}

.wrap_video video {
width: 100%;
}
.wrap_movie {
position: relative;
width: 100%;
padding-top: 56.25%;
}
.wrap_movie iframe {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%
}
.gmap > iframe {
width: 100%;
aspect-ratio: 16/9;
}

.list_default > li {
display: flex;
flex-wrap: wrap;
align-items: center;
padding: 1rem 0;
border-top: 1px solid var(--gray-40);
}
.list_default > li:last-child {
border-bottom: 1px solid var(--gray-40);
}
.list_default > li > strong,
.list_default > li > span {
display: block;
width: 100%;
box-sizing: border-box;
}
.list_default > li > strong {
margin-bottom: .5rem;
font-family: var(--font-family-en);
font-size: var(--18px);
line-height: 1.5;
}
.table_default {
border-top: 1px solid var(--gray-40);
border-left: 1px dotted var(--gray-40);
}
.table_default th,
.table_default td {
padding: .5rem;
border-bottom: 1px solid var(--gray-40);
border-right: 1px dotted var(--gray-40);
line-height: 1.5;
}
.table_default th {
font-weight: 700;
font-size: 87%;
color: var(--gold);
letter-spacing: normal;
background: var(--gold-5);
}



@media only screen and (min-width: 768px) {
/* COMMON */
.list_default > li {
padding: 2rem 0;
}
.list_default > li > strong {
width: 25%;
margin-bottom: 0;
}
.list_default > li > span {
width: 75%;
padding-left: 20px;
}
.table_default td {
padding: 1rem;
}

/* rayout */
.col-inner-sp {
padding: 0;
}

/* text */
.image_letter {
font-size: 19vw;
}

/* title */
.title_22 {font-size: var(--22px);}
.main_title {
margin-bottom: 2rem;
font-size: var(--32px);
}
.main_title::after {
margin: 20px auto 0;
width: 13px;
height: 13px;
}
.sub_title {
font-size: var(--24px);
}

.btn_gold {
padding: 2rem 3rem 2rem 2rem;
}
.btn_gold.back {
padding: 2rem 2rem 2rem 3rem;
}
.btn_gold:after {
right: 20px;
}
.btn_gold.back:after {
top:40%;
left:20px;
transform: rotate(-135deg) translateY(-40%);
}
.btn_gold.down:after {
top:30%;
right:30px;
width: 15px;
height: 15px;
transform: rotate(135deg) translateY(-30%);
}



hr.period {
margin:5rem auto;
width: calc(100% - 60px);
}
hr.newline {
margin:3rem auto;
}

.gmap > iframe {
aspect-ratio: 2.35/1;
}


}/* min-width: 768px */




@media only screen and (min-width: 1340px) {
.image_letter {
font-size: 255px;
}


}/* min-width: 1340px */






/* NEWS */
.list_news li {
margin-top: 2rem;
}
.list_news li > a {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
}
.list_news li > a > figure {
width: 45%;
}
.list_news li > a > figure img {
display: block;
object-fit: cover;
width: 100%;
height: 100px;
}
.list_news li > a > p {
padding-left: 10px;
width: calc(55% - 10px);
font-size: var(--15px);
line-height: 1.7;
}
.list_news li > a > p .date {
display: block;
color: var(--gray);
font-size: var(--14px);
font-weight: 500;
}

@media only screen and (min-width: 768px) {
.list_news {
display: flex;
flex-wrap: wrap;
}
.home .list_news {
justify-content: space-between;
}
.list_news li {
width: calc(25% - 20px);
margin: 0 10px 50px;
box-sizing: border-box;
}
.home .list_news li {
width: 30%;
max-width: 270px;
margin:0;
}
.list_news li > a > figure,
.list_news li > a > p {
width: 100%;
}
.list_news li > a > p {
padding: 10px 0 0 0;
}
.list_news li > a > figure img {
height: 180px;
}
}/* NEWS min-width: 768px */



/* fixed_search */
.btn_fixed {
position: fixed;
bottom: 0;
right:0;
width: 100%;
display: flex;
z-index: 150;
opacity: 0;
}
.btn_fixed > a {
display: block;
width: 100%;
padding: 1rem;
box-sizing: border-box;
text-align: center;
font-family: var(--font-family-en);
font-size: var(--18px);
font-weight: 500;
}
.btn_fixed > a:after {
content: "";
display: inline-block;
margin-left: 5px;
transform: translateY(-2px);
width: 20px;
height: 10px;
background: url(../images/common/icon_fixedbtn_arrow.svg) no-repeat center center;
background-size: 100%;
}
.btn_fixed > a:hover {
opacity: 1;
}
.btn_fixed > a.btn_fixed_search {
background: #878241;
color: #FFF;
cursor: pointer;
}
.btn_fixed > a.btn_fixed_search:after {
width: 12px;
height: 12px;
background-image: url(../images/common/icon_fixedbtn_open_up.svg);
transform: none;
}
.btn_fixed > a.btn_fixed_search.current:after {
background-image: url(../images/common/icon_fixedbtn_close_down.svg);
}
.btn_fixed > a.btn_fixed_search:hover {
background: var(--gold);
}
.btn_fixed > a.btn_fixed_plan {
background: #bcb995;
}
.btn_fixed > a.btn_fixed_plan:hover {
background: var(--gold-60);
}

.btn_fixed.menu {
background: #e7e8ea;
z-index: 600;
}
.btn_fixed.menu > li {
width: 100%;
padding: 6px 0;;
}
.btn_fixed.menu > li > .hmenu-wrapper {
position: relative;
}
.btn_fixed.menu > li > a {
display: block;
text-align: center;
padding: 3px 0;
}
.btn_fixed.menu > li.wrap_hmenu {
background: var(--font-color);
color: #FFF;
font-family:var(--font-family-en);
font-size: var(--15px);
letter-spacing: normal;
}
.btn_fixed.menu > li:nth-child(2) > a,
.btn_fixed.menu > li:nth-child(3) > a {
border-right: 1px solid #dbdddf;
}
.btn_fixed.menu > li > a > span {
display: block;
text-align: center;
font-family:var(--font-family-en);
font-size: var(--15px);
letter-spacing: normal;
}


/* humburger */
.btn_fixed.menu .hmenu-wrapper {
position: relative;
top:0;
right: auto;
}
.btn_fixed.menu .hmenu {
width: 100%;
height: 100%;
}
.btn_fixed.menu .hmenu1,
.btn_fixed.menu .hmenu2 {
width: 40px;
left:0;
right:0;
margin: auto;
}
.btn_fixed.menu .hmenu3 {
position: absolute;
width: 100%;
bottom:4px;
left:50%;
transform: translateX(-50%);
text-align: center;
}
.btn_fixed.menu .hmenu1{top:12px}
.btn_fixed.menu .hmenu2{top:20px}
.btn_fixed.menu .hmenuclick1,
.btn_fixed.menu .hmenuclick2 {
top:16px;
}
.btn_fixed.menu .hmenuclick1{transform: rotate(45deg);}
.btn_fixed.menu .hmenuclick2{transform: rotate(-45deg);}




@media only screen and (min-width: 768px) {
.btn_fixed {
flex-wrap: wrap;
width: 50px;
}
.btn_fixed > a {
display: inline-flex;
align-items: center;
justify-content: center;
writing-mode:vertical-rl;
-ms-writing-mode:vertical-rl;
-moz-writing-mode:vertical-rl;
-webkit-writing-mode:vertical-rl;
white-space: nowrap;
letter-spacing: 0.1em;
height: 180px;
}
.btn_fixed > a:after {
margin-left: 0;
margin-top: 8px;
}
.btn_fixed.menu {
width: 90px;
}
.btn_fixed.menu > li {
padding: 0 3px;
}
.btn_fixed.menu > li > a,
.btn_fixed.menu .hmenu {
min-height: 90px;
font-size: var(--15px);
letter-spacing: normal;
}
.btn_fixed.menu > li > a {
padding: 15px 0 0;
}
.btn_fixed.menu > li:nth-child(2) > a,
.btn_fixed.menu > li:nth-child(3) > a {
border-right: none;
border-bottom: 1px solid #dbdddf;
}
.btn_fixed.menu > li:nth-child(3) > a > span {
letter-spacing: -0.05em;
}
.btn_fixed.menu .hmenu1{top:30px}
.btn_fixed.menu .hmenu2{top:38px}
.btn_fixed.menu .hmenuclick1,
.btn_fixed.menu .hmenuclick2 {
top:34px;
}

}/* min-width: 768px */




/* slick */
/* Dots */
.slick-dotted.slick-slider {
margin-bottom: 30px;
}
.slick-dots {
position: absolute;
bottom: -25px;
display: block;
width: 100%;
padding: 0;
margin: 0;
list-style: none;
text-align: center;
}
.slick-dots li{
position: relative;
display: inline-block;
width: 30px;
height: 3px;
margin: 0 5px;
padding: 0;
cursor: pointer;
}
.slick-dots li button{
font-size: 0;
line-height: 0;
display: block;
width:100%;
height: 100%;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
opacity: 1;
}
.slick-dots li button:before {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: '';
text-align: center;
opacity: 1;
background: var(--gray-40);
}
.slick-dots li.slick-active button:before{
background: var(--font-color);
}
.default_slider .slick-dots {
text-align: left;
}
.default_slider .slick-dots li:first-child {
margin-left: 0;
}


@media only screen and (min-width: 768px) {
.slick-dots {
bottom: -50px;
}
.slick-dots li{
margin: 0 8px;
width: 50px;
}
.default_slider .slick-dots {
bottom: -30px;
}

}/* slick min-width: 768px */




/* Form Parts */
/* form common parts */
input[type=checkbox] {
display: none;
}
.checkbox {
box-sizing: border-box;
position: relative;
display: inline-block;
margin: 0;
padding-left: 28px;
color: var(--gold);
font-weight: 500;
font-family: var(--font-family-en);
font-size: var(--18px);
vertical-align: middle;
cursor: pointer;
}
.checkbox:after {
position: absolute;
top: 50%;
left: 0;
display: block;
margin-top: -10px;
width: 20px;
height: 20px;
background: #FFF;
border-radius: 3px;
content: '';
background: #F0F0D9;
}
.checkbox:before {
position: absolute;
top: 50%;
left:6px;
display: block;
margin-top: -10px;
width: 8px;
height: 16px;
border-right: 3px solid var(--logogold);
border-bottom: 3px solid var(--logogold);
content: '';
opacity: 0;
transform: rotate(45deg);
z-index: 10;
}
input[type=checkbox]:checked + .checkbox:before {
opacity: 1;
}
::-webkit-input-placeholder {
color: var(--gray);
opacity: 0.5;
}
::-moz-placeholder {
color: var(--gray);
opacity: 0.5;
}
input:focus {outline:none;}

.select {
background:#FFF url(../images/common/arrow_select.svg) no-repeat right 10px top 50%;
background-size: 15px;
padding: 1.1rem 3rem 1.1rem 1rem;
font-size:16px;
box-sizing: border-box;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap
}



/* loader */
.loader-wrap {
position: fixed;
top:0;
left:0;
display: none;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background: #fff;
z-index: 2000;
}
.loader,
.loader:after {
border-radius: 50%;
width: 70px;
height: 70px;
}
.loader {
margin: 60px auto;
font-size: 10px;
position: relative;
text-indent: -9999em;
border-top: 3px solid rgba(131, 161, 202, 0.2);
border-right: 3px solid rgba(131, 161, 202, 0.2);
border-bottom: 3px solid rgba(131, 161, 202, 0.2);
border-left: 3px solid var(--dark-blue);
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
-webkit-animation: load8 1.1s infinite linear;
animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes load8 {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}



@media only screen and (min-width: 960px) {
.loader-wrap {
display: flex;
}
}



/* 緊急のお知らせ用 */
.txt_urgent {
position: absolute;
top:50px;
left:5px;
display: block;
padding: .6rem 1.2rem;
box-sizing: border-box;
font-size: var(--14px);;
width:calc(100% - 120px);
background:  rgba(255,255,255,.7);
border:1px solid rgba(255,255,255,.9);
border-radius: 5px;
z-index: 120;
}
.txt_urgent > span {
display: block;
padding: 5px 0;
}
.txt_urgent a {
display: inline-block;
}
.txt_urgent a:after {
display: inline-block;
margin-left: 5px;
width: 9px;
height: 9px;
content: "";
border-right: 1px solid var(--font-color);
border-top: 1px solid var(--font-color);
transform: rotate(45deg);
}
.txt_urgent > span + span {
border-top:1px dotted var(--font-color);
}
@media only screen and (min-width: 768px) {
.txt_urgent {
left:50%;
transform: translateX(-50%);
width: min(70%,1080px);
padding: .6rem 2rem;
}
}/* min-width: 768px */
