@charset "utf-8";

header{
  width:100%;
  height:80px;
  margin:0 auto;
  background: #FFF;
  position:sticky;
  top: 0;
  z-index: 100;
}
header #logo{
  position: absolute;
  top: -10px; left: -10px;
  width: 230px; height: 180px;
  background: #FFF;
  border-radius: 0 0 30px 0;
  box-shadow: 7px 10px rgba(0,0,0,0.1);
  // z-index: 10000;
  transition: 0.3s;
}
header #logo img{
  position: absolute;
  width:136px; height: 110px;
  margin:35px 0 0 47px;
  z-index: 10000;
  transition: 0.3s;
}
header.fixed #logo{
  width: calc(230px * 0.5); height: calc(180px * 0.5);
  box-shadow: none;
  transition: 0.3s;
}
header.fixed #logo img{
  width: calc(136px * 0.5); height: calc(110px * 0.5);
  margin: calc(35px * 0.5) 0 0  calc(47px * 0.5);
}
nav#header-nav ul{
  display: flex;
  justify-content: flex-end;
  padding-top: 10px;
  padding-right: 30px;
  margin-bottom: 2px;
}
nav#header-nav ul li{
  font-size:0.85em;
  margin: 0 8px;
}
nav#header-nav ul li:last-child{
  margin: 0 0 0 8px;
}
nav#header-nav ul li a{
  color:#666;
  text-decoration:none;
}
nav#header-nav ul li:not(:first-child)::before{
  content:"｜";
  margin-right: 10px;
}
nav#header-nav ul li a:hover{
  border-bottom: 1px dashed #666;
}
nav#global-nav ul{
  display: flex;
  justify-content: flex-end;
  align-items:center;
  padding-right: 30px;
}
nav#global-nav ul li{
  font-size:1.05em;
  font-weight: 700;
  margin-left: 30px;
}
nav#global-nav ul li a{
  color: var(--base-color);
}
nav#global-nav ul li a:hover{
  color: #ed1b23;
  text-decoration: none;
  transition: 0.3s;
}
nav#global-nav ul li a img{
  width:40px;
}
nav#global-nav ul li.sns{
  margin-left:20px;
}
#logo a + li.sns{
  position: absolute;
  top: 10px;
  left: 69vw;
  width: calc(80px * 0.4 );
  height: calc(80px * 0.4 );
  z-index: 10;
  opacity: 1;
  transition-delay: 0.1s;
  transition-duration: 0.3s;
}

#index-billboard{
  position: relative;
  z-index:0;
}
.billboard-copy{
  position: absolute;
  top: 5.5vw;
  left: 0; right: 0;
  margin: auto;
  z-index: 50;
}
.billboard-copy img{
  display: block;
  width: 60vw; height: auto;
  margin: 0 auto 20px;
}

#index-swiper{
  width:100%;
  height:36vw;
}
.swiper-container{
	width:100%; height:100%;
}
.swiper-slide{
  position: relative;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}
.swiper-slide.slide01{
  background-image:url(../../img/index/billboard01.jpg);
}
.swiper-slide.slide02{
  background-image:url(../../img/index/billboard02.jpg);
}
.swiper-slide.slide03{
  background-image:url(../../img/index/billboard03.jpg);
}
.slide01 .copy-text{
  position: absolute;
  display: block;
  bottom: 10.5vw;
  left: 0; right: 0;
  margin: auto;
  font-family: 'Zen Maru Gothic', sans-serif;
  color: #FFF;
  font-size: 2.5vw;
  text-align: center;
}
.slide02 .copy-text{
  position: absolute;
  display: block;
  top: 13.5vw; left: 13.5vw;
  font-family: 'Zen Maru Gothic', sans-serif;
  color: #fff;
  font-size: 2.5vw;
  text-align: left;
  text-shadow:0 0 7px #686868;
}
.swiper-pagination{
  width: 99% !important;
}
#index-swiper .swiper-pagination-bullet{
  width: 15px; height: 15px;
  border: 2px solid #FFF;
  background: none !important;
  opacity: 1 !important;
}
#index-swiper .swiper-pagination-bullet-active{
  background: #FFF !important;
}
.swiper-container-banner{
  width: 540px;
  height: auto;
  overflow: hidden;
  position: relative;
  margin:40px auto 0;
  padding-bottom:40px;
}
.swiper-container-banner .swiper-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
}
.swiper-container-banner .swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: auto;
  text-align: center;
}
.swiper-container-banner img {
  display: block;
  width: 100%;
  height: auto;
}
.swiper-container-banner .swiper-pagination-bullet{
  width: 12px; height: 12px;
  border: 2px solid var(--point-color);
  background: none !important;
  opacity: 1 !important;
}
.swiper-container-banner .swiper-pagination-bullet-active{
  background:var(--point-color) !important;
}
.swiper-container-banner .swiper-container-horizontal>.swiper-pagination-bullets{
  bottom:0;
}



#container{
  display: flex;
  width: 100%;
  position: relative;
}
#main{
  width: calc(100% - 220px);
}
#side{
  width: 220px;
  background: #f5f5f5;
  padding-top: 80px;
}
#side h2{
  text-transform: uppercase;
  font-size: 1em;
  margin-bottom: 20px;
}
#side ul{
  width: 180px;
  margin: 0 auto;
}
#side ul li{
  margin-bottom: 10px;
}
.index-container{
  padding-top: 80px;
}
.index-container section{
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 100px;
}
.index-container section h2{
  font-size: 1.5em;
  margin-bottom: 20px;
}
.index-container section h2 span{
  position: relative;
  z-index: 1;
  line-height: 1.5;
}
.index-container section h2 span.eng{
  display: block;
  text-transform: uppercase;
  font-size: 3.1em;
  color: #FFF;
  margin-bottom: -50px;
  z-index: 0;
}
.index-news-box{
//  background-color: var(--supplement-color);
//  border-radius: 20px;
    padding: 0 100px 40px;
}
.index-news-box ul{
  position: relative;
  margin-bottom: 40px;
}
.index-news-box ul li{
  text-align: left;
  border-bottom: 1px dashed var(--point-color);
}
.index-news-box ul li a{
  display: flex;
  padding: 10px 0;
}
.index-news-box ul li a .entry-date{
  color: var(--base-color);
  width: 200px;
  font-size: 0.9em;
}
.index-news-box ul li a .title{
  flex: 1;
}
.index-news-box ul li a:hover{
  text-decoration: none;
}
.index-news-box ul li a:hover .title{
  text-decoration: underline;
}
.index-news-banner{
  width: 540px;
  margin: 40px auto 0;
}
.button{
}
.button a{
  position: relative;
  display: block;
  border: 1px solid var(--point-color);
  background: var(--point-color);
  width: 160px;
  border-radius: 9999px;
  color: #FFF;
  font-size: 0.95em;
  line-height: 30px;
  padding-bottom: 2px;
  margin: 0 auto 20px;
  text-align: center;
}
.button a::before{
  position: absolute;
  content: "";
  top:8px; right: 10px;
  width: 15px; height: 15px;
  background: #FFF;
  border-radius: 50%;
}
.button a::after{
  position:absolute;
  content:"";
  top:12px; right: 15px;
  width:4px; height:4px;
  border-top: var(--point-color) 2px solid;
  border-right: var(--point-color) 2px solid;
  transform: rotate(45deg);
}
.button a:hover{
  text-decoration: none;
  background-color: #FFF;
  color: var(--point-color);
  transition: 0.3s;
}
#index-event-area{
  position: relative;
  background: #fefacc;
  padding: 60px 0 10px;
}
#index-event-area::before{
  position: absolute;
  content: "";
  top: -150px; left: 50px;
  width: calc(240px * 0.35); height: calc(656px * 0.35);
  background-image: url(../../img/index/person01.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.index-container #index-event-area h2 span.eng{
  color: #fefacc;
}
ul.event-list{
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
  margin-bottom: 40px;
}
ul.event-list li{
  position: relative;
  width:31%;
  background: #FFF;
  box-sizing: border-box;
}
ul.event-list li a{
  display: block;
  text-decoration: none;
}
ul.event-list li a span.category-tag{
  position: absolute;
  top:0; left: 0;
  width: 120px;
  color: #FFF;
  font-size: 0.8em; line-height: 2;
}
ul.event-list li a span.cat01{background-color: #9b2e90;}
ul.event-list li a span.cat02{background-color: #00b7ee;}
ul.event-list li a span.cat03{background-color: #ec1c1c;}
ul.event-list li a span.cat04{background-color: #009944;}
ul.event-list li a .event-info{
  padding: 20px;
  text-align: left;
}
ul.event-list li a .event-info span.event-date,
ul.event-list li a .event-info span.event-place{
  color: var(--base-color);
  border: none;
}
ul.event-list li a .event-info .event-title{
  font-size: 1.2em;
  font-weight: 700;
}
ul.event-list li a .event-info span.event-place{
  padding-left: 15px;
  background: url(../../img/index/icon_spot.gif) no-repeat 0 4px;
}
ul.event-list li a:hover .event-info{
  text-decoration: none;
}
ul.event-list li a:hover .event-info h3{
  text-decoration: underline;
}
#index-member-area{
  padding: 60px 0 20px;
}
#index-member-area section::before{
  position: absolute;
  content: "";
  top: -160px; right: -50px;
  width: calc(300px * 0.4); height: calc(567px * 0.4);
  background-image: url(../../img/index/person02.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.index-member-box{
  position: relative;
  width: 75%;
  margin: 0 0 0 auto;
}
#index-member-area section::after{
  position: absolute;
  content: "";
  top:0; left: 0;
  width: calc(25% + 30px);
  aspect-ratio: 4 / 3;
  background-image: url(../../img/index/image01.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  border-radius: 20px;
  z-index: 10;
}
.index-box-text{
  padding: 40px 60px;
  text-align: left;
  margin-bottom: 40px;
  background-color: #FFF;
}
.index-member-box .index-box-text{
  background-color: var(--supplement-color);
}
#index-supporter-area{
  background-color: #fcedc9;
  padding: 60px 0 20px;
}
#index-supporter-area section::before{
  position: absolute;
  content: "";
  top: -260px; left: -10px;
  width: calc(400px * 0.5); height: calc(478px * 0.5);
  background-image: url(../../img/index/person03.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
#index-supporter-area section::after{
  position: absolute;
  content: "";
  top:0; right: 0;
  width: calc(25% + 30px);
  aspect-ratio: 4 / 3;
  background-image: url(../../img/index/image02.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  border-radius: 20px;
  z-index: 10;
}
.index-container #index-supporter-area h2 span.eng{
  color: #fcedc9;
}
.index-supporter-box{
  width: 75%;
  margin: 0 auto 0 0 ;
}
.index-supporter-box .index-box-text figure{
  width: 100px;
  margin-right: 30px;
}
#index-company-area{
  padding-top: 120px;
}
.index-company-box{
  border: 1px solid var(--point-color);
  border-radius: 20px;
  padding: 0 60px 40px;
}
.index-container .index-company-box h2{
  margin: -60px auto 40px;
  background: #FFF;
  width: 600px;
}
.index-company-box p{
  text-align: left;
}
.company-member-box{
  margin: 40px 0;
  text-align: left;
}
.company-member-box div{
  display: flex;
  align-items: center;
}
.company-member-box .company-member{
  background-color: #F5F5F5;
  border-radius: 10px;
  padding: 0 20px;
  margin-right: 20px;
  font-weight: 700;
}
ul.column-list{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 40px;
}
ul.column-list li{
  position: relative;
  width:300px;
  margin: 0 20px;
  box-sizing: border-box;
}
ul.column-list li a{
  display: block;
  text-decoration: none;
  text-align: left;
}
ul.column-list li a figure{
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  margin-bottom: 10px;
}
ul.column-list li a span{
  display: block;
  font-size: 0.9em;
  color: var(--base-color);
}
ul.column-list a:hover{
  text-decoration: none;
}
ul.column-list a:hover h3{
  text-decoration: underline;
}
#index-access-area{
  padding: 60px 0 20px;
  background-color: var(--supplement-color);
}
#index-access-area section::before{
  position: absolute;
  content: "";
  top: -200px; right: -30px;
  width: calc(452px * 0.2); height: calc(700px * 0.2);
  background-image: url(../../img/index/person04.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.index-container #index-access-area h2 span.eng{
  color: var(--supplement-color);
}
#index-map{
  position: relative;
  width: calc(40% + 60px);
  z-index: 1;
}
#index-map iframe{
  height: 340px;
}


#index-map .city-banner{
  width: 240px; height: auto;
  margin: 20px auto 0 0;
}



.index-access-box{
  width: 60%;
  background-color: #FFF;
  padding: 40px 40px 40px 100px;
  margin: 60px 0 0 -60px;
  box-sizing: border-box;
  text-align: left;
}
.index-access-box .flex{
  border-top: 1px solid #666;
  padding-top: 20px;
  margin-top: 20px;
}
.index-access-box .flex h3{
  font-size: 1.1em;
  margin-right: 30px;
}
ul.info-list{
  margin-bottom: 20px;
}
ul.info-list li{
  margin-bottom: 5px;
}
ul.info-list li.tel{
  position: relative;
  padding-left: 40px;
  margin-bottom: 20px;
}
ul.info-list li.tel::before{
  position: absolute;
  content: "";
  top:3px; left: 0;
  width: 32px; height: 32px;
  background-image: url(../../img/index/icon_phone.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
ul.info-list li.tel a{
  color: var(--point-color);
  font-size: 2em;
  font-weight: 700;
  line-height: 1;
}
ul.info-list li.tel a:hover{
  text-decoration: none;
}
ul.info-list li span::after{
  content: "/";
  margin: 0 5px;
}
.index-access-box .flex .text-box .button a{
  width: 240px;
  margin: 0 auto 0 0;
}
footer{
  width: 100%;
  background-color: #ed1b23;
  padding: 40px 0 20px;
}
#footer-inner{
  position: relative;
  width: calc(100% - 220px);
  color: #FFF;
  text-align: left;
}
#footer-inner section{
  width: 90%;
  margin: 0 auto;
  max-width: 1200px;
}
.footer-info{
  margin-right: 120px;
}
.footer-info #footer-logo{
  width: 240px; height: auto;
  margin-bottom: 10px;
}
.footer-info address{
  font-size: 0.9em;
  margin-bottom: 20px;
}

ul.footer-nav li::before{
  content: "－";
  color: #FFF;
  margin-right: 5px;
}
#footer-inner section ul li a{
  color: #FFF;
  line-height: 2;
}
#footer-inner section ul li a:hover{
  text-decoration: underline;
}
#copyright{
  text-align: left;
  font-size: 0.8em;
}

#line-box{
  position:fixed;
  top:250px;
  right:0;
  border-top:2px solid #00C848;
  border-bottom:2px solid #00C848;
  border-left:2px solid #00C848;
  border-radius:20px 0 0 20px;
  padding:1em 2em 1.2em 2em;
  background:#FFF;
  line-height:1.4;
  font-weight:700;
  z-index:30;
}
#line-box > a{
  display:flex;
  align-items:center;
  border-bottom:1px solid #999;
}
#line-box > a figure{
  width:55px; height:auto;
  margin-right:0.7em;
  margin-bottom:0;
}
#line-box > a .sp-line{
  display:none;
}
#line-box > a{
  text-decoration:none;
  padding-bottom:0.7em;
}
#line-box > a .line-text{
  text-align:left;
  font-size:1.1em;
  line-height:1.2;
  color:#343434;
  letter-spacing:0;
}
#line-box a:hover .line-text{
  color:#00C848;
}
#line-box .line-link{
  margin-top:0.5em;
}
#line-box .line-link a{
  position:relative;
  font-size:0.8em;
  line-height:1;
  color:#343434;
  margin-left:-1.5em;
  letter-spacing:0;
}
#line-box .line-link a::before{
  position:absolute;
  content:"";
  top:3px;
  right:-20px;
  width:15px;
  height:15px;
  background-color:var(--point-color);
  border-radius:9999px;
}
#line-box .line-link a::after{
  position: absolute;
  content:"";
  top:7px;
  right:-15px;
  width:4px;
  height:4px;
  border-top:#fff 2px solid;
  border-right:#fff 2px solid;
  transform:rotate(45deg);
}
#index-line-box{
  position:absolute;
  top:calc(36vw + 20px);
  right:0;
  border-top:2px solid #00C848;
  border-bottom:2px solid #00C848;
  border-left:2px solid #00C848;
  border-radius:20px 0 0 20px;
  padding:1em 2em 1.2em 2em;
  background:#FFF;
  line-height:1.4;
  font-weight:700;
  z-index:30;
}
#index-line-box > a{
  display:flex;
  align-items:center;
  border-bottom:1px solid #999;
}
#index-line-box > a figure{
  width:55px; height:auto;
  margin-right:0.7em;
  margin-bottom:0;
}
#index-line-box > a .sp-line{
  display:none;
}
#index-line-box > a{
  text-decoration:none;
  padding-bottom:0.7em;
}
#index-line-box > a .line-text{
  text-align:left;
  font-size:1.1em;
  line-height:1.2;
  color:#343434;
  letter-spacing:0;
}
#index-line-box a:hover .line-text{
  color:#00C848;
}
#index-line-box .line-link{
  margin-top:0.5em;
}
#index-line-box .line-link a{
  position:relative;
  font-size:0.8em;
  line-height:1;
  color:#343434;
  margin-left:-1.5em;
  letter-spacing:0;
}
#index-line-box .line-link a::before{
  position:absolute;
  content:"";
  top:3px;
  right:-20px;
  width:15px;
  height:15px;
  background-color:var(--point-color);
  border-radius:9999px;
}
#index-line-box .line-link a::after{
  position: absolute;
  content:"";
  top:7px;
  right:-15px;
  width:4px;
  height:4px;
  border-top:#fff 2px solid;
  border-right:#fff 2px solid;
  transform:rotate(45deg);
}
#index-line-box.line-fixed{
  position: fixed;
  top:250px;
}

/* page */
#page-billboard{
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--supplement-color);
  height:230px;
}
#page-billboard h1{
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: 1.3em;
  line-height: 1.1;
}
#page-billboard h1 span.eng{
  display: block;
  text-transform: uppercase;
  font-size: 3em;
  color: var(--supplement-color);
}
#crumb{
  position: relative;
  width: 90%;
  max-width: 1200px;
  text-align: left;
  margin: 10px auto 60px;
}
#crumb ul{
  display:flex;
  flex-wrap:wrap;
}
#crumb ul li{
  font-size:0.8em;
  text-transform: capitalize;
}
#crumb ul li:not(:last-child)::after{
  display:inline-block;
  content:">";
  transform:scale(0.6,1);
  margin:0 5px;
}
#crumb ul li a{
  text-decoration:none;
  color:#666;
}
#crumb ul li:last-child a{
  color:var(--base-color);
  pointer-events:none;
}
nav#page-nav{
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 60px;
}
nav#page-nav ul{
  display: flex;
}
nav#page-nav ul li a{
  border: 1px solid #666;
  border-radius: 9999px;
  margin-right: 15px;
  font-family: 'Quicksand', sans-serif;
  text-transform: uppercase;
  color: var(--base-color);
  padding: 5px 25px;
}
nav#page-nav ul li a:hover{
  color: #FFF;
  text-decoration: none;
  border: 1px solid var(--point-color);
  background-color: var(--point-color);
}
.page-container section{
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 80px;
  text-align: left;
}
.page-container section h2{
  text-transform: uppercase;
  font-size: 1.8em; line-height: 1.2;
  padding-left: 18px;
  border-left: 5px solid var(--point-color);
  margin-bottom: 0.8em;
}
.page-container section h3{
  position: relative;
  font-size: 1.2em;
  margin-bottom: 0.8em;
  padding-left: 25px;
}
.page-container section h3::before{
  position: absolute;
  content: "";
  top:49%; left: 0;
  width: 14px; height: 2px;
  background-color: var(--base-color);
}
.page-container section p{
  margin-bottom: 1.5em;
}

/* club */
ul.service-product-menu{
  display:flex;
  justify-content:space-between;
}
ul.service-product-menu li{
  width:49%;
  border-radius: 18px 18px 0 0;
  font-size:1.1em;
  font-weight:700;
  padding: 10px 0;
  color:#FFF;
  text-align:center;
  cursor:pointer;
  position:relative;
}
ul.service-product-menu li{
  background:#D9D9D9;
  transition:0.3s;
}
ul.service-product-menu li.menu01.active{
  background:#F4808B;
  transition:0.3s;
}
ul.service-product-menu li.menu02.active{
  background:var(--main-color);
  transition:0.3s;
}
.service-product .tab-contents{
  padding:30px 40px;
  border-radius: 0 0 20px 20px;
  text-align:left;
  display:none;
}
.service-product .tab-contents.active{
  display:block;
}
.service-product .tab-contents.menu01{
  background-color: #FFF6F7;
}
.service-product .tab-contents.menu02{
  background-color: #fbf8d9;
}
.service-box ul.service-box-list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}
.service-box ul.service-box-list > li{
  position: relative;
  width: 32%; height: 150px;
  border-radius: 20px;
  background-color: #FFF;
  padding: 20px;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.tab-contents.menu01 .service-box ul.service-box-list > li{border: 2px solid #d97f89;}
.tab-contents.menu02 .service-box ul.service-box-list > li{border: 2px solid var(--main-color);}
.service-box ul.service-box-list > li::before{
  position: absolute;
  content: "";
  top:15px; left: 13px;
  width: 44px; height: 44px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.tab-contents.menu01 .service-box ul.service-box-list > li:nth-child(1)::before{background-image: url(../../img/club/icon01.png);}
.tab-contents.menu01 .service-box ul.service-box-list > li:nth-child(2)::before{background-image: url(../../img/club/icon02.png);}
.tab-contents.menu01 .service-box ul.service-box-list > li:nth-child(3)::before{background-image: url(../../img/club/icon03.png);}
.service-box ul.service-box-list > li:nth-child(4)::before{background-image: url(../../img/club/icon15.png);}
.service-box ul.service-box-list > li:nth-child(5)::before{background-image: url(../../img/club/icon05.png);}
.service-box ul.service-box-list > li:nth-child(6)::before{background-image: url(../../img/club/icon06.png);}
.service-box ul.service-box-list > li:nth-child(7)::before{background-image: url(../../img/club/icon04.png);}
.tab-contents.menu02 .service-box ul.service-box-list > li:nth-child(1)::before{background-image: url(../../img/club/icon13.png);}
.tab-contents.menu02 .service-box ul.service-box-list > li:nth-child(2)::before{background-image: url(../../img/club/icon14.png);}
.tab-contents.menu02 .service-box ul.service-box-list > li:nth-child(3)::before{background-image: url(../../img/club/icon12.png);}

.tab-contents.menu02 .service-box ul.service-box-list > li.semipura::before{background-image: url(../../img/club/icon12.png);}
.tab-contents.menu02 .service-box ul.service-box-list > li.kouryuu::before{background-image: url(../../img/club/icon09.png);}

.tab-contents.menu02 .service-box ul.service-box-list > li:nth-child(4)::before{background-image: url(../../img/club/icon09.png);}

.service-box ul.service-box-list > li h4{
  text-align: center;
  font-size: 1.05em;
  letter-spacing: -0.01em;
}
.tab-contents.menu01 .service-box ul.service-box-list > li h4{color: #d97f89;}
.tab-contents.menu02 .service-box ul.service-box-list > li h4{color: var(--main-color);}
.service-box ul.service-box-list > li h4 span.detail{
  position: relative;
  display: block;
  color: var(--base-color);
  font-size: 0.8em;
  font-weight: normal;
  margin-top: 5px;
}
.service-box ul.service-box-list > li h4 span.detail::before{
  position: absolute;
  content: "";
  top:-5px;
  left: 0; right: 0;
  margin: auto;
  width: 40px; height: 1px;
}
.tab-contents.menu01 .service-box ul.service-box-list > li h4 span.detail::before{background-color: #d97f89;}
.tab-contents.menu02 .service-box ul.service-box-list > li h4 span.detail::before{background-color: var(--main-color);}
ul.service-box-list-detail > li{
  position: relative;
  margin-top: 80px;
}
ul.service-box-list-detail li h4{
  position: absolute;
  display: block;
  top:-40px; left: 0;
  width: calc(20% + 40px);
  border-radius: 20px;
  background-color: #FFF;
  padding: 80px 0 20px;
  text-align: center;
  box-sizing: border-box;
}
.tab-contents.menu01 ul.service-box-list-detail li h4{
  border: 2px solid #d97f89;
  color: #d97f89;
}
.tab-contents.menu02 ul.service-box-list-detail li h4{
  border: 2px solid var(--main-color);
  color: var(--main-color);
}
ul.service-box-list-detail li h4::before{
  position: absolute;
  content: "";
  top:20px;
  left: 0; right: 0;
  margin: auto;
  width: 60px; height: 60px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.tab-contents.menu01 ul.service-box-list-detail li:nth-child(1) h4::before{background-image: url(../../img/club/icon01.png);}
.tab-contents.menu01 ul.service-box-list-detail li:nth-child(2) h4::before{background-image: url(../../img/club/icon02.png);}
.tab-contents.menu01 ul.service-box-list-detail li:nth-child(3) h4::before{background-image: url(../../img/club/icon03.png);}
ul.service-box-list-detail li:nth-child(4) h4::before{background-image: url(../../img/club/icon15.png);}
ul.service-box-list-detail li:nth-child(5) h4::before{background-image: url(../../img/club/icon05.png);}
ul.service-box-list-detail li:nth-child(6) h4::before{background-image: url(../../img/club/icon04.png);}
ul.service-box-list-detail li:nth-child(7) h4::before{background-image: url(../../img/club/icon06.png);}
.tab-contents.menu02 ul.service-box-list-detail li:nth-child(1) h4::before{background-image: url(../../img/club/icon13.png);}
.tab-contents.menu02 ul.service-box-list-detail li:nth-child(2) h4::before{background-image: url(../../img/club/icon14.png);}
.tab-contents.menu02 ul.service-box-list-detail li:nth-child(3) h4::before{background-image: url(../../img/club/icon12.png);}

.tab-contents.menu02 ul.service-box-list-detail li.semipura h4::before{background-image: url(../../img/club/icon12.png);}
.tab-contents.menu02 ul.service-box-list-detail li.kouryuu h4::before{background-image: url(../../img/club/icon09.png);}

.tab-contents.menu02 ul.service-box-list-detail li:nth-child(4) h4::before{background-image: url(../../img/club/icon09.png);}
ul.service-box-list-detail li h4 span.detail{
  position: relative;
  display: block;
  color: var(--base-color);
  font-size: 0.8em;
  font-weight: normal;
  margin-top: 5px;
}
ul.service-box-list-detail li h4 span.detail::before{
  position: absolute;
  content: "";
  top:-5px;
  left: 0; right: 0;
  margin: auto;
  width: 40px; height: 1px;
  background-color: #d97f89;
}
.tab-contents.menu01 ul.service-box-list-detail li h4 span.detail::before{background-color: #d97f89;}
.tab-contents.menu02 ul.service-box-list-detail li h4 span.detail::before{background-color: var(--main-color);}
.service-box-list-text{
  width: 80%;
  background-color: #FFF;
  padding: 25px 30px 5px 70px;
  border-radius: 20px;
  margin: 0 0 0 auto;
  box-sizing: border-box;
}
.service-box-list-text p span.measure{
  display: inline-block;
  font-weight: 700;
  border-bottom: 2px solid var(--base-color);
  margin-bottom: 5px;
}
.service-box-list-text h5{
  font-family: 'Zen Maru Gothic', sans-serif;
  background-color: var(--point-color);
  border-radius: 10px;
  color: #FFF;
  font-size: 1em;
  padding: 5px 15px;
  margin-bottom: 20px;
}
.service-box-list-text ul{
  margin-bottom: 40px;
}
.service-box-list-text ul li{
  margin-bottom: 40px;
}
.service-box-list-text p.title span{
  font-weight: 700;
  border-bottom: 2px solid var(--base-color);
}
.service-box-list-text figure{
  width: 220px;
  margin-left: 20px;
}
.service-box-list-text figure figcaption{
  font-size: 0.8em;
}
.service-box-list-text figure.shop{
  width: 100px !important;
}
.service-box-list-text ul li#comingsoon p.title::after{
  content: "coming soon!";
  color: var(--point-color);
  font-weight: 700;
  margin-left: 10px;
}
.service-box-list-text ul li#comingsoon2025 p.title::after{
  content: "coming soon!";
  color: #d97f89;
  font-weight: 700;
  margin-left: 10px;
}

figure.plan{
  width:70%;
  margin:0;
}
.fixed-amount-box{
  border: 1px solid var(--point-color);
  border-radius: 30px;
  text-align: center;
  padding: 20px;
  margin-bottom: 40px;
}
.fixed-amount-title{
  color: var(--point-color);
  font-size: 1.2em;
  font-weight: 700;
  margin-bottom: 10px;
}
.fixed-amount-box .price{
  position: relative;
  color:var(--point-color);
  font-size: 2em;
  font-weight: 700;
  margin-bottom: 10px;
}
.fixed-amount-box .price span{
  font-size: 0.5em;
}
.fixed-amount-box .price .price-title{
  width: 300px;
  background: var(--point-color);
  color: #FFF;
  font-size: 1.1rem;
  border-radius: 9999px;
  margin: 0 auto;
}
.fixed-amount-box .available-box{
  background: #F8F8F8;
  border-radius: 15px;
  padding: 15px;
  text-align: left;
  font-size: 0.9em;
  margin-bottom: 20px;
}
.fixed-amount-box .available-box ul{
  margin-left: 30px;
}
.fixed-amount-box .available-box ul li{
  margin-bottom: 5px;
}
ul.photo3 li{
  width: calc((100% - 40px) / 3);
  margin-bottom: 0;
}

ol.conditions-list li{
  margin-bottom: 15px;
}
ol.conditions-list li::before{
  content: url(../../img/club/icon_check.png);
  width: 21px; height: 17px;
  margin-right: 2px;
}

ul.phone-list{
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
ul.phone-list li{
  background: #FFF;
  width: 48%;
  border: 1px solid var(--point-color);
  border-radius: 20px;
  padding: 20px;
  box-sizing: border-box;
}
ul.phone-list li h4{
  color: var(--point-color);
}
ul.phone-list li.flex{
  padding: 20px 20px 0 0;
  flex-direction: row-reverse;
}
ul.phone-list li figure{
  width: 120px;
  margin-right: 20px;
}
ul.phone-list li p{
  text-align: left;
}
ul.phone-list li p strong{
  color: var(--point-color);
}
.immediately{
  text-align: center;
}
.immediately-title{
  position: relative;
  font-size: 1.2em;
  font-weight: 700;
}
.immediately-title::before{
  content: "＼ ";
}
.immediately-title::after{
  content: " ／";
}
.immediately .qr{
  margin-bottom: 40px;
}
.immediately .qr a{
  display: inline-block;
  font-size: 1.2em;
}
.immediately .qr figure{
  width: 150px;
  margin: 10px auto 0;
}

/* about */
table.history-table{
  width: 100%;
  border-collapse:collapse;
  margin-bottom: 60px;
}
table.history-table th{
  font-family: 'Zen Maru Gothic', sans-serif;
  color: #FFF;
  font-size: 1.2em;
  line-height: 1;
//  padding: 17px 15px 15px 0;
  width: 60px; height: 60px;
  text-align: center;
  vertical-align: middle;
  background-color: var(--point-color);
  border-radius: 60px;
}
table.history-table th.same-year{
  position: relative;
  background: none;
}
table.history-table th.same-year::after{
  position: absolute;
  content: "";
  top:0; left:29px;
  width: 2px; height: 100%;
  background-color: var(--point-color);
}
table.history-table td{
  padding: 15px 0 15px 25px;
//  border-bottom: 1px solid #CCC;
}
table.history-table tr td:nth-last-of-type(2){
  font-weight: 700;
}
ol.co-creation-list li{
  margin-bottom: 40px;
}
ol.co-creation-list li h4{
  position: relative;
  font-size: 1.1em;
  margin-bottom: 0.8em;
}
ol.co-creation-list li h4 span{
  display: block;
}
ol.co-creation-list li h4 span.point{
  position: relative;
  display: inline-block;
  color: #FFF;
  font-size: 0.8em; line-height: 24px;
  background-color: var(--main-color);
  padding: 0 40px 0 15px;
}
ol.co-creation-list li h4 span.point::after{
  position: absolute;
  content: "";
  bottom: 0; right: 0;
  width: 0; height: 0;
  border-style: solid;
  border-width: 0 0 24px 30px;
  border-color: transparent transparent #FFF transparent;
}
ol.co-creation-list li figure img{
  width: 400px;
  margin-left: 30px;
  border-radius: 30px;
}
.free-box{
  border: 2px solid #F4808B;
  border-radius: 20px;
  width: 48%;
  box-sizing: border-box;
}
.free-box h4{
  background-color: #F4808B;
  color: #FFF;
  font-weight: 700;
  border-radius: 18px 18px 0 0;
  padding: 5px 0;
  text-align: center;
}
.free-box h4 span{
  font-size: 0.85em;
  background: #FFF;
  color: #F4808B;
  margin-left: 10px;
  padding: 0 10px;
}
.paid-box{
  border: 2px solid var(--main-color);
  border-radius: 20px;
  width:48%;
  box-sizing: border-box;
}
.paid-box h4{
  background-color: var(--main-color);
  color: #FFF;
  font-weight: 700;
  border-radius: 18px 18px 0 0;
  padding: 5px 0;
  text-align: center;
}
.paid-box h4 span{
  font-size: 0.85em;
  background: #FFF;
  color: var(--main-color);
  margin-left: 10px;
  padding: 0 10px;
}
ul.membership-list{
  margin: 20px 25px;
  display: flex;
  justify-content:center;
}
ul.membership-list li{
  position: relative;
  width: 190px;
  padding-top: 80px;
  font-size: 0.8em;
  text-align: center;
  margin:0 1em;
}
ul.membership-list li strong{
  display: block;
  font-size: 1.1em;
}
ul.membership-list li::before{
  position: absolute;
  content: "";
  top:0;
  left: 0; right: 0;
  margin: auto;
  width: 70px; height: 70px;
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
}
.free-box ul.membership-list li:nth-child(1)::before{background-image: url(../../img/club/icon04.png);}
.free-box ul.membership-list li:nth-child(2)::before{background-image: url(../../img/club/icon01.png);}
.paid-box ul.membership-list li:nth-child(1)::before{background-image: url(../../img/club/icon14.png);}
.paid-box ul.membership-list li:nth-child(2)::before{background-image: url(../../img/club/icon11.png);}
.paid-box ul.membership-list li:nth-child(3)::before{background-image: url(../../img/club/icon10.png);}

/* about-page-performance */
ul.achievement-box > li{
  border: 1px solid var(--point-color);
  border-radius: 20px;
  padding: 25px 30px;
  margin-bottom: 20px;
}
ul.achievement-box > li:last-child{
  margin-bottom: 40px;
}
ul.achievement-box li h4{
  margin-bottom: 15px;
  font-size: 1.1em;
  border-bottom: 1px solid #ccc;
}
ul.achievement-box li h4 span{
  font-size: 0.8em;
  font-weight: 500;
}
ul.achievement-box li ul li{
  font-size: 0.9em;
}
ul.achievement-box li ul li span{
  font-weight: 700;
}
ul.achievement-box li ul li p{
  margin-bottom: 10px;
}
ul.achievement-box li ul li:last-child p{
  margin: 0;
}
.past-achievement{
  margin-bottom: 30px;
}
.past-achievement span{
  font-weight: 700;
  display: inline-block;
  margin-bottom: 5px;
}

/* qa */
ul.qa-menu{
  display:flex;
  justify-content:space-between;
}
ul.qa-menu li{
  width:49%;
  border-radius: 18px 18px 0 0;
  font-size:1.1em;
  font-weight:700;
  padding: 10px 0;
  color:#FFF;
  text-align:center;
  cursor:pointer;
  position:relative;
}
ul.qa-menu li{
  background:#D9D9D9;
  transition:0.3s;
}
ul.qa-menu li.menu01.active{
  background:#F4808B;
  transition:0.3s;
}
ul.qa-menu li.menu02.active{
  background:#F4808B;
  transition:0.3s;
}
.qa-contents .tab-contents{
  padding:30px 0;
  text-align:left;
  display:none;
}
.qa-contents .tab-contents.active{
  display:block;
}
.qa-contents .tab-contents.menu01{
  border-top: 2px solid #F4808B;
}
.qa-contents .tab-contents.menu02{
  border-top: 2px solid #F4808B;
}
.qa-box ul{
	margin: 0 auto;
}
.qa-box ul > li{
  padding:0px 15px 25px;
  border-bottom:1px dashed #CCC;
  margin-top:25px;
}
.qa-box ul > li .question{
  font-size:1.05em; line-height:1.8;
  position:relative;
  padding:0 50px 0 32px;
  cursor:pointer;
}
.qa-box ul > li .question::before{
  content:"Q";
  width:24px; height:24px;
  border-radius:100%;
  background:#F4808B;
  font-size:0.9em; line-height:24px;
  text-align:center;
  color:#FFF;
  position:absolute;
  top:6%; left:0;
}
.qa-box ul > li .question span{
  width:16px; height:16px;
  position:absolute;
  top:18%; right:0;
}
.qa-box ul > li .question span:before{
  content:"";
  width:100%;
  border-top:2px solid #F4808B;
  position:absolute;
  top:50%; left:0;
  margin-top:-1px;
}
.qa-box ul > li .question span:after{
  content:"";
  height:100%;
  border-left:2px solid #F4808B;
  position:absolute;
  top:0; left:50%;
  margin-left:-1px;
  transition:0.2s;
}
.qa-box ul > li .question.open span:after{
  content:"";
  height:100%;
  border-left:2px solid #F4808B;
  position:absolute;
  top:0; left:50%;
  margin-left:-1px;
  transform:rotate(-90deg);
  transition:0.2s;
}
.qa-box ul > li .answer{
  display:none;
  padding:0 50px 0 32px;
  margin:15px 0 30px;
}
.qa-box ul.faq-result > li .answer{
  display:block;
}
.qa-box ul > li .answer p{
  margin-bottom:0;
}
.howto-box{
  display: flex;
}
.howto-box li{
  position: relative;
  width: 218px;
  padding: 0 !important;
  border-bottom: none !important;
}
.howto-box li:not(:last-child){
  margin-right: 72px;
}
ul.howto-box li:not(:last-child)::after{
  position: absolute;
  content: "";
  top:40%; right: -50px;
  border: 10px solid transparent;
  border-left: 12px solid #E6312C;
}
.howto-box li figcaption{
  font-size: 0.9em;
  margin-top: 5px;
}

/* termofuse */
.termofuse-box h3{
  font-size: 1em !important;
  padding: 0 !important;
}
.termofuse-box h3::before{
  display: none !important;
}
.termofuse-box p{
  font-size: 0.9em;
}
.termofuse-box table{
  width: 100%;
  font-size: 0.85em;
  border-collapse:collapse;
  margin-bottom: 20px;
}
.termofuse-box table th{
  border: 1px solid #333;
  padding: 10px;
  font-weight: normal;
}
.termofuse-box table td{
  border: 1px solid #333;
  padding: 10px;
}

/* sponsor */
table.sponsor-member-table{
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 40px;
}
table.sponsor-member-table caption{
  text-align: right;
  margin-bottom: 5px;
  font-size: 0.9em;
}
table.sponsor-member-table th{
  border: 1px solid #CCC;
  padding: 5px;
  font-weight: normal;
  text-align: center;
  background: #FDFBE9;
}
table.sponsor-member-table td{
  border: 1px solid #CCC;
  padding: 10px;
  text-align: left;
}
table.sponsor-member-table td:nth-child(1){
  text-align: center;
}
ul.disc-list{
  margin-bottom: 10px;
}
ul.disc-list li{
  margin-bottom: 10px;
}
ul.disc-list li::before{
  content: "・";
  font-weight: 700;
}
.sponsor-box{
  width: 100%;
  border: 2px solid var(--point-color);
  border-radius: 20px;
  padding: 30px;
  box-sizing: border-box;
}
.sponsor-box .sponsor-title{
  font-size: 1.1em;
  color: var(--point-color);
  font-weight: 700;
}
.sponsor-box .button a{
  width: 240px;
}

/* office */
.office-map{
  width: 600px;
  margin-right: 40px;
}
.access-box{
  flex: 1;
}
.access-box .button a{
  margin: 0 auto 0 0;
  width: 240px;
}
ul.equipment-list{
  display: flex;
  justify-content: space-between;
}
ul.equipment-list li{
  width: calc((100% - 60px) / 2);
}
ul.equipment-list li h4{
  font-size: 1.1em;
  color: var(--point-color);
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.4;
}
ul.equipment-list li h4 span{
  font-size: 0.8em;
  display: block;
  font-weight: 400;
}

ul.equipment-list li figure{
  width: 260px;
  margin-right: 20px;
}
.consultation-box figure{
  width: 350px;
  margin-right: 20px;
}

/* event */
ul.calendar-menu{
  display:flex;
  justify-content:space-between;
}
ul.calendar-menu li{
  width:49%;
  border-radius: 18px 18px 0 0;
  font-size:1.1em;
  font-weight:700;
  padding: 10px 0;
  color:#FFF;
  text-align:center;
  cursor:pointer;
  position:relative;
}
ul.calendar-menu li{
  background:#D9D9D9;
  transition:0.3s;
}
ul.calendar-menu li.menu01.active{
  background:#F4808B;
  transition:0.3s;
}
ul.calendar-menu li.menu02.active{
  background:#F4808B;
  transition:0.3s;
}
.calendar-contents .tab-contents{
  padding:30px 0;
  text-align:left;
  display:none;
}
.calendar-contents .tab-contents.active{
  display:block;
}
.event-date{
  width:120px;
  border:1px solid #4CA89D;
  border-radius:5px;
  text-align:center;
  margin-right: 40px;
}
.event-date .year{
  font-size:0.9em !important;
  line-height:30px !important;
  color:#FFF;
  background:#4CA89D;
}
.event-date .day{
  font-size:1.2em !important;
  line-height:32px !important;
}
.event-date .day .week{
  font-size:0.75em !important;
  display:inline-block;
  position:relative;
}
.event-date .day .week::before{
  content: "（";
}
.event-date .day .week::after{
  content: "）";
}
.event-date .sunday{color:#EA202D !important;}
.event-date .saturday{color:#1BA5E7 !important;}
ul.event-calendar-list{
  margin:0 auto ;
}
ul.event-calendar-list > li{
  display: flex;
  align-items: flex-start;
  margin:0 0 30px 0;
  padding:0 0 0 0;
}
ul.event-calendar-list li .event-archive-box{
  flex: 1;
  text-align:left;
}
ul.event-archive-list{
  margin:0 !important;
}
ul.event-archive-list li a{
  display: flex;
  margin:0 0 30px 0 !important;
}
ul.event-archive-list li a .thumbnail{
  width:120px;
  height:120px;
  margin-right: 30px;
}
ul.event-archive-list li a .thumbnail img{
  border:1px solid #CCC;
}
ul.event-archive-list li a .dummy-thumbnail{
  background:#F8F6F2;
  position:relative;
}
ul.event-archive-list li a .dummy-thumbnail img{
  position:absolute;
  top:0; bottom:0; left:0; right:0;
  margin:auto;
  width:54px; height:30px;
  border:none !important;
}
ul.event-archive-list li a .event-archive-info{
  flex: 1;
}
ul.event-archive-list li a .category-tag{
  display:inline-block;
  font-size:12px;
  line-height:20px;
  color:#FFF;
  height:20px;
  margin:0px 0 10px 0;
  padding:0 2.5em;
  position:relative;
  top:-2px;
}
ul.event-archive-list li a .category-tag.cat01{background:#99338E;}
ul.event-archive-list li a .category-tag.cat02{background:#1FB8EC;}
ul.event-archive-list li a .category-tag.cat03{background:#EA2128;}
ul.event-archive-list li a .category-tag.cat04{background:#159848;}
ul.event-archive-list li a .event-archive-info .event-title{
  margin-bottom:5px;
}
ul.event-archive-list li a .event-archive-info p.place{
  margin:0;
  color:#111;
}
ul.event-archive-list li a .event-archive-info p.place::before{
  content:"";
  width:14px; height:14px;
  background:url(../../img/index/icon_spot.gif) no-repeat center center;
  background-size:auto 14px;
  display:inline-block;
  position:relative;
  top:1px;
  margin-right:3px;
}
ul.event-archive-list li a:hover{
  text-decoration: none;
}
ul.event-archive-list li a:hover .event-title{
  text-decoration: underline;
}
.event-calendar-box{
  padding-bottom: 20px;
  margin-bottom: 30px;
  border-bottom: 1px dashed #CCC;
}
.event-calendar-box ul{
  display: flex;
}
.event-calendar-box ul li{
  margin-right: 20px;
}
.event-calendar-box ul li::before{
  content: "・";
}
/* event single */
.event-ended{
  color: #FF0000;
  margin-left: 1em;
}
.event-title-area{
  display: flex;
  align-items: flex-start;
}
.event-title-box{
  flex: 1;
}
.event-title-box .event-title{
  font-size: 1.5em;
}
.event-title-box .category-tag{
  display: inline-block;
  color: #FFF;
  font-size: 0.8em; line-height: 2;
  padding: 0 2.5em;
}
.event-title-box .cat01{background-color: #9b2e90;}
.event-title-box .cat02{background-color: #00b7ee;}
.event-title-box .cat03{background-color: #ec1c1c;}
.event-title-box .cat04{background-color: #009944;}
.event-body{
}
.event-body .event-image{
  width: 50%;
  margin: 0 auto 20px;
}
.event-body table.event-table{
  width: 100%;
  border-collapse:collapse;
  margin-bottom: 40px;
}
.event-body table.event-table th{
  padding: 10px 40px 10px 0;
  border-bottom: 1px solid #CCC;
  font-weight: 500;
  vertical-align: top;
}
.event-body table.event-table td{
  padding: 10px 0;
  border-bottom: 1px solid #CCC;
}
.event-body table.event-table td #event-map{
  border: 0;
  margin-top: 20px;
  height: 400px;
}

ul.other-event-list{
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
ul.other-event-list li{
  width: calc((100% - 90px) / 4 );
  border: 1px solid #CCC;
  box-sizing: border-box;
}
ul.other-event-list li a{
  position: relative;
  display: block;
}
ul.other-event-list li a span.category-tag{
  position: absolute;
  top:0; left: 0;
  font-size: 0.9em;
  padding: 0 10px;
  color:#FFF;
}
ul.other-event-list li a span.cat01{background-color: #9b2e90;}
ul.other-event-list li a span.cat02{background-color: #00b7ee;}
ul.other-event-list li a span.cat03{background-color: #ec1c1c;}
ul.other-event-list li a span.cat04{background-color: #009944;}
ul.other-event-list li a .other-event-info{
  padding: 15px 20px;
}
ul.other-event-list li a:hover{
  text-decoration: none;
}
ul.other-event-list li a:hover h4{
  text-decoration: underline;
}
ul.other-event-list li a .other-event-info .other-event-date{
  font-size: 0.9em;
  color: var(--base-color);
}
ul.other-event-list li a .other-event-info .other-event-place{
  font-size: 0.9em;
  color: var(--base-color);
  padding-left: 15px;
  background: url(../../img/index/icon_spot.gif) no-repeat 0 4px;
}

/* news */
.blog-container section{
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 80px;
  text-align: left;
}
.blog-container section p{
  margin-bottom: 1.5em;
}
#news-box{
}
#news-box .news-data{
  margin-bottom: 5px;
}
h1.news-box-title{
  font-size: 1.5em; line-height: 1.5;
  font-weight: 700;
  border-bottom: 1px solid var(--main-color);
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.news-box-body{
  padding-bottom: 80px;
}
.news-box-body img{
  max-width: 100% !important;
  height: auto;
}
.news-box-body table{
  width: 100%;
  border-collapse:collapse;
  margin-bottom: 40px;
}
.news-box-body table th{
  border: 1px solid #CCC;
  font-weight: 500;
  padding: 10px;
}
.news-box-body table td{
  border: 1px solid #CCC;
  padding: 10px;
}
ul.news-list{
  margin-bottom: 40px;
}
ul.news-list li a{
  display: block;
  padding: 20px 0;
  border-bottom: 1px dashed #CCC;
}
ul.news-list li:last-child a{
  border-bottom: none;
}
ul.news-list li a:hover{
  text-decoration: none;
}
ul.news-list li a:hover span.news-title{
  text-decoration: underline;
}
ul.news-list li a span.news-date{
  display: inline-block;
  color: var(--base-color);
  font-size: 0.9em;
  width: 260px;
  text-decoration: none;
}
.news-box-bottom{text-align: center;}
.news-box-bottom span.previous-page{float: left;}
.news-box-bottom span.next-page{float: right;}

/* お知らせ記事用 */
ul.instructor-list{
  margin-top: 40px;
}
ul.instructor-list li{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dashed #CCC;
}
ul.instructor-list li:last-child{
  border-bottom: none;
}
ul.instructor-list li .instructor-image{
  width: 160px;
  margin-right: 20px;
}
ul.instructor-list li .instructor-text{
  flex: 1;
}
ul.instructor-list li .instructor-text h2{
  font-size: 18px;
  margin-bottom: 10px;
}
ul.check-list{
  margin-bottom: 20px;
}
ul.check-list li{
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}
ul.check-list li::before {
  content: "";
  position: absolute;
  top: 4px; left: 4px;
  -webkit-transform: rotate(50deg);
  -ms-transform: rotate(50deg);
  transform: rotate(50deg);
  width: 5px;
  height: 10px;
  border-right: 2px solid #EC1B23;
  border-bottom: 2px solid #EC1B23;
}

/* contact */
table.contact-table{
  width:100%;
  margin:0 0 30px 0;
  border-collapse:collapse;
}
table.contact-table tr{
  border-top:1px dashed #999;
}
table.contact-table caption{
  text-align:left;
  margin-bottom:10px;
  font-size:13px;
}
table.contact-table th{
  padding:20px 15px;
  white-space:nowrap;
  text-align:left;
  vertical-align:top;
}
table.contact-table td{
  padding:20px 15px;
  text-align:left;
}
table.contact-table td.submit-td,
table.contact-table td.submit-td p{text-align:center !important;}
table.contact-table td span.caution{
  font-size:0.9em;
  display:inline-block;
  margin-top:5px;
}
table.contact-table td input[type="text"],
table.contact-table td input[type="email"],
table.contact-table td input[type="tel"]{
  width:100%;
  height:30px;
  background:#FCFCFC;
  border:1px solid #CCC;
}
table.contact-table td textarea{
  width:100%;
  height:160px;
  background:#FCFCFC;
  border:1px solid #CCC;
}
table.contact-table td .wpcf7-checkbox .wpcf7-list-item{
  display:block !important;
  margin:0 0 5px 0 !important;
}
table.contact-table td .wpcf7-radio .wpcf7-list-item{
  margin:0 2em 0 0 !important;
}
table.contact-table td input.input-submit{
  width:30%;
  margin:30px auto;
  padding:10px 0;
  font-size:0.9em;
  font-weight:700;
  letter-spacing:1px;
  color:var(--main-color);
  background:#FFF;
  border:1px solid var(--main-color);
  text-align:center;
  display:block;
  cursor:pointer;
  transition:0.5s;
}
table.contact-table td input.input-submit:hover{
  color:#FFF;
  background:var(--main-color);
  transition:0.5s;
}

/* privacypolicy */
ol.privacy-list{
  margin-bottom: 20px;
  text-align: left;
}
ol.privacy-list li{
  font-size: 0.9em;
  list-style-type: decimal;
  list-style-position: outside;
  margin-left: 1.5em;
}
