/* CSS Document */
/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* ■■■■■■■■■■■■■■■■   　デフォルト   　■■■■■■■■■■■■■■■■■ */
/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

html, body, div, span, iframe,article,figure,
p, a, img, small, dl, dt, dd, ol, ul, li,
h1, h2, h3, h4, h5,h6{
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: top;
}
html {
    scroll-behavior: smooth;
}

::selection {
  background:#FCF16E;
  color:#5B3568;
}

::-moz-selection {
  background:#FCF16E;
  color:#5B3568;
}

body {
  min-width: 1280px;
  opacity: 0;
  transition: opacity 1s ease;
  background: #F4F4E9;
}

html.wf-active body {
  opacity: 1;
}

html,body {
  line-height: 1;
  width: 100%;
  height: 100vh;
  position: relative;
}

ol, ul {
  list-style: none;
}
a{
  outline:none;
  text-decoration:none;
  cursor: pointer;
  display: block;
  }
a img {
  border: none;
  border-style:none;
}

img{
  width: 100%;
  height: auto;
  display: block;
}

li{
  list-style:none;
}
.clearfix {
  *zoom: 1;
}
.clearfix:after {
  content: '';
  display: table;
  clear: both;
}

@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}


.br_sp{
  display: none;
}

a.text_hover{
  transition: opacity 0.2s ease;
}
a:hover.text_hover{
  opacity: 0.5;
}


/*■■■■■■■■　Font　■■■■■■■■*/

html, body, div, span, iframe,article,figure,
p, a, img, small, dl, dt, dd, ol, ul, li,
h1, h2, h3, h4, h5,h6,input,select,textarea{
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 28px;
  font-weight: 300;
  letter-spacing:0;
  color: #404040;
  font-feature-settings: "palt";
  vertical-align: top;
}

.en{
  font-family: "anuphan", sans-serif;
  font-weight: 400;
  font-style: normal;
}
/*.en_bold{
  font-family: "raleway", sans-serif;
  font-weight: 800;
  font-style: normal;
}*/

.bold{
  font-weight:700;
}

/*■■■■■■■■　Common　■■■■■■■■*/

header{
  width:1180px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 50px 0;
  align-items: center;
}
header h1{
  width:260px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
header ul{
  width:420px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
header ul li:nth-child(1){
  width:210px;
}
header ul li:nth-child(1) a{
  font-size: 20px;
  line-height: 50px;
  background:#FFF url(../images/tel.svg) no-repeat left 20px center;
  display: block;
  border-radius: 30px;
  padding: 0 20px 0 50px;
}
header ul li:nth-child(2){
  width:180px;
}
header ul li:nth-child(2) a{
  font-size:16px;
  line-height: 50px;
  letter-spacing: 0.1em;
  background:#245FA4;
  color: #FFF;
  display: block;
  border-radius: 30px;
  padding: 0 20px 0;
  text-align: center;
}



/*TOP*/
.mv{
  position: relative;
  overflow-x: hidden;
}

.mv_bg_swiper {
  min-width: 1280px;
  width: 100vw;
  overflow: hidden;
}

.mv_bg_swiper .swiper-slide {
  width:50%;                /* デフォルト＝左右スライドは30%幅 */
  aspect-ratio: 896 / 600;
  background-size: cover;
  background-position: center;
  border-radius:50px;
}
.mv .copy{
  position: absolute;
  bottom: 0;
  right:14.5%;
  padding:60px 30px 20px;
  z-index: 99999;
  background: #F4F4E9;
  border-radius: 50px 50px 0 0;
  display: inline-grid;                 /* shrink-wrap が安定 */
  width: -webkit-fit-content;           /* Safari 旧実装 */
  width: fit-content; 
}
.mv .copy h2{
  font-size:34px;
  line-height:60px;
  letter-spacing:0.15em;
  writing-mode: vertical-rl;
}
#top .sec01{
  padding:80px 0;
}

#top .sec01 .wrap{
  width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
#top .sec01 .wrap .left,
#top .sec01 .wrap .right{
  width:525px;
  background: #FFF;
  border-radius:50px;
  padding:40px;
  box-sizing: border-box;
}
#top .sec01 .wrap .left{
  margin-right:50px;
}
#top .sec01 .wrap .left .title,
#top .sec01 .wrap .right .title{
  width: 100%;
  padding:20px 0;
  border-radius:30px;
  margin-bottom: 30px;
}
#top .sec01 .wrap .left .title{
  background:#245FA4;
}
#top .sec01 .wrap .right .title{
  background:#68A670;
}
#top .sec01 .wrap .left .title dl,
#top .sec01 .wrap .right .title dl{
  text-align: center;
}
#top .sec01 .wrap .left .title dl dt,
#top .sec01 .wrap .left .title dl dd,
#top .sec01 .wrap .right .title dl dt,
#top .sec01 .wrap .right .title dl dd{
  color: #FFF;
}
#top .sec01 .wrap .left .title dl dt,
#top .sec01 .wrap .right .title dl dt{
  font-size:24px;
  line-height: 24px;
  letter-spacing: 0.1em;
  padding:0 10px 10px;
  border-bottom: 1px solid #FFF;
  margin-bottom: 5px;
  display: inline-block;
}
#top .sec01 .wrap .left .title dl dd,
#top .sec01 .wrap .right .title dl dd{
  font-size:14px;
  line-height:14px;
}

#top .sec01 .wrap .left ul li{
  font-size: 18px;
  line-height: 18px;
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom:25px;
  border-bottom: 1px solid #CECECE;
  margin-bottom:25px;
}
#top .sec01 .wrap .left ul li:last-child{
  border-bottom:none;
  margin-bottom: 0;
  padding-bottom:20px;
}
#top .sec01 .wrap .right table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 2px solid #CECECE;
  border-bottom: 2px solid #CECECE;
  margin-bottom:10px;

}
#top .sec01 .wrap .right table th{
  width:150px;
  border-right:1px solid #CECECE;
  border-bottom:1px solid #CECECE;
  font-size: 16px;
  line-height:50px;
  font-weight:400;
}
#top .sec01 .wrap .right table td{
  border-right:1px solid #CECECE;
  border-bottom:1px solid #CECECE;
}
#top .sec01 .wrap .right table td:last-child{
  border-right: none;
}
#top .sec01 .wrap .right table td,
#top .sec01 .wrap .right table td span{
  text-align: center;
  font-size: 18px;
  line-height:50px;
  font-weight:400;
}
#top .sec01 .wrap .right table td span,
#top .sec01 .wrap .right .cap span{
  color:#68A670;
}

#top .sec01 .wrap .right .cap,
#top .sec01 .wrap .right .cap span{
  font-size: 13px;
  line-height:24px;
  text-align: center;
}
#top .cover{
  background:#FEFFF7;
}
#top .cover .bnr{
  width:728px;
  margin: 0 auto;
  padding: 80px 0;
}
#top .cover .bnr .sp{
  display: none;
}
#top .cover .sec02 .wrap{
  width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  padding:50px 0 0;
}
#top .sec02 .wrap .title{
  width:200px;
}
#top .sec02 .wrap .title dl dt{
  font-size:28px;
  letter-spacing: 0.1em;
  margin-bottom:20px;
}
#top .sec02 .wrap .title dl dd{
  font-size:14px;
  line-height:14px;
  color: #777777;
}
#top .sec02 .wrap .info_list{
  width:900px;
  border-radius:50px;
  padding: 30px 50px;
  box-sizing: border-box;
  background:#F4F4E9;
}
#top .sec02 .wrap .info_list ul li{
  padding:30px 20px;
  border-bottom: 1px solid #DBDEC3;
}
#top .sec02 .wrap .info_list ul li:last-child{
  border-bottom:none;
}
#top .sec02 .wrap .info_list ul li .head{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
#top .sec02 .wrap .info_list ul li .head .icon{
  border-radius:50px;
  font-size:14px;
  line-height:30px;
  padding:0 30px;
  box-sizing: border-box;
  background:#FAEE1E;
  margin-right: 10px;
}
#top .sec02 .wrap .info_list ul li .head .date{
  font-size:12px;
  line-height:30px;
  letter-spacing: 0.05em;
}
#top .sec02 .wrap .info_list ul li dl dt{
  font-size:18px;
  line-height:28px;
  letter-spacing: 0.01em;
  margin-bottom:5px;
}
#top .sec02 .wrap .info_list ul li dl dd{
  font-size:13px;
  line-height:24px;
  letter-spacing: 0.01em;
}



/*お知らせページ*/

#information .mv{
  width: 100%;
  position: relative;
  background: #2C8EB8;
}
#information .mv .title{
  width:80%;
  margin: 0 auto;
  padding:100px 0;
}
#information .sec01 .wrap{
  width: 1000px;
  margin: 0 auto;
  padding:50px 0;
}
#information .sec01 p{
  font-size: 18px;
  text-align: center;
  margin-bottom: 50px;
}

#information .sec01 ul li{
  margin-bottom: 10px;
}
#information .sec01 ul li a{
  background:#F8F8F8;
  display: block;
  padding: 20px 30px;
  border-radius: 20px;
  transition: all 0.2s ease;
}
#information .sec01 ul li a:hover{
  background:#2C8EB8;
}
#information .sec01 ul li a:hover dl dt,
#information .sec01 ul li a:hover dl dd{
  color: #FFF;
}
#information .sec01 ul li a dl{
  display: flex;
  flex-wrap: wrap;
}
#information .sec01 ul li a dl dt{
  font-size:14px;
  line-height: 26px;
  width: calc(100% - 80px);
}
#information .sec01 ul li a dl dd{
  font-size:12px;
  line-height: 26px;
  color:#AAAAAA;
  width:80px;
  text-align: right;
}


/*シングルページ*/

#single .mv{
  width: 100%;
  position: relative;
  background: #2C8EB8;
}
#single .mv .title{
  width:80%;
  margin: 0 auto;
  padding:100px 0;
}
#single .sec01 .wrap{
  width:800px;
  margin: 0 auto;
  padding:80px 0;
}
#single .sec01 .wrap article h2{
  font-size:26px;
  margin-bottom:30px;
  text-align: center;
}
#single .sec01 .wrap article .single-meta{
  text-align: center;
  margin-bottom:50px;
  color: #999;
}
#single .sec01 .wrap article figure{
  margin-bottom: 30px;
}
#single .sec01 .wrap article p{
  font-size: 16px;
  line-height: 32px;
  margin-bottom: 30px;
  text-align: left;
}





.pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top:80px;
}
.pagination .page-numbers {
  padding: 5px 15px;
  border: 1px solid #30493D;
  color: #30493D;
  text-decoration: none;
  border-radius: 10px;
}
.pagination .page-numbers.prev,
.pagination .page-numbers.next{
  font-size: 12px;
  transform: scaleX(0.8);
}
.pagination .current {
  background: #30493D;
  color: #fff;
  pointer-events: none;
}



footer{
  padding-top: 100px;
  padding-bottom:30px;
}
footer .wrap{
  width:1100px;
  margin: 0 auto 20px;
  position: relative;
  background: #245FA4;
  border-radius:50px;
  padding:80px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
footer .wrap .left{
  width:430px;
}
footer .wrap .right{
  width:440px;
}

footer .wrap .left .title h2,
footer .wrap .left .title h3,
footer .wrap .left .introduction dl dt,
footer .wrap .left .introduction dl dd,
footer .wrap .left p,
footer .wrap .right h4,
footer .wrap .right ul li{
  color: #FFF;
}
footer .wrap .left .title{
  margin-bottom: 30px;
}
footer .wrap .left .title h2{
  font-size: 32px;
  line-height: 32px;
  margin-bottom:10px;
}
footer .wrap .left .title h3{
  font-size:14px;
  line-height: 32px;
}
footer .wrap .left .introduction{
  display: flex;
  justify-content: space-between;
  width:430px;
  padding-bottom:30px;
  border-bottom: 1px solid #FFF;
  margin-bottom:30px;
}
footer .wrap .left .introduction h2{
  font-size: 32px;
  line-height: 32px;
  margin-bottom:10px;
}
footer .wrap .left .introduction h3{
  font-size:14px;
}

footer .wrap .left .introduction dl dt{
  font-size:36px;
  padding-top: 10px;
  margin-bottom: 20px;
}
footer .wrap .left p{
  font-size:14px;
  line-height:26px;
  letter-spacing:0.05em;
}
footer .wrap .right .btn a{
  font-size:20px;
  color:#245FA4;
  border-radius:20px;
  text-align: center;
}
footer .wrap .right .btn{
  margin-bottom:20px;
}
footer .wrap .right .btn a span{
  font-size:12px;
  line-height: 12px;
  color:#245FA4;
  margin-top:4px;
  display: block;
}
footer .wrap .right .btn.yellow a{
  background:#FAEE1E;
  padding:11px 0;
}
footer .wrap .right .btn.white a{
  background:#FFF;
  padding: 20px 0;
}
footer .wrap .right h4{
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 10px;
}
footer .wrap .right ul li{
  font-size: 12px;
  line-height:22px;
  position: relative;
  padding-left:15px;

}
footer .wrap .right ul li:before{
  content: "※";
  font-size: 12px;
  line-height:22px;
  position: absolute;
  top:0;
  left: 0;
}
footer small{
  font-size: 12px;
  line-height:26px;
  text-align: center;
  display: block;
  color: #000;
}

