@charset "utf-8";
/* Common */
.txt--large {font-size: 1.2em}
.txt--small {font-size: 0.8em}
.txt--l{text-align: left !important;}
.txt--r {text-align: right !important;}
.txt--c {text-align: center !important;}
.txt--ul {text-decoration: underline !important;}
.txt--red {color: #ff2222;}
.marker{background: linear-gradient(transparent 80%, #ffcee7 80%);}
.is--pc {display: block !important;}
.is--sp {display: none !important;}
.spbr {display: none !important;}
.invisible {visibility: hidden;}
.m0 {margin: 0 auto !important;}
.mb10{margin-bottom: 10px !important;}
.mb20{margin-bottom: 20px !important;}
.pt0 {padding-top: 0 !important;}
.p0 {padding: 0 !important;}
.disc li {list-style-type: disc;}
.decimal li {list-style-type: decimal;}
*[animation]{visibility: hidden;}
/* Links */
a.icn[href^="/"][target="_blank"]:after {
   content: "";
   display: inline-block;
   width: 14px;
   height: 14px;
   line-height: 20px;
   margin: 0 10px 2px 6px;
   background: url(/img/common/icn_link.png) center no-repeat;
   background-size: contain;
   vertical-align: middle;
}
a.icn[href^="http"][target="_blank"]:after {
   content: "";
   display: inline-block;
   width: 14px;
   height: 14px;
   line-height: 20px;
   margin: 0 10px 2px 6px;
   background: url(/img/common/icn_link.png) center no-repeat;
   background-size: contain;
   vertical-align: middle;
}
a.icn[href^="/"][href$=".pdf"]:after {
   content: "PDF";
   background-color: #fff;
}
a.icn[href^="/"][href$=".xls"]:after {
   content: "XLS";
   background-color: #fff;
}
a.icn[href^="/"][href$=".xlsx"]:after {
   content: "XLSX";
   background-color: #fff;
}
a.icn[href^="/"][href$=".xlsm"]:after {
   content: "XLSM";
   background-color: #fff;
}
a.icn[href^="/"][href$=".doc"]:after {
   content: "DOC";
   background-color: #fff;
}
a.icn[href^="/"][href$=".docx"]:after {
   content: "DOCX";
   background-color: #fff;
}
a.icn[href^="/"][href$=".zip"]:after {
   content: "ZIP";
   background-color: #fff;
}
a.icn_up:after {
   content: "UP";
   display: inline-block;
   margin: 0 10px 0 8px;
   padding: 0 5px;
   font-size: 1.1rem;
   color: #fff;
   font-weight: bold;
   background-color: #ef3200;
}
.link--html {
   display: inline-block !important;
   margin: 0 4px !important;
   padding: 0 5px !important;
   background-color: #335c80 !important;
   font-size: 1.1rem !important;
   color: #fff !important;
   font-weight: bold !important;
   text-decoration: none !important;
}
.link--pdf {
   display: inline-block !important;
   margin: 0 4px !important;
   padding: 0 5px !important;
   background-color: #b11010 !important;
   font-size: 1.1rem !important;
   color: #fff !important;
   font-weight: bold !important;
   text-decoration: none !important;
}
.icn__new {
   font-size: 1.1rem;
   line-height: 20px;
   margin: 0 4px;
   padding: 0 5px;
   background-color: #ff5f5f;
   color: #fff;
}
/* Print */
@media print{
   body {
      zoom: 0.56;
      
   }   
   .schedule_table {
      overflow: inherit !important;
   }
   }
/* Common */
.serif{
   font-family: 'Noto Serif JP', serif !important;
}
.maru{
   font-family: "Kosugi Maru" !important;
}
.num{
   font-family: "Rubik" !important;
}
.bold{
   font-weight: bold !important;
}
.txt--g{
   color: #00a896 !important;
}
.btn_wrap{
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 20px 0;
}
.btn_wrap a:first-child{
   margin-left: 0;
}
.btn_wrap a:last-child{
   margin-right: 0;
}
.btn_wrap--l{
   justify-content: flex-start;
}
.btn_wrap--r{
   justify-content: flex-end;
}

.btn_01{
   position: relative;
   display: inline-block;
   padding: 5px 30px 5px 15px;
   color: #ffffff;
   background-color: #0d68a0;
   text-decoration: none;
}

.btn_01:after{
   content: "";
   position: absolute;
   right: 12px;
   top: 50%;
   width: 8px;
   height: 8px;
   border-right: 1px solid #ffffff;
   border-bottom: 1px solid #ffffff;
   transform: translateY(-50%) rotate(-45deg);
   background-size: contain;
}

/* All */
html{
   font-size: 62.5%;
}
body {
   position: relative;
   font-family: "Noto Sans JP";
   color: #333;
   background-color: #fff;
   font-size: 1.6rem;
   line-height: 3.0rem;
   min-height: 100vh;
}
main{
   position: relative;
   padding-bottom: 0;
   margin: 0 auto;
   overflow: hidden;
   padding-left: 300px;
}
.header{
   position: fixed;
   top: 0;
   left: 0;
   width: 300px;
   height: 100%;
   background-color: #fff;
   z-index: 80;
}
.header_wrap{
   position: relative;
   height: 100%;
   padding-top: 280px;
}
.header_logo{
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   padding: 40px;
   background-color: #fff;
   transition: all 0.8s;
}
.home .header_logo{
   width: calc(100% + 26px);
   padding: 50px;
   background-color: #f2eee9;
   animation: topLogo 1s ease-in-out;
   animation-fill-mode: both;
}
@keyframes topLogo{
	0%{
      opacity: 0;
      transform: translateX(-60px);
	}
	100%{
      opacity: 1;
      transform: translateX(0);
	}
}
.header_logo.is--scrolled{
   width: 100%;
   padding: 40px;
   background-color: #fff;
}
.header_navi{
   height: 100%;
}
.header_navi ul{
   display: flex;
   flex-direction: column;
   align-items: center;
   height: 100%;
   max-height: 500px;
   padding: 0;
   margin: 0;
}
.header_navi ul li{
   position: relative;
   height: calc(100% / 7);
   display: flex;
   justify-content: center;
   align-items: center;
}

.home .header_navi ul li{
   animation: topLogo 1s ease-in-out;
   animation-fill-mode: both;
}
@keyframes topLogo{
	0%{
      opacity: 0;
      transform: translateX(-60px);
	}
	100%{
         opacity: 1;
      transform: translateX(0);
	}
}

.home .header_navi ul li:nth-child(1){
   animation-delay: 0.1s;
}
.home .header_navi ul li:nth-child(2){
   animation-delay: 0.2s;
}
.home .header_navi ul li:nth-child(3){
   animation-delay: 0.3s;
}
.home .header_navi ul li:nth-child(4){
   animation-delay: 0.4s;
}
.home .header_navi ul li:nth-child(5){
   animation-delay: 0.5s;
}
.home .header_navi ul li:nth-child(6){
   animation-delay: 0.6s;
}
.home .header_navi ul li:nth-child(7){
   animation-delay: 0.7s;
}
.home .header_navi ul li:nth-child(8){
   animation-delay: 0.8s;
}
.header_navi ul li:after{
   content: "";
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   margin: 0 auto;
   display: block;
   width: 20px;
   height: 1px;
   background-color: #333;
}
.header_navi ul li:last-child:after{
   display: none;
}
.header_navi ul li a{
   color: #333;
   text-decoration: none;
}
.button-toggle{
   display: none;
}
.pagetop_wrap {
   position: fixed;
   bottom: 0;
   right: 0;
   display: block;
   width: 50px;
   height: 50px;
   margin-left: auto;
   overflow: hidden;
   z-index: 6;
}
.pagetop_wrap.pagetop_wrap--fixed {
   position: absolute;
}
.btn__pagetop {
   position: relative;
   bottom: -50px;
   display: block;
   width: 50px;
   height: 50px;
   background-color: #706054;
   transition: all 0.3s;
}
.btn__pagetop.hover{
   opacity: 0.8;
}
.btn__pagetop:after{
   content: "";
   position: absolute;
   top: 20px;
   left: 0;
   right: 0;
   display: block;
   width: 20px;
   height: 20px;
   margin: auto;
   border-width: 2px 2px 0 0;
   border-style: solid;
   border-color: #fff;
   transform: rotate(-45deg);
}
.btn__pagetop.btn__pagetop--show{
   bottom: 0;
}
.footer {
   left: 0;
   bottom: 0;
   display: flex;
   justify-content: flex-end;
   flex-direction: column;
   width: 100%;
   padding: 40px 0 0 300px;
   background-color: #ffffff;
}
.footer_wrap{
   text-align: center;
}
.footer_logo{
   width: 100%;
   max-width: 240px;
   margin: 20px auto;
}
.footer_navi{
   padding: 30px 0;
}
.footer_navi nav ul{
   max-width: 500px;
   padding: 0;
   margin: 0 auto;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
}
.footer_navi nav ul li{
   position: relative;
   padding-right: 30px;
}
.footer_navi nav ul li:after{
   content: "";
   position: absolute;
   right: 15px;
   top: 50%;
   display: block;
   height: 22px;
   width: 1px;
   background-color: #333;
   transform: translateY(-50%) rotate(45deg);
}
.footer_navi nav ul li:last-of-type:after{
   content: "";
   display: none;
}
.footer_navi nav ul li a{
   line-height: 40px;
   color: #333;
   text-decoration: none;
}

/* footer link */

.footer_link{
   position: relative;
   padding: 10px 0 20px;
   background-color: #f4f4f4;
}
.footer_link>p{
   position: relative;
   display: block;
   padding-bottom: 10px;
   margin-bottom: 10px;
   line-height: 32px;
   border-bottom: 1px solid #e1e1e1;
   font-size: 2rem;
   text-decoration: none;
   font-family: 'Noto Serif JP', serif;
   color: #666666;
}
.footer_link>a{
   position: absolute;
   top: 12px;
   right: 20px;
   display: inline-block;
   padding: 3px 24px 3px 10px;
   margin: 0 0 10px 20px;
   line-height: 24px;
   font-size: 1.4rem;
   color: #333;
   text-decoration: none;
   font-family: 'Noto Serif JP', serif;
   vertical-align: middle;
}
.footer_link>a:after{
   content: "";
   position: absolute;
   right: 12px;
   top: 50%;
   width: 5px;
   height: 5px;
   border-right: 1px solid #333;
   border-bottom: 1px solid #333;
   transform: translateY(-50%) rotate(-45deg);
   background-size: contain;
}
.footer_link ul{
   display: flex;
   justify-content: center;
   align-items: center;
   margin: 0;
   padding: 0;
}
.footer_link ul li{
   display: block;
}
.footer_link ul li a{
   position: relative;
   display: block;
   width: 140px;
   height: 140px;
   margin: 0 10px;
   text-decoration: none;
   background-color: #00a896;
   color: #fff;
}
.footer_link ul li p{
   position: absolute;
   bottom: 0;
   left: 0;
   display: block;
   width: 100%;
   font-size: 1.4rem;
   color: #ffffff;
   background-color: #00000077;
}
.copyright{
   background-color: #7a6d65;
   color: #fff;
   font-size: 1.3rem;
}


.top_kv__bg{
   position: relative;
   height: 70vh;
   max-height: 680px;
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
}
.top_kv__bg .bg{
   position: relative;
   width: 25%;
   background-repeat: no-repeat;
   background-size: cover;
}
.top_kv__bg .bg:after{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   display: block;
   width: 100%;
   height: 100%;
   background-color: #b976323b;
}
.top_kv__bg .bg--1{
   background-image: url(/img/top/img_bg1.webp);
   background-position: 65% 50%;
}
.top_kv__bg .bg--2{
   background-image: url(/img/top/img_bg2.webp);
   background-position: 50% 50%;
}
.top_kv__bg .bg--3{
   background-image: url(/img/top/img_bg3.webp);
   background-position: 44% 50%;
}
.top_kv__bg .bg--4{
   background-image: url(/img/top/img_bg4.webp);
   background-position: 68% 50%;
}
.top_kv h1{
   position: absolute;
   top: 50%;
   left: 0;
   width: 100%;
   text-align: center;
   transform: translateY(-50%);
   font-weight: normal;
   color: #fff;
   font-size: 3rem;
   text-shadow: 0 0 3px #00000055;
}
.top_kv p{
   position: absolute;
   left: 50%;
   bottom: 0;
   transform: translateX(-50%);
   display: block;
   width: 100%;
   padding: 10px 0;
   line-height: 20px;
   font-size: 1.5rem;
   letter-spacing: 3px;
   background-color: #513c1e88;
   text-align: center;
   font-weight: normal;
   color: #fff;
}
.top_kv__logo{
   position: relative;
   text-align: center;
}
.top_kv__logo:after{
   content: "";
   position: absolute;
   bottom: -1px;
   left: 0;
   display: block;
   width: 100%;
   height: 100px;
   background: url(/img/top/top_bg.svg) center no-repeat;
   background-size: cover;
   z-index: -1;
   transform: rotate(180deg);
}
.top_kv__logo>div{
   padding: 30px 60px;
}
.top_kv__logo>div img{
   width: 120px;
   opacity: 0.4;
}
.top_intro{
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 60px 60px 120px;
   font-family: 'Noto Serif JP', serif;
   background-color: #f4f2ea;
}
.top_intro:after{
   content: "";
   position: absolute;
   bottom: -1px;
   left: 0;
   display: block;
   width: 100%;
   height: 100px;
   background: url(/img/top/top_bg2.svg) center no-repeat;
   background-size: cover;
   transform: rotate(180deg);
}
.top_intro__left{
   width: calc(100% - 460px);
   max-width: 860px;
   min-width: 500px;
   margin-right: 60px;
}
.top_intro__right{
   width: 400px;
}
.top_intro__right p{
   text-align: center;
   font-size: 2.2rem;
}
.ttl{
   position: relative;
   padding: 20px 0;
}
.ttl p{
   display: inline-block;
   line-height: 16px;
   padding: 0 15px;
   margin-bottom: 15px;
   letter-spacing: 5px;
   background-color: #4c453e;
   color: #fff;
   font-family: "Rubik";
   font-size: 1.3rem;
}
.ttl h2{
   line-height: 60px;
   font-size: 3.4rem;
   font-family: 'Noto Serif JP', serif;
}
.ttl h2 span{
   display: inline-block;
}
.ttl--ul{
   padding-bottom: 24px;
}
.ttl--ul:before{
   content: "";
   position: absolute;
   bottom: 15px;
   left: 0;
   width: 30%;
   height: 2px;
   background-color: #c80;
}
.ttl--ul:after{
   content: "";
   position: absolute;
   bottom: 15px;
   left: 30%;
   width: 70%;
   height: 2px;
   background-color: #666;
}
.top_facility .ttl{
   padding: 60px 80px;
}
.top_facility__box{
   position: relative;
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 50px;
}
.top_facility__box:after{
   content: "";
   position: absolute;
   top: 50%;
   left: 0;
   width: 100%;
   height: 280px;
   background-color: #f4f4f4;
   transform: translateY(-50%);
   z-index: -1;
}
.top_facility__list .top_facility__box:nth-child(2n){
   flex-direction: row-reverse;
}
.top_facility__txt{
   position: relative;
   width: 40%;
   height: 280px;
   padding-left: 80px;
   display: flex;
   justify-content:center;
   align-items: flex-start;
   flex-direction: column;
}
.top_facility__txt .cat{
   position: absolute;
   top: -12px;
   left: 80px;
   display: block;
   line-height: 24px;
   padding: 0 15px;
   color: #fff;
   background-color: #8ea6b2;
   letter-spacing: 5px;
}
.top_facility__txt .cat.cat--02{
   background-color: #b29c87;
}
.top_facility__txt h3{
   margin-bottom: 15px;
   font-family: "Kosugi Maru" !important;
   font-size: 3.2rem;
   font-weight: normal;
}
.top_facility__txt h3 span{
   display: block;
   font-size: 1.6rem;
}
.top_facility__txt .access{
   margin-bottom: 15px;
   line-height: 22px;
   font-size: 1.5rem;
}
.top_facility__img{
   width: 60%;
}
.top_rinen{
   display: flex;
   justify-content: space-evenly;
   padding: 60px 80px;
   background-color: #f4f2ea;
   font-family: 'Noto Serif JP', serif;
}
.top_rinen__txt{
   margin-right: 20px;
}
.top_rinen__txt h3{
   padding-bottom: 6px;
   margin-top: 30px;
   border-bottom: 1px solid #333;
   font-size: 2.4rem;
}
.top_rinen__txt ul{
   padding-left: 15px;
}
.top_rinen__txt li{
   list-style-type: circle;
}
ul.list__num1 li{
   position: relative;
   list-style-type: none;
}
ul.list__num1 li:before{
   content: "1.";
   position: absolute;
   left: -15px;
   top: 0;
}
.top_logo_exp{
   position: relative;
   padding: 40px;
   text-align: center;
   background-color: #fff;
   font-family: "Kosugi Maru" !important;
}
.top_logo_exp:before{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   margin: auto;
   display: block;
   width: calc(100% - 40px);
   height: calc(100% - 40px);
   border: 2px solid #a08f82;
}
.top_logo_exp h3{
   padding: 20px 0;
   font-weight: normal;
   font-size: 2.2rem;
}
.top_logo_exp p {
   text-align: left;
}
.pagettl{
   width: 100%;
   padding: 60px 0;
   margin: 0;
   background-color: #86958c;
}
.pagettl h1{
   text-align: center;
   color: #fff;
   font-size: 2rem;
   font-weight: normal;
}
.pagettl p{
   position: relative;
   display: block;
   line-height: 40px;
   padding: 0 0 15px;
   margin: 0 0 15px;
   font-size: 5rem;
   text-align: center;
   font-family: "Montserrat";
   color: #fff;
   text-shadow: 2px 2px 7px #0000005c;
}
.history_wrap,.announcement_wrap{
   width: 100%;
   margin: 0 auto;
   padding-bottom: 40px;
   background-color: #eef5f3;
}
.history_contents,.announcement_contents{
   width: 100%;
   max-width: 1200px;
   margin: 0 auto;
   padding: 60px 0;
}
.history_contents table,.announcement_contents table{
   width: 100%;
   max-width: 800px;
   margin: 0 auto;
   table-layout: auto;
}
.history_contents th,.announcement_contents th{
   padding: 10px 15px;
   color: #000000;
   text-align: center;
   font-weight: normal;
   border-top: 1px solid #aaaaaa;
   border-bottom: 1px solid #aaaaaa;
   white-space: nowrap;
}
.history_contents td,.announcement_contents td{
   padding: 10px 15px;
   border-top: 1px solid #aaaaaa;
   border-bottom: 1px solid #aaaaaa;
   text-align: left;
   font-weight: normal;
}
.announcement_wrap h2{
   text-align: center;
   font-weight: normal;
   color: #fff;
   background-color: #86958c;
   line-height: 100px;
   font-size: 2rem;
}
.announcement_contents td a{
   color: #000000;
}
.character_wrap{
   width: 100%;
   margin: 0 auto;
   padding-bottom: 50px;
}
.character_contents{
   display: flex;
   justify-content:space-around;
   width: 100%;
   flex-wrap: wrap;
   margin: 0 auto;
   padding:  0 0;
}
.character_box{
   position: relative;
   width: 25%;
   padding: 60px 0;
   margin: 0;
   text-align: center;
   text-decoration: none;
   color: #333;
}
.character_box:after{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #f4f4f4;
   z-index: -1;
}
.character_contents .character_box:nth-child(1):after{
   background-color: #ecf3f7;
}
.character_contents .character_box:nth-child(2):after{
   background-color: #ecf7ef;
}
.character_contents .character_box:nth-child(3):after{
   background-color: #f7ecec;
}
.character_contents .character_box:nth-child(4):after{
   background-color: #fbede1;
}
.character_box h3{
   margin-bottom: 20px;
   font-size: 2.6rem;
   font-family: "Kosugi Maru";
}
.character_box img{
   display: block;
   width: calc(100% - 40px);
   max-width: 240px;
   margin: 0 auto;
   transition: all 0.3s;
   animation: characterMove 6s ease-in-out infinite;
   animation-fill-mode: both;
}
@keyframes characterMove{
   0% {
      transform: translateY(-5px)rotate(1deg);
      }
      25% {
         transform: translateY(0)rotate(0);
      }
      50% {
         transform: translateY(-5px)rotate(-1deg);
      }
      75% {
         transform: translateY(0)rotate(0);
      }
      100% {
         transform: translateY(-5px)rotate(1deg);
      }
}
.character_box.hover img{
   animation: characterHover .5s ease-in-out;
   animation-fill-mode: both;
}
@keyframes characterHover{
   0% {
      transform: translateY(0);
      }
      100% {
         transform: scale(1.1);
      }
}
.character_bg{
   width: 100%;
   background-color: #f4f4f4;
}
.character_bg img{
   display: block;
   margin: 0 auto;
   width: 100%;
   max-width: 1620px;
}
@media screen and (max-width: 1480px) {
   .top_kv h1{
      top: 46%;
   }
   .top_kv__bg .bg{
      width: 50%;
   }
   
.top_kv__bg .bg--1{
   background-position: 35% 26%;
}
.top_kv__bg .bg--2{
   background-position: 50% 40%;
}
.top_kv__bg .bg--3{
   background-position: 38% 35%;
}
.top_kv__bg .bg--4{
   background-position: 68% 50%;
}
}

@media screen and (max-width: 1024px) {
.is--pc {display: none !important;}
.is--sp {display: block !important;}  
.spbr {display: block !important;}  


.header{
   width: 100%;
   height: 70px;
}
.header_wrap{
   display: flex;
   justify-content: space-between;
   padding-top: 0;
   padding: 5px 10px;
}
.header_logo{
   position: static;
   display: block;
   width: auto;
   max-width: 280px;
   height: auto;
   padding: 0;
   background-color: #fff;
}
.home .header_logo{
   position: static;
   display: block;
   width: auto;
   max-width: 280px;
   height: auto;
   padding: 0;
   background-color: #fff;
}
.header_logo.is--scrolled{
   width: auto;
   padding: 0;
}
.button-toggle{
   position: relative;
   display: block;
   width: 34px;
   height: 60px;
   cursor: pointer;
   z-index: 6;
}
.button-toggle:before{
   content: "";
   position: absolute;
   top: 10px;
   left: 0;
   display: block;
   width: 100%;
   height: 2px;
   background-color: #666666;
   transition: all 0.3s;
}
.button-toggle:after{
   content: "";
   position: absolute;
   top: 34px;
   left: 0;
   display: block;
   width: 100%;
   height: 2px;
   background-color: #666666;
   transition: all 0.3s;
}
.toggle_parts{
   position: absolute;
   top: 22px;
   left: 0;
   display: block;
   width: 100%;
   height: 2px;
   background-color: #666666;
   transition: all 0.3s;
}
.button-toggle span{
   position: absolute;
   bottom: 0;
   left: 0;
   display: block;
   width: 100%;
   text-align: center;
   font-size: 1.2rem;
   color: #666666;
}
.button-toggle.is-open:before{
   top: 20px;
   transform: rotate(45deg);
}
.button-toggle.is-open:after{
   top: 20px;
   transform: rotate(-45deg);
}
.button-toggle.is-open .toggle_parts{
   opacity: 0;
}
.header_navi{
   position: absolute;
   visibility: hidden;
   top: 70px;
   left: 0;
   width: 100%;
   height: 0;
   background-color: #fff;
   overflow: hidden;
   transition: all 0.3s;
}
.header_navi.is-open{
   visibility: visible;
   height: auto;
   animation: menuShow .5s ease-in-out;
   animation-fill-mode: both;
}
@keyframes menuShow{
   0% {
      opacity: 0;
      }
      100% {
         opacity: 1;
      }
}
.header_navi ul{
   max-height: inherit;
}
.header_navi ul li{
   height: 60px;
}
.header_navi ul li:after{
   width: 12px;
}
main{
   padding-top: 70px;
   padding-left: 0;
}
.footer{
   padding-left: 0;
}
/* footer link */

.footer_link>p{
   font-size: 1.7rem;
   margin-bottom: 15px;
}
.footer_link>a{
   position: relative;
   top: inherit;
   right: inherit;
   width: 120px;
   margin: 0 0 10px;
}
.footer_link ul{
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
}
.footer_link ul li a{
   margin: 10px;
}
.top_kv__bg{
   height: 60vh;
   min-height: 80vw;
}
.top_kv h1{
   width: 100%;
   font-size: 2.4rem;
   line-height: 55px;
}
.top_kv p{
   font-size: 1.3rem;
}
.top_kv__logo>div{
   padding: 15px;
}
.top_kv__logo>div img{
   width: 80px;
}
.top_kv__logo:after{
   height: 60px;
}
.top_intro{
   display: block;
   padding: 40px 10px 100px;
}
.top_intro__left{
   width: 100%;
   max-width: 100%;
   min-width: 100%;
   margin: 0 0 30px 0;
}
.top_intro__right{
   width: 100%;
}
.top_intro__right p{
   font-size: 1.8rem;
}
.ttl h2{
   line-height: 40px;
   font-size: 2.4rem;
}
.top_intro:after{
   height: 60px;
}
.top_facility{
   padding: 30px 0;
}
.top_facility .ttl{
   padding: 20px 10px;
}
.top_facility__list{
   padding: 40px 0 0;
}
.top_facility__box{
   display: block;
}
.top_facility__box:after{
   display: none;
}
.top_facility__txt{
   position: relative;
   width: calc(100% - 40px);
   height: auto;
   padding: 20px 20px 40px;
   margin-right: 40px;
   background-color: #eeeeee;
   z-index: 1;
}
.top_facility__txt h3{
   font-size: 2.4rem;
}
.top_facility__txt .cat{
   left: 20px;
   background-color: transparent;
   color: #cfc7be;
   top: -23px;
   font-size: 2.8rem;
}
.top_facility__txt .cat.cat--02{
   background-color: transparent;
}
.top_facility__txt .btn_01{
   position: absolute;
   right: -15px;
   top: 50px;
   display: block;
   width: 40px;
   padding: 0;
   height: 40px;
   text-indent: 200%;
   white-space: nowrap;
   overflow: hidden;
}
.top_facility__txt .btn_01:after{
   content: "";
   position: absolute;
   right: 18px;
   top: 50%;
   width: 15px;
   height: 15px;
   border-right: 2px solid #ffffff;
   border-bottom: 2px solid #ffffff;
   transform: translateY(-50%) rotate(-45deg);
   background-size: contain;
}
.top_facility__img{
   position: relative;
   width: calc(100% - 40px);
   margin-top: -30px;
   margin-left: 40px;
   z-index: 2;
}
.top_rinen{
   display: block;
   padding: 40px 10px 80px;
}
.top_rinen__txt{
   margin: 0 0 20px;
}
.top_rinen__txt h3{
   font-size: 2rem;
}
.top_logo_exp{
   padding: 20px;
}
.top_logo_exp:before{
   width: calc(100% - 20px);
   height: calc(100% - 20px);
}
.pagettl p{
   font-size: 3.6rem;
}
.pagettl h1{
   font-size: 1.8rem;
}

.history_contents th{
   padding: 5px 5px;
   color: #000000;
   text-align: center;
   font-weight: normal;
   border-top: 1px solid #aaaaaa;
   border-bottom: 1px solid #aaaaaa;
   white-space: nowrap;
}
.history_contents td{
   padding: 5px 5px;
   border-top: 1px solid #aaaaaa;
   border-bottom: 1px solid #aaaaaa;
   text-align: left;
   font-weight: normal;
}
.character_box{
   width: 100%;
}
.character_box img{
   max-width: 200px;
}




}





















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