@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(/azabu28/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(/azabu28/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: #1f645c;
   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;
}
/* 画像の角丸 */
.imgwrap{
   display: block;
   margin: 0;
   padding: 0;
   overflow: hidden;
}
.imgwrap img{
   display: block;
   width: 100%;
   margin: 0;
}
.radius_r{
   border-radius: 0 36px 36px 0;
}
.radius_l{
   border-radius: 36px 0 0 36px;
}

/* 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;
   padding-top: 90px;
}
main{
   position: relative;
   min-height: calc(100vh - 363px);
   padding-bottom: 0;
   margin: 0 auto;
   overflow: hidden;
}
.header{
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 7;
   transition: transform .3s ease;
}
.header--hide {
   transform: translateY(-110%);
 }
.header.is-open{
   position: fixed;
   transform: translateY(0);
}
.header_wrap{
   display: flex;
   justify-content: flex-end;
   align-items: center;
   width: 100%;
   height: 90px;
   padding: 0 10px 0 40px;
   background-color: #fff;
   transition: all 0.3s;
}
.header_logo{
   width: 320px;
   max-width: 100%;
   margin-right: auto;
}
.header_fontsize{
   display: flex;
   justify-content: space-between;
   align-items: center;
   min-width: 160px;
   margin-right: 60px;
   font-size: 1.4rem;
}
.header_fontsize p{
   margin-right: 10px;
}
.header_fontsize div button{
   line-height: 24px;
}
.header_fontsize div button.active{
   background:linear-gradient(transparent 75%, #87ccfd 75%);
}
.header_fontsize div button:first-of-type{
   margin-right: 10px;
}
.header_fontsize--sp{
   display: none;
}
.button-toggle{
   display: none;
}
.header_menu__close{
   display: none;
}
.header_menu{
   padding-left: 20px;
}
.header_menu ul{
   display: flex;
   justify-content: space-around;
   align-items: center;
   padding: 0;
}
body.home .header_menu ul{
   animation: topMenu 1s ease-in-out;
   animation-fill-mode: both;
   animation-delay: 2s;
}
@keyframes topMenu{
	0%{
      opacity: 0;
      transform: translateX(100%);
	}
	100%{
      opacity: 1;
      transform: translateX(0);
	}
}

.header_menu ul li{
   position: relative;
   margin: 0 30px 0 0;
   white-space: nowrap;
}
.header_menu ul li a{
   text-decoration: none;
   color: #333;
}
.header_menu ul li a.active{
   position: relative;
}
.header_menu ul li a.active:after{
   content: "";
   position: absolute;
   bottom: -10px;
   left: 50%;
   transform: translateX(-50%);
   display: block;
   width: 30px;
   height: 4px;
   background-color: #00a896;
   border-radius: 2px;
   animation: activeBar 1s ease-in-out;
   animation-fill-mode: both;
   animation-delay: 1s;
}
@keyframes activeBar{
	0%{
      bottom: -15px;
      background-color: #fff;
	}
	100%{
      bottom: -10px;
      background-color: #00a896;
	}
}

.header_rightarea{
   padding: 0 0 0 20px;
   border-left: 2px solid #ccc;
}
body.home .header_rightarea{
   animation-delay: 2s;
}
.header_tel{
   position: relative;
   padding-left: 30px;
   font-size: 24px;
}
.header_tel:after{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 25px;
   height: 25px;
   background: url(/azabu28/img/common/tel2.png) center no-repeat;
   background-size: contain;
}
.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: #1f645c;
   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;
   background-color: #ffffff;
   border-top: 3px solid #1f645c;
}
.footer_wrap{
   text-align: center;
}
.footer_logo{
   width: 100%;
   max-width: 320px;
   margin: 0 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_wrap{
   position: relative;
   padding: 0 0 24px 60px;
}
.scroll_notice{
   padding-bottom: 15px;
   line-height: 15px;
   position: absolute;
   bottom: 15px;
   left: 50%;
   color: #fff;
   display: block;
   cursor:default;
   opacity: 1;
   transform: translateX(-50%);
   transition: all 0.5s;
}
.scroll_notice:after{
   content: "";
   position: absolute;
   left: 50%;
   bottom: 0;
   width: 6px;
   height: 6px;
   border-right: 1px solid #fff;
   border-bottom: 1px solid #fff;
   transform: translate(-50%) rotate(45deg);
   background-size: contain;
   animation: scrollNotice 1.2s ease-in-out infinite;
}
.scroll_notice.disable{
   opacity: 0;
}
.scroll_notice p {
   font-size: 1.3rem;
}
@keyframes scrollNotice{
	0%{
      bottom: 8px;
		opacity: 0;
	}
	30%{
		opacity: 1;
	}
	100%{
      bottom: 0;
		opacity: 0;
	}
}
.top_kv{
   position: relative;
}
.top_kv_img{
   width: 100%;
   height: calc(100vh - 90px - 60px);
   background: url(/azabu28/img/top/img_kv.webp) center no-repeat;
   background-size: cover;
   overflow: hidden;
   border-radius: 0 0 0 35px;
   box-shadow: inset 0px 0px 10px #0000004d;
}
.top_kv_img img{
   display: block;
}
.top_kv_txtlayer{
   position: absolute;
   top: 0;
   left: 0;
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   height: 100%;
   overflow: hidden;
}
.top_kv_txtlayer:before{
   content: "";
   display: block;
   width: 400px;
   height: 0;
}
.top_kv_intro{
   color: #fff;
   margin: 0 5px;
}

.top_kv_intro h2{
   display: block;
   margin: 0 auto 20px;
   writing-mode: vertical-rl;
   font-weight: normal;
   font-size: 3rem;
   line-height: 60px;
   letter-spacing: 20px;
}
.top_kv_intro h2.animate__animated{
   animation: introPhrase 1s ease-in-out;
   animation-fill-mode: both;
   animation-delay: 1s;
}
@keyframes introPhrase{
	0%{
      color: #333;
	}
	100%{
      color: #fff;
	}
}
.top_kv_intro p{
   text-align: center;
}
.top_kv_schedule{
   align-self: flex-end;
   width: 400px;
   padding: 20px 20px 0 20px;
   color: #666;
   background-color: #fff;
   border-radius: 35px 0 0 0;
   font-size: 1.4rem;
}
.top_kv_schedule table{
   width: 100%;
   table-layout: auto;
}
.top_kv_schedule tr{
   border-bottom: 1px solid #ccc;
}
.top_kv_schedule tr th{
   text-align: center;
   vertical-align: middle;
   padding: 5px 5px;
   font-weight: normal;
}
.top_kv_schedule tr td{
   text-align: center;
   vertical-align: middle;
   padding: 5px 5px;
   font-size: 1.2rem;
}
.top_kv_schedule tr td:first-child{
   white-space: nowrap;
}
.top_kv_schedule tr td.notice{
   position: relative;
}
.top_kv_schedule tr td.notice:after{
   content: "※";
   position: absolute;
   right: 2px;
   bottom: 2px;
   font-size: 1rem;
   transform: scale(0.9);
   line-height: 12px;
}
.top_kv_schedule p{
   text-align: right;
}
.icn_kyuushin{
   margin-right: 10px;
   padding: 2px 5px;
   border-radius: 4px;
   background-color: #efeae6;
}
.top_sp_function{
   display: none;
}
.top_about__wrap{
   position: relative;
   background-color: #fffefb;
   padding: 120px 0 80px;
   display: flex;
   justify-content: flex-start;
   align-items: center;
   overflow: hidden;
   background-image: url(/azabu28/img/common/bg_intro.webp);
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
}
.top_about__wrap:before{
   content: "";
   position: absolute;
   top: 0;
   left: 50%;
   width: 120%;
   transform: translateX(-50%);
   height: 60px;
   background-color: #fff;
   border-radius: 0 0 50% 50% / 0 0 60px 60px;
   /* box-shadow: inset 0px -6px 6px #00000022; */
}
.top_about__img{
   width: 50%;
}
.top_about__txt{
   position: relative;
   width: 50%;
   margin: auto;
   padding: 30px 30px 30px 80px;
   overflow: hidden;
}
.top_about__txt p{
   position: relative;
   line-height: 3vw;
   font-size: 1.7rem;
   padding-left: 30px;
   color: #666;
   text-shadow: 0px 0px 3px #ffffff;
}
.top_about__txt p span{
   display: inline-block;
   margin: 0;
   padding: 0;
}
.ttl_01{
   position: relative;
   margin-bottom: 30px;
}
.ttl_01:before{
   content: "";
   position: absolute;
   top: 10px;
   left: -40px;
   width: 24px;
   height: 2px;
   background-color: #000;
}
.ttl_01 h2{
   font-size: 2.6rem;
   line-height: 2.6rem;
}
.ttl_01 span{
   display: block;
   margin-bottom: 15px;
   font-family: "Rubik";
   font-size: 2rem;
   line-height: 2rem;
   font-weight: 300;
}
.ttl_02{
   position: relative;
   margin-bottom: 30px;
}
.ttl_02 h2{
   font-size: 2.6rem;
   line-height: 2.6rem;
}
.ttl_02 span{
   position: relative;
   display: inline-block;
   padding-bottom: 15px;
   margin-bottom: 15px;
   font-family: "Rubik";
   font-size: 1.8rem;
   font-weight: bold;
   color: #00a896;
   line-height: 2rem;
   font-weight: 300;
}
.ttl_02 span:after{
   content: "";
   position: absolute;
   bottom: 0;
   left: 0;
   display: block;
   width: 100%;
   height: 2px;
   background-color: #00a896;
}
.top_news__wrap{
   position: relative;
   background-image: url(/azabu28/img/common/bg.png);
   background-size: auto;
   background-repeat: repeat;
   padding: 0;
   overflow: hidden;
}
.top_news__box{
   display: flex;
   justify-content: center;
   align-items: center;
   width: calc(100% - 60px);
   max-width: 1400px;
   padding: 80px 40px 80px 80px;
   margin-left: auto;
   margin-bottom: 60px;
   border-radius: 0 0 0 36px;
   background-color: #fff;
   box-shadow:  0 0 12px #00000033;
}
.top_news__box--l{
   margin-right: 60px;
}
.top_news__box--r{
   width: calc(100% - 260px);
}
.top_news__list{
   width: 100%;
   padding: 30px 0 30px 0;
   margin-left: auto;
}
.top_news{
   position: relative;
   display: flex;
   justify-content: flex-start;
   margin-bottom: 25px;
}
.top_news__list .top_news:last-of-type{
   margin-bottom: 0;
}
.top_news .date{
   display: block;
   width: 160px;
}
.top_news .cat{
   display: flex;
   justify-content: center;
   align-items: center;
   width: 160px;
   background-color: #eeeeee;
   text-align: center;
   font-size: 1.5rem;
}
.top_news__link{
   position: relative;
   display: block;
   width: 100%;
   padding-left: 20px;
   text-decoration: none;
   border-bottom: 2px solid #eeeeee;
}
.top_news__link a{
   text-decoration: none;
   color: #333;
}
.top_news--new .top_news__link:after{
   content: "NEW";
   color: #00a896;
   margin-left: 10px;
}
.top_news__more{
   display: flex;
   justify-content: flex-start;
   text-align: right;
}
.top_news__more a{
   position: relative;
   display: block;
   padding: 10px 25px 10px 0;
   color: #00a896;
   text-decoration: none;
   font-size: 1.4rem;
   line-height: 1.4rem;
}

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

.schedule_wrap{
   display: flex;
   justify-content: space-evenly;
   align-items: flex-start;
   width: calc(100% - 60px);
   max-width: 1400px;
   padding: 80px 40px 80px 80px;
   margin-right: auto;
   border-radius: 0 36px 0 0;
   background-color: #fff;
   box-shadow:  0 0 12px #00000033;
}
.schedule_table{
   width: calc(100% - 300px);
}
.schedule_table table{
   max-width: 100%;
   margin-bottom: 30px;
}
.schedule_table table tr{
   border-bottom: 1px solid #ccc;

}
.schedule_table table tr th{
   width: 120px;
   padding: 10px;
   line-height: 20px;
   font-weight: normal;
   text-align: center;
   background-color: #eeeeee;
}
.schedule_table table tr:first-child th:first-child{
   font-size: 2.4rem;
   font-weight: bold;
}
.schedule_table table tr th span{
   display: block;
   font-size: 1.3rem;
}
.schedule_table table tr td{
   padding: 10px;
   text-align: center;
}
.top_info__wrap{
   background: url(/azabu28/img/top/bg_info.webp) center no-repeat;
   background-size: cover;
   padding: 140px 100px;
}
.top_info__box{
   display: flex;
   width: calc(100% - 100px);
   max-width: 1400px;
   margin: 0 auto;
   color: #666;
   background-color: #ffffffee;
   padding: 40px;
}
.top_info__box--l{
   width: 50%;
   padding: 0 40px 0 0;
   border-right: 1px solid #ccc;
}
.top_info__box--r{
   width: 50%;
   padding: 0 0 0 40px;
}
.top_info__logo{
   padding: 40px 0;
}
.top_info__logo img{
   display: block;
   width: 280px;
   max-width: 80%;
   margin: 0 auto;
}
.top_info__place{
   padding: 30px 0;
}
.top_info__place p{
   text-align: center;
   line-height: 40px;
}
.top_info__table table{
   width: 100%;
   table-layout: auto;
}
.top_info__table tr{
   border-bottom: 1px solid #aaa;
}
.top_info__table tr th{
   text-align: center;
   vertical-align: middle;
   padding: 5px 5px;
   font-size: 1.6rem;
   font-weight: normal;
}
.top_info__table tr td{
   text-align: center;
   vertical-align: middle;
   padding: 5px 5px;
   font-size: 1.2rem;
}
.top_info__table tr td.notice{
   position: relative;
}
.top_info__table tr td.notice:after{
   content: "※";
   position: absolute;
   right: 2px;
   bottom: 2px;
   font-size: 1rem;
   transform: scale(0.9);
   line-height: 12px;
}
.top_info__table tr td:first-child{
   white-space: nowrap;
}
.top_info__table p{
   text-align: right;
   font-size: 1.5rem;
   line-height: 40px;
}
.top_info__map{

}
.top_info__map__txt{
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.top_info__way{
   padding: 20px 0 0;
}
.top_info__way>div{
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   padding: 12px;
   border: 1px solid #aaa;
   margin-bottom: 15px;
   font-size: 1.5rem;
}
.top_info__way>div:last-of-type{
   margin-bottom: 0;
}
.top_info__way>div img{
   max-width: 70px;
}
.top_info__way>div p{
   display: block;
   width: 100%;
   padding-left: 20px;
   line-height: 24px;
}
.top_info__way>div p a{
   display: block;
   max-width: 100%;
}
.top_info__way>div p img{
   display: block;
   max-width: 100%;
   border: 2px solid #e1e1e1;
}
.top_info__ttl{
   display: none;
}
.top_info__photo{
   display: none;
}
.common_info__photo{
   display: none;
}
.top_info__tel__wrap{
   display: none;
}
.top_info__spttl{
   display: none;
}
.pagettl{
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 200px;
   background-image: url(/azabu28/img/common/bg_ttl.webp);
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
}
.pagettl h1{
   position: relative;
   font-size: 3rem;
   animation: pageTitle 1.5s ease-in-out;
   animation-fill-mode: both;
}

@keyframes pageTitle{
	0%{
      top: -100%;
      opacity: 0;
	}
	100%{
      top: 0;
      opacity: 1;
	}
}
.examine__contents{
   padding-bottom: 120px;
}
.examin_box{
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   padding-top: 100px;
}
.examin_box--bg{
   background-color: #f2f0eb;
}
.examin_txt{
   display: flex;
   justify-content: center;
   align-items: center;
   width: 65%;
   min-width: 700px;
   padding-bottom: 100px;
   order: 1;
}
.examin_box--bg .examin_txt{
   order: 2;
}
.examin_txt >p{
   padding: 0 20px;
}
.examin_step{
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   flex-shrink: 0;
   width: 200px; 
   height: 200px;
   margin-left: 30px;
   margin-right: 40px;
   border: 2px solid #00a896;
   background-color: #fff;
   border-radius: 50%;
   text-align: center;
}
.examin_step p{
   padding-bottom: 10px;
   color: #00a896;
   font-family: "Rubik";
   font-size: 1.7rem;
   border-bottom: 1px solid #00a896;
}
.examin_step p span{
   display: block;
   margin-top: 3px;
   font-size: 4.2rem;
}
.examin_step h3{
   padding-top: 10px;
   font-size: 2.6rem;
}
.examin_img{
   width: 35%;
   overflow: hidden;
   border-radius: 36px 0 0 0;
   order: 2;
}
.examin_box--bg .examin_img{
   order: 1;
}
.examin_img.examin_img--l{
   border-radius: 0 36px 0 0;
}
.examin_img img{
   display: block;
   margin: 0;
}
.examine__contents .examin_box:nth-of-type(n + 2){
   position: relative;
}
.examine__contents .examin_box:nth-of-type(n + 2):after{
   content: "";
   position: absolute;
   top: 0;
   left: calc(50% - 50px);
   border-width: 30px 50px 30px 50px;
   border-style: solid;
   border-color: #f2f0eb transparent transparent transparent;
}
.examine__contents .examin_box.examin_box--bg:nth-of-type(n + 2):after{
   border-color: #fff transparent transparent transparent;
}
.greeting__wrap{
   background-image: url(/azabu28/img/common/bg.png);
   background-size: auto;
   background-repeat: repeat;
   padding: 80px 0;
}
.greeting__contents{
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-direction: row-reverse;
   margin-bottom: 60px;
}
.greeting__photo{
   position: relative;
   width: 100%;
   max-width: 700px;
}
.greeting__photo_caption{
   position: absolute;
   bottom: 30px;
   right: 30px;
   display: block;
   width: 40%;
   min-width: 250px;
   background-color: #ffffff88;
   text-align: center;
}

.greeting__txt{
   position: relative;
   padding: 80px 30px 60px 60px;
}
.greeting__txt:before{
   content: "";
   position: absolute;
   top: 0;
   right: 0;
   display: block;
   width: calc(100% + 30px);
   height: 100%;
   background-color: #f4f2ed;
   z-index: -1;
   border-radius: 36px 0 0 36px;
}
.greeting__txt p{
   margin-bottom: 24px;
}
.greeting__profile__wrap{
   width: 1200px;
   max-width: calc(100% - 20px);
   margin: 0 auto;
   padding: 60px;
   background-color: #f1f1f1;
}
.greeting__profile{
   display: flex;
   justify-content: space-between;
   padding: 40px;
   background-color: #fff;
}
.greeting__profile>div{
   width: 50%;
}
.greeting__profile>div h4{
   font-size: 2rem;
   margin-bottom: 15px;
}
.common_info__wrap{
   background: #f0f7f3;
}
.common_info__wrap--access{
   background-color: transparent;
   width: 1200px;
   max-width: 100%;
   margin: 0 auto;
   padding: 60px 20px;
}
.common_info__box{
   display: flex;
   width: 100%;
   max-width: 1200px;
   margin: 0 auto;
   color: #666;
   padding: 50px;
}
.common_info__box--access{
   padding: 0;
   margin-bottom: 60px;
   justify-content: center;
}
.common_info__box--l{
   width: 50%;
   padding: 0 40px 0 0;
   border-right: 1px solid #ccc;
}
.common_info__box--r{
   width: 50%;
   padding: 0 0 0 40px;
}
.common_info__logo{
   padding: 0 0 20px;
}
.common_info__logo img{
   display: block;
   width: 280px;
   max-width: 80%;
   margin: 0 auto;
}
.common_info__place{
   padding: 30px 0;
}
.common_info__place p{
   text-align: center;
   line-height: 40px;
}
.common_info__table table{
   width: 100%;
   table-layout: auto;
}
.common_info__table tr{
   border-bottom: 1px solid #aaa;
}
.common_info__table tr th{
   text-align: center;
   vertical-align: middle;
   padding: 5px 5px;
   font-size: 1.6rem;
   font-weight: normal;
}
.common_info__table tr td{
   text-align: center;
   vertical-align: middle;
   padding: 5px 5px;
   font-size: 1.2rem;
}
.common_info__table tr td.notice{
   position: relative;
}
.common_info__table tr td.notice:after{
   content: "※";
   position: absolute;
   right: 2px;
   bottom: 2px;
   font-size: 1rem;
   transform: scale(0.9);
   line-height: 12px;
}
.common_info__table tr td:first-child{
   white-space: nowrap;
}
.common_info__table p{
   text-align: right;
   font-size: 1.5rem;
   line-height: 40px;
}
.common_info__map h4{
   margin-bottom: 20px;
   font-size: 2.6rem;
   font-family: "Rubik";
   font-weight: normal;
   color: #666666;
}
.common_info__map__txt{
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.common_info__ttl{
   display: flex;
   justify-content: center;
   align-items: center;
   margin-bottom: -10px;
}
.common_info__ttl p{
   display: block;
   padding: 0 15px;
   font-size: 1.2rem;
   line-height: 20px;
   background-color: #abb7b3;
   color: #fff;
}
.common_info__photo{
   display: none;
}
.common_info__tel__wrap{
   display: none;
}
.common_info__spttl{
   display: none;
}
.introduction__wrap{
   background-image: url(/azabu28/img/common/bg.png);
   background-size: auto;
   background-repeat: repeat;
   padding: 80px 0;
}
.introduction__contents{
   display: flex;
   justify-content: space-evenly;
   align-items: center;
   flex-wrap: wrap;
   width: 100%;
   max-width: 1200px;
   margin: 0 auto;
}
.introduction__box{
   width: calc(50% - 40px);
   max-width: 350px;
   margin-bottom: 20px;
}
.introduction__box__img{
   overflow: hidden;
   border-radius: 36px;
}
.introduction__box__img img{
   display: block;
   width: 100%;
}
.introduction__box h3{
   padding: 10px;
   position: relative;
   text-align: center;
   color: #333;
}
.introduction__box h3:after{
   content: "";
   position: absolute;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%);
   display: block;
   width: 40px;
   height: 2px;
   background-color: #00a896;
}
.introduction__exp{
   width: 100%;
   max-width: 1200px;
   margin: 0 auto;
   padding: 40px;
   background-color: #f4f4f4;
}
.introduction__exp table{
   width: calc(100% - 40px);
   margin: 10px 20px 30px;
}
.introduction__exp table tr th{
   width: 30%;
   padding: 10px 30px;
   color: #fff;
   font-weight: normal;
   background-color: #8b7f7a;
   border: 1px solid #ffffff;
}
.introduction__exp table tr td{
   width: 70%;
   padding: 10px 30px;
   border: 1px solid #ccc;
}
.introduction__exp__contents{
   padding: 20px;
   background-color: #fff;
}
.introduction__exp h3{
   padding: 10px;
   margin: 30px 0 20px;
   font-size: 2rem;
   color: #333;
   border-bottom: 1px solid #00a896;
}
.introduction__exp p{
   margin: 10px 20px 30px;
}
.access_way__wrap{
   width: 100%;
   max-width: 1000px;
   margin: 0 auto;
   padding: 0 0 30px;
}
.article{
   width: 100%;
   max-width: 1400px;
   margin: 0 auto;
   padding: 60px 15px;
}
.article p{
   margin-bottom: 20px;
}
.article h3 {
   position: relative;
   padding: 10px 15px;
   margin: 20px 0 30px;
   margin-bottom: 30px;
   /* background-color: #edf1f3; */
   color: #333333;
   font-size: 2.2rem;
   line-height: 2.5rem;
   border-bottom: 1px solid #333333;
}
.article ul{  
   padding: 0;
   margin-bottom: 30px;
}
.article ul li{
   position: relative;
   padding: 0 0 0 20px;
   margin: 0;
}
.article ul li:before{
   content: "";
   position: absolute;
   left: 8px;
   top: 12.5px;
   display: block;
   width: 4px;
   height: 4px;
   background-color: #333333;
}
.article ol{  
   padding: 0 0 0 24px;
   margin-bottom: 30px;
}
.article ol li{
   position: relative;
   margin: 0 0 20px;
   list-style-type: decimal;
}
.article p.notice2 {
   padding: 10px;
   background-color: #eeffee;
   border: 1px solid #ababab;
}
/* CMS */
.pager {
   text-align: center;
   padding: 10px;
   clear: both;
}
.pager a {
   color: #333;
   background-color: #eee;
   font-size: 15px;
   padding: 5px 12px;
   text-decoration: none;
   margin: 0 1px;
}
.pager a.current {
   background: #34a997;
   color: #fff;
}
.pager a:hover {
   background: #34a997;
   color: #fff;
}
.overPagerPattern {
   padding: 0 2px;
}















@media screen and (max-width: 1300px) {
   .header_rightarea{
      display: none;
   }
}






@media screen and (max-width: 1024px) {
.is--pc {display: none !important;}
.is--sp {display: block !important;}  
.spbr {display: block !important;}  
.radius_r{
   border-radius: 0 24px 24px 0;
}
.radius_l{
   border-radius: 24px 0 0 24px;
}
body {
   font-size: 1.4rem;
   line-height: 2.2rem;
   padding-top: 60px;
}
main{
}

.header{
   width: 100%;
}
.header_wrap{
   box-sizing: border-box;
   height: 60px;
   padding: 0 10px;
}
.header_logo{
   width: 220px;
   max-width: calc(100% - 40px);
}
.header_fontsize{
   display: none;
}
.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: #00a896;
   transition: all 0.3s;
}
.button-toggle:after{
   content: "";
   position: absolute;
   top: 34px;
   left: 0;
   display: block;
   width: 100%;
   height: 2px;
   background-color: #00a896;
   transition: all 0.3s;
}
.toggle_parts{
   position: absolute;
   top: 22px;
   left: 0;
   display: block;
   width: 100%;
   height: 2px;
   background-color: #00a896;
   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: #888;
}
.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;
}
@keyframes menuHide{
   0% {
         opacity: 1;
      }
      100% {
         opacity: 0;
      }
}
.header_menu{
   position: absolute;
   top: 60px;
   left: 0;
   width: 100%;
   height: 0;
   padding: 0;
   text-align: center;
   transform-origin: top left;
   overflow-x: scroll;
   overflow-y: hidden;
}
.header_menu.is-open{
   height: auto;
   animation: naviShow 0.4s ease-in-out;
}
@keyframes naviShow{
   0% {
         opacity: 0;
      }
      100% {
         opacity: 1;
      }
}
.header_menu.is-close{
   animation: naviHide 0.4s ease-in-out;
}
@keyframes naviHide{
   0% {
      height: auto;
         opacity: 1;
      }
      100% {
         height: 0;
         opacity: 0;
      }
}
.header_menu__contents{
   overflow-y: hidden;
   transform: translateY(-100%);
   animation: naviSlideUp 0.4s ease-in-out;
   background-color: rgba(255 255 250 / 90%);
   transform-origin: right top;
}
.header_menu.is-open .header_menu__contents{
   animation: naviSlideDown 0.4s ease-in-out;
   transform: translateY(0);
}
@keyframes naviSlideDown{
   0% {
         opacity: 0;
         transform: translateY(-100%) translateX(30%) rotateY(120deg);
      }
      100% {
         opacity: 1;
         transform: translateY(0) translateX(0) rotateY(0deg);
      }
}
@keyframes naviSlideUp{
   0% {
      opacity: 1;
      transform: translateY(0) translateX(0) rotateY(0deg);
      }
      100% {
         opacity: 0;
         transform: translateY(-100%) translateX(30%) rotateY(120deg);
      }
}
.header_menu__contents>ul{
   display: block;
   width: 100%;
   padding: 0;
   margin: 0;
}
.header_menu__contents>ul>li{
   margin: 0;
   font-size: 1.6rem;
   border-bottom: 1px solid #dddddd;
}
.header_menu__contents>ul>li a{
   position: relative;
   display: block;
   padding: 20px;
}
.header_menu ul li a.active:after{
   height: 3px;
   bottom: 5px;
   animation: none;
}
.header_menu__close{
   display: none;
}
.header_fontsize--sp{
   display: flex;
   justify-content: space-around;
   align-items: center;
   padding: 10px;
   border-bottom: 1px solid #00a896;
   border-top: 1px solid #00a896;
   font-size: 1.6rem;
   z-index: 1;
}
.header_fontsize--sp p{
   margin-right: 10px;
   z-index: 1;
}
.header_fontsize--sp div{
   z-index: 1;
}
.header_fontsize--sp div button{
   line-height: 24px;
}
.header_fontsize--sp div button.active{
   background:linear-gradient(transparent 75%, #3acbdd 75%);
}
.header_fontsize--sp div button:first-of-type{
   margin-right: 10px;
}
.button-toggle{
   width: 34px;
}
.button-toggle:before{
   top: 10px;
}
.button-toggle:after{
   top: 34px;
}
.toggle_parts{
   top: 22px;
}

.top_kv_wrap{
   padding: 0;
}
.top_kv_img{
   height: calc(100vh - 60px - 100px);
   background: url(/azabu28/img/top/img_kv_sp.webp) center no-repeat;
   background-size: cover;
}
.top_kv_txtlayer{
   justify-content: center;
}
.top_kv_txtlayer:before{
   display: none;
}
.top_kv_intro h2{
   font-size: 2.6rem;
   letter-spacing: 15px;
}
.top_kv_intro p{
   font-size: 1.4rem;
}
.top_kv_schedule{
   display: none;
}
.scroll_notice{
   bottom: 50px;
}
.top_sp_function{
   display: flex;
   justify-content: space-evenly;
   align-items: center;
   padding: 30px 0;
}
.top_sp_function a{
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 0 15px;
   color: #555;
   text-decoration: none;
}
.top_sp_function a img{
   height: 36px;
   margin-right: 10px;
   opacity: 0.6;
}
.top_sp_function a p{
   writing-mode:  vertical-rl;
   font-size: 0.9rem;
   line-height: 10px;
}
.top_sp_function .border{
   display: block;
   width: 1px;
   height: 40px;
   background-color: #555;
}
.top_about__wrap{
   display: block;
   padding: 40px 0 20px;
}
.top_about__wrap:before{
   display: none;
}
.top_about__img{
   width: calc(100% - 20px);
}
.top_about__txt{
   width: 100%;
   padding: 30px 10px 30px 20px;
}
.ttl_01:before{
   width: 16px;
   height: 1px;
   left: -20px;
}
.ttl_01 h2{
   font-size: 2.4rem;
}
.ttl_01 span{
   font-size: 1.7rem;
   color: #00a896;
   margin-bottom: 5px;
}
.ttl_02 h2{
   font-size: 2.2rem;
}
.ttl_02 span{
   font-size: 1.5rem;
   padding-bottom: 10px;
   margin-bottom: 10px;
}
.top_about__txt p{
   padding: 0;
   font-size: 1.4rem;
   line-height: 30px;
}
.top_news__box{
   width: calc(100% - 30px);
   padding: 40px 20px 40px 40px;
   display: block;
}
.top_news__box--l{
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-right: 0;
}
.top_news__box--r{
   width: 100%;
}

.top_news__list{
   padding: 20px 0;
   font-size: 1.4rem;
}
.top_news{
   flex-wrap: wrap;
}
.top_news--new:after{
   content: "NEW";
   color: #00a896;
   margin-left: 10px;
   order: 3;
}

.top_news .date{
   width: 85px;
   order: 1;
   font-size: 1.4rem;
}
.top_news .cat{
   width: 85px;
   order: 2;
   font-size: 1.4rem;
}
.top_news--new .top_news__link:after{
   display: none;
}
.top_news__link{
   padding: 10px 0;
   order: 4;
}
.schedule_wrap{
   width: calc(100% - 30px);
   padding: 40px 20px 40px 20px;
   display: block;
}
.schedule_table{
   width: 100%;
}
.schedule_table table{
   min-width: 600px;
}
.schedule_table table tr th{
   width: 7rem;
   padding: 5px;
}
.schedule_table table tr:first-child th:first-child{
   font-size: 2rem;
}
.schedule_table table tr td{
   padding: 5px;
}
.top_info__photo{
   display: block;
   border-radius: 20px;
   overflow: hidden;
}
.top_info__photo img{
   display: block;
}
.common_info__photo{
   display: block;
   margin-bottom: 30px;
   border-radius: 20px;
   overflow: hidden;
}
.common_info__photo img{
   display: block;
}


.top_info__wrap{
   padding: 0 0 60px;
   background: none;
}
.top_info__box{
   display: block;
   width: 100%;
   padding: 0;
}
.top_info__box--l{
   width: 100%;
   padding: 20px;
   border: none;
}
.top_info__box--r{
   width: 100%;
   padding: 0 20px 20px;
}
.top_info__logo{
   padding: 20px 0;
}
.top_info__logo img{
   width: 320px;
}
.top_info__ttl{
   display: block;
   padding: 20px 0;
   background:linear-gradient(0deg, #876d5b, #b79b92);
   text-align: center;
}
.top_info__ttl p{
   font-size: 2.2rem;
   color: #fff;
}
.common_info__ttl p{
   font-size: 1.2rem;
}
.top_info__spttl{
   display: flex;
   justify-content: center;
   align-items: center;
   border-bottom: 1px solid #000;
   padding-bottom: 10px;
   margin-bottom: 10px;
}
.top_info__spttl div{
   margin-right: 8px;
}
.top_info__spttl div img{
   display: block;
   height: 18px;
}
.top_info__spttl h3{
   color: #333;
}
.top_info__tel__wrap{
   display: block;
   padding: 30px 0;
}
.top_info__tel{
   display: flex;
   justify-content: space-evenly;
   align-items: center;
   margin-top: 15px;
}
.top_info__tel p{
   margin-right: 5px;
   font-size: 2.2rem;
   color: #333;
}
.btn_01--small{
   line-height: 2.2rem;
   font-size: 1.3rem;
   padding: 3px 20px 3px 10px;
}
.top_info__table tr th{
   font-size: 1.3rem;
}
.top_info__table tr td{
   font-size: 1rem;
}
.top_info__table p{
   font-size: 1.3rem;
   line-height: 25px;
}
.top_info__map>p{
   font-size: 1.3rem;
   margin-bottom: 10px;
}
.top_info__map__txt{
   display: block;
   text-align: right;
}
.top_info__map__txt>a{
   margin-top: 10px;
}
.top_info__way>div{
   font-size: 1.3rem;
   border: none;
   background-color: #f4f4f4;
}
.top_info__way>div img{
   max-width: 46px;
}
.pagettl{
   height: 33vh;
}
.pagettl h1{
   font-size: 2.4rem;
}
.examin_box{
   display: flex;
   flex-direction: column-reverse;
   padding: 60px 0 30px;
}
.examin_box--bg .examin_txt{
   order: inherit;
}
.examin_txt{
   flex-direction: row;
   align-items: stretch;
   min-width: inherit;
   width: 100%;
   margin: 0 0 0 auto;
   padding: 0 0 15px 0;
}
.examin_step{
   width: auto;
   height: auto;
   margin: 0;
   padding: 0 10px 0 10px;
   border-radius: 0;
   border-width: 0 2px 0 0;
   background: none;
}
.examin_step p{
   font-size: 1.4rem;
}
.examin_step p span{
   font-size: 3rem;
}
.examin_step h3{
   font-size: 2rem;
}
.examin_txt >p{
   padding: 15px;
}
.examin_img{
   width: calc(100% - 62px);
   margin: 0 0 10px auto;
}
.examin_img.examin_img--l{
   margin: 0 auto 10px 0;
}
.examin_box .imgwrap{
   width: 80%;
   margin: 30px 0 0 auto;
}
.greeting__wrap{
   background-size: 14px;
   padding: 30px 0;
}
.greeting__contents{
   display: block;
   margin-bottom: 30px;
}
.greeting__photo{
   width: 90%;
}
.greeting__txt{
   width: calc(100% - 10px);
   padding: 30px 20px 30px 20px;
   margin: 30px auto;
   border-radius: 24px;
   background-color: #f4f2ed;
}
.greeting__txt:before{
   display: none;
}
.greeting__profile__wrap{
   padding: 20px;
}
.greeting__profile{
   display: block;
   padding: 15px;
}
.greeting__profile>div{
   width: 100%;
   margin-bottom: 30px;
}
.greeting__profile>div:last-of-type{
   margin-bottom: 0;
}
.greeting__profile>div h4{
   font-size: 1.8rem;
   margin-bottom: 5px;
}
.common_info__wrap--access{
   padding: 40px 10px;
}
.common_info__box{
   display: block;
   max-width: 500px;
   padding: 30px 15px 60px;
}
.common_info__box--access{
   padding: 10px;
}
.common_info__box--l{
   width: 100%;
   padding: 0;
   border-right: none;
}
.common_info__box--access .common_info__box--l{
   padding: 20px 0;
   background-color: #f4f4f4;
}
.common_info__box--r{
   width: 100%;
   padding: 0;
}
.common_info__logo{
   padding: 20px 0 40px;
}
.common_info__place{
   margin-bottom: 30px;
   padding: 10px 0;
   text-align: center;
}
.common_info__place p{
   margin-bottom: 0;
   font-size: 2.4rem;
}
.common_info__table{
   max-width: 90%;
   margin: 0 auto 30px;
}
.common_info__table tr th{
   font-size: 1.4rem;
   padding: 10px 5px;
}
.common_info__table tr td{
   font-size: 1rem;
   padding: 10px 5px;
}
.common_info__table p{
   font-size: 1.3rem;
   line-height: 20px;
}
.common_info__map{
   max-width: 90%;
   margin: 0 auto;
}
.common_info__map img{
   margin-top: 10px;
}
.common_info__map h4{
   margin-top: 10px;
   text-align: center;
}
.common_info__map p{
   text-align: center;
}
.common_info__map__txt{
   flex-direction: column;
   align-items: flex-end;
}
.common_info__map__txt a{
   margin-top: 5px;
}
.introduction__contents{
   padding: 20px;
}
.introduction__box{
   width: 100%;
}
.introduction__exp{
   padding: 15px;
}
.introduction__exp__contents{
   padding: 10px;
}
.introduction__exp table{
   width: calc(100% - 20px);
   margin: 5px 10px 20px;
}
.introduction__exp table tr th{
   width: 60px;
   padding: 10px 5px;
   writing-mode: vertical-lr;
   letter-spacing: 3px;
}
.introduction__exp table tr td{
   width: calc(100% - 60px);
   padding: 5px 10px;
}

/* 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;
}
.article {
   padding: 20px 4px;
}
.article h3 {
   padding: 5px;
   margin-bottom: 20px;
   font-size: 2rem;
}
.article p{
   margin-bottom: 20px;
}




}





















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