@charset "UTF-8";
/*
Theme Name: はじめてのレズ
Description: This is a portfolio
*/

@import url('https://fonts.googleapis.com/css2?family=Oswald&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');


html {
  margin: 0;
  padding: 0;
}

body * {
  box-sizing: border-box;
  word-break: break-all;
  max-width: 100%;
}

h1,h2,h3,h4,h5,h6 {
  margin: 0;
  padding: 0;
  color: #404040;
  letter-spacing: 2px;
}

p {
  font-size: 17px;
  line-height: 1.9;
  margin: 0;
  padding: 0;
  letter-spacing: 0.2px;
  color: #404040;
}

a{
  -webkit-transition: 0.25s;
  -o-transition: 0.25s;
  transition: 0.25s;
}

input{
  -webkit-transition: 0.25s;
  -o-transition: 0.25s;
  transition: 0.25s;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  font-size-adjust:0.58;
}

a {
  -webkit-tap-highlight-color:rgba(80,80,80,0.4);
}

a img {
  border: none;
}

img{
  max-width: 100%;
  vertical-align: bottom;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}







ol.normal-list1,
ul.normal-list1{
  font-size: 17px;
  color: #404040;
  padding: 0 0 0 16px;
  margin: 0;
}

.normal-list1 li{
  margin: 0 0 8px;
  line-height: 2;
}



.design-list1 {
  padding: 0;
  position: relative;
}

.design-list1 li {
  font-size: 17px;
  color: #404040;
  border-left: solid 4px #404040;
  background-color: #fff;
  margin-bottom: 8px;
  line-height: 1.5;
  border-radius: 0 15px 15px 0;/*右側の角だけ丸く*/
  padding: 15px 25px;
  list-style-type: none!important;
}




.design-list2{
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.design-list2::after{
  content: '';
  display: block;
  clear: both;
}


.design-list2 li{
  float: left;
  width: 46%;

  position: relative;
  line-height: 1.9;
  margin: 0 2%;
  padding: 6px 0 6px 44px;
  font-size: 16px;
  border-bottom: 1px dotted #ccc;
}

.design-list2 li:before{
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  position: absolute;
  left: 6px;
  font-size: 14px;
  font-weight: bold;
  width: 25px;
  height: 25px;
  line-height: 25px;
  background: linear-gradient(to right, #47bb61, #0C78FA);
  text-align: center;
  color: #fff;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}



.design-dl1{
  line-height: 1.7;
  margin: 0;
}

.design-dl1:after{
  content: '';
  display: block;
  clear: both;
}

.design-dl1 dt{
  font-size: 16px;
  float: left;
  width: 110px;
  margin: 0;

  content: "";
  display: block;
  clear: both;
}
.design-dl1 dd{
  font-size: 16px;
  float: left;
  margin: 0;
}




.center{
  text-align: center;
}

/*--------------------------------------------------------
見出し
--------------------------------------------------------*/

.single-column h1{
  font-size: 30px;
  text-align: left;
  margin-bottom: 15px;
}


.single-column .inner-content2 h2{
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  background-color: #47bb61;
  border-left: solid 11px #277d3a;
  padding: 19px 25px 20px;
  margin: 25px 0;
}
.single-column .inner-content2 h3{
  font-size: 21px;
  font-weight: bold;
  color: #47bb61;
  padding: 14px 23px 15px;
  margin: 25px 0;

  position: relative;
  border-left: 8px solid #ccc;
}

.single-column .inner-content2 h3::before{
  position: absolute;
  left: -8px;
  bottom: 0;
  content: '';
  width: 8px;
  height: 50%;
  background-color: #47bb61;
}

.single-column .inner-content2 h3::after{
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 0;
  border-bottom: 2px solid #47bb61;
}

.single-column .inner-content2 h4{
  font-size: 19px;
  font-weight: bold;
  border-bottom: double 7px #47bb61;
  padding: 11px 14px 10px;
  margin: 25px 0;
}
.single-column .inner-content2 h5{
  font-size: 18px;
  font-weight: bold;
  background-color: #eee;
  padding: 12px 18px 11px;
  margin: 25px 0;
}
.single-column .inner-content2 h6{
  font-size: 17px;
  font-weight: bold;
  padding: 10px 14px 9px;
  margin: 25px 0;
  border-bottom: double 3px #ccc;
}


.single-column #area-page01 p{
  margin-bottom: 20px;
}


.single-column .inner-content2 .related-title{
  color: #fff;
  background-color: #47bb61;
  font-size: 18px;
  font-weight: bold;
  padding: 13px 20px 12px;
  margin: 30px 0 15px;
}



.title-wrap{
  border-top: solid 2px #47bb61;
  border-bottom: solid 2px #47bb61;
  padding: 20px 0;
  margin: 0 0 45px;
  text-align: center;
}
.title-wrap .title-name{
  font-size: 27px;
  font-weight: bold;
}
.title-wrap .title-size{
  font-size: 17px;
  font-weight: bold;
}


.page-title{
  font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  padding: 155px 0 52px;
  text-align: center;
  background-color: #e6ffee;
}
.page-title .title_main{
  color: #404040;
  font-size: 31px;
  display: block;
  margin: 0 0 3px;
}
.page-title .title_sub{
  font-size: 17px;
  font-weight: bold;
  color: #47bb61;
  display: block;
  letter-spacing: 1px;
}




.content-titleA{
  text-align: center;
  margin: 0 0 50px;
}
.content-titleA .text{
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 20px 55px;
  min-width: 120px;
  max-width: 100%;
  color: #fff;
  font-size: 25px;
  font-weight: bold;
  background: #1aac78;
  background-image: linear-gradient(to bottom, #1aac78 0%, #68c742 100%);
  border-radius: 14px;
  box-shadow: 5px 5px 0px 0px #318c30;  /* 吹き出し本体の影 */
}
.content-titleA .text:after{
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #68c742;
}
/* 三角アイコンの影 */
.content-titleA .text:before{
  content: "";
  position: absolute;
  top: calc(100% + 3px);
  left: calc(50% + 5px);
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #318c30;
}


.content-titleB{
  line-height: 1.3;
  text-align: center;
  margin: 0 0 40px;
}
.content-titleB .main{
  color: #113847;
  font-family: 'Open Sans', sans-serif;
  font-size: 46px;
  letter-spacing: 2px;
}
.content-titleB .sub{
  color: #113847;
  font-size: 15px;
  font-weight: bold;
}




.balloon-left,
.balloon-right{
  width: 100%;
  overflow: hidden;
}
.balloon-left .faceicon{
  float: left;
  width: 115px;
}
.balloon-right .faceicon{
  float: right;
  width: 115px;
}
.balloon-left .faceicon img{
  width: 100%;
  height: auto;
  border: solid 3px #47bb61;
  border-radius: 50%;
}
.balloon-right .faceicon img{
  width: 100%;
  height: auto;
  border: solid 3px #e8b207;
  border-radius: 50%;
}
.balloon-left .chatting,
.balloon-right .chatting{
  width: 100%;
}
.balloon-left .says{
  position: relative; 
  margin: 5px 0 0 140px;
  padding: 24px;
  border-radius: 12px;
  background: #e9f9e5;
}
.balloon-right .says{
  position: relative; 
  margin: 5px 140px 0 0;
  padding: 24px;
  border-radius: 12px;
  background: #f9f6d7;
}
.balloon-left .says:after{
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px; 
  left: -24px;
  border: 12px solid transparent;
  border-right: 12px solid #e9f9e5;
}
.balloon-right .says:after{
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px; 
  right: -24px;
  border: 12px solid transparent;
  border-left: 12px solid #f9f6d7;
}
.says p{
  margin: 0;
  padding: 0;
}








/*--------------------------------------------------------
固定ページ
--------------------------------------------------------*/





/*固定ページのエリア*/
#area-about01{
  padding: 80px 0;
  background-color: #fffcee;
}
#area-about02{
  padding: 80px 0;
  background-color: #fff;
}
#area-about03{
  padding: 80px 0;
  background-color: #fcf5d4;
}
#area-about04{
  padding: 80px 0;
  background-image: url(/wp-content/themes/first-les/img/areaabout04-back.jpg);
  background-size: cover;
  background-position: 50% 50%;
}


#area-flow01{
  padding: 60px 0;
  background-color: #fffcee;
}
#area-flow02{
  padding: 80px 0;
  background-color: #fff;
}

#area-faq01{
  padding: 60px 0;
  background-color: #fffcee;
}
#area-faq02{
  padding: 80px 0;
  background-color: #fff;
}

#area-system01{
  padding: 80px 0;
  background-color: #fffcee;
}
#area-system02{
  padding: 80px 0;
  background-color: #fff;
}
#area-system03{
  padding: 80px 0;
  background-color: #fcf5d4;
}
#area-system04{
  padding: 80px 0;
  background-image: url(/wp-content/themes/first-les/img/areasystem04-back.jpg);
  background-size: cover;
  background-position: 50% 50%;
}



#area-recruit01{
  padding: 60px 0;
  background-color: #fffcee;
}
#area-recruit02{
  padding: 80px 0;
  background-color: #fff;
}
#area-recruit03{
  padding: 80px 0;
  background-color: #fcf5d4;
}
#area-recruit04{
  padding: 80px 0;
  background-color: #fffcee;
}
#area-recruit05{
  padding: 80px 0;
  background-color: #fff;
}
#area-recruit06{
  padding: 80px 0;
  background-color: #fcf5d4;
}


#area-information01{
  padding: 80px 0;
  background-color: #fff;
}
#area-information02{
  padding: 80px 0;
  background-color: #fffcee;
}
#area-information03{
  padding: 80px 0;
  background-color: #fff;
}


#area-reservation01{
  padding: 80px 0;
  background-color: #fffcee;
}
#area-reservation02{
  padding: 80px 0;
  background-color: #fff;
}

#area-cast01{
  padding: 80px 0;
  background-color: #fffcee;
}
#area-cast02{
  padding: 80px 0;
  background-color: #fff;
}


#area-single01{
  padding: 145px 0 80px;
  background-color: #fff;
}




#area-page01{
  padding: 130px 0 50px;
  background-color: #e6ffee;
}


#area-column01{
  padding: 70px 0;
  background-color: #fffcee;
}










#area-blog01{
  padding: 80px 0;
  background: #fff;
}

.single #area-blog01{
  padding: 150px 0 50px;
  background-color: #fff;
}

.single #area-blog01 article{
  background-color: #fff;
}











.inner-content{
  position: relative;
  width: 86%;
  margin: 0 auto;
  padding: 75px 45px 45px;
  background-color: rgba(255,255,255,0.95);
  box-shadow: 0px 2px 4px 2px rgba(0,0,0,0.1);
}
.inner-content .title{
  position: absolute;
  top: -40px;
  left: 60px;
  font-size: 17px;
  color: #fff;
  background-color: #47bb61;
  padding: 20px 40px;
  margin: 0;
  transform: skewX(-16deg);
}
.inner-content .title .text{
  display: inline-block;
  transform: skewX(16deg);
}

.inner-content p{
  font-size: 16px;
  color: #47bb61;
  margin: 0;
}
.inner-content i{
  margin-right: 7px;
}

.inner-content2{
  width: 87%;
  margin: 0 auto;
  padding: 6.5% 4.5%;
  background-color: #fff;
}

.inner-content3{
  width: 90%;
  margin: 0 auto;
  padding: 6.5% 4%;
  background-color: rgba(255,255,255,0.95);
  box-shadow: 0px 2px 4px 2px rgba(0,0,0,0.1);
}
.inner-content3 p{
  text-align: center;
}


.action-list01{
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: number;
}
.action-list01 .item{
  position: relative;
  font-size: 15px;
  font-weight: bold;
  width: 49.5%;
  padding: 4% 3.2%;
  margin: 0 0 10px;
  background-color: #f7f7f5;
  border: solid 2px #ebe0c5;
}
.action-list01 .item::before{
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: -2px;
  left: -2px;
  color: #fff;
  background-color: #8c7b46;
  font-size: 21px;
  font-weight: bold;
  text-align: center;
  width: 37px;
  height: 37px;
  line-height: 38px;
  box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1);
}



.action-list01 .item:nth-of-type(even){
  margin-left: 1%;
}
.action-list01 .big{
  font-size: 28px;
  display: block;
  color: #8c7b46;
  margin: 0 0 10px;
}


.border-box01{
  padding: 40px 0;
  border-top: solid 2px #1aac78;
  border-bottom: solid 2px #1aac78;
}



.double-box01{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  margin: 0 0 70px;
}

.double-box01 .left{
  background-color: #68c742;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  width: 50%;
  padding: 50px;
}
.double-box01 .right{
  background-color: #1aac78;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  width: 50%;
  padding: 50px;
}

.double-box01 .title{
  color: #fff;
  margin: 0 0 20px;
}
.double-box01 p{
  color: #fff;
  font-size: 15px;
  margin: 0;
}






.turn-box01{
  list-style: none;
  padding: 0;
  margin: 0;
}
.turn-box01 .item{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.turn-box01 .item:nth-of-type(odd){
  flex-direction: row-reverse;
}
.turn-box01 .item:not(:last-child){
  margin-bottom: 90px;
}
.turn-box01 .image{
  width: 45%;
}
.turn-box01 .text{
  width: 47%;
}
.turn-box01 .title{
  font-size: 25px;
  font-weight: bold;
  color: #47bb61;
  padding: 8px 15px;
  margin: 0 0 30px;
  border-bottom: double 2px #47bb61;
}



.turn-box02{
  list-style: none;
  padding: 0;
  margin: 0;
}
.turn-box02 .item{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.turn-box02 .item:nth-of-type(odd){
  flex-direction: row-reverse;
}
.turn-box02 .image{
  width: 26%;
}
.turn-box02 .text{
  width: 65%;
}
.turn-box02 .title{
  font-size: 25px;
  font-weight: bold;
  color: #47bb61;
  padding: 8px 15px;
  margin: 0 0 30px;
  border-bottom: double 2px #47bb61;
}

.turn-box02 .image a:hover{
  opacity: 0.8;
}

.staff-list01{
  list-style: none;
  padding: 0;
  margin: 0;
}
.staff-list01::after{
  content: '';
  display: block;
  clear: both;
}
.staff-list01 .item{
  width: 32%;
}
.staff-list01 .item:not(:nth-child(3n)){
  margin-right: 2%;
}
.staff-list01 a:hover{
  opacity: 0.8;
}





.support-box01{
  position: relative;
  padding: 15% 8% 12%;
  margin: 130px 0 0;
  background-image: url(/wp-content/themes/check-best/img/back-support.jpg);
  background-position: 50% 50%;
  background-size: cover;
  box-shadow: 0px 1px 20px -2px rgba(0,0,0,0.1);
}
.support-box01::before{
  position: absolute;
  content: "";
  top: -75px;
  left: 50%;
  transform: translateX(-50%);
  width: 1.5px;
  height: 150px;
  background-color: #47bb61;
}

.support-box01 .list{
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 50px 0 0;
}
.support-box01 .list .item{
  font-size: 31px;
  font-weight: bold;
  width: 49.5%;
  padding: 4.5% 3.2%;
  margin: 0 0 10px;
  line-height: 1;
  color: #444;
  background-color: #f7f7f5;
}
.support-box01 .list .item1{
  color: #2C6627;
  background-color: #f2faf9;
  border: solid 2px #2C6627;
}
.support-box01 .list .item2{
  color: #993746;
  background-color: #faf4f2;
  border: solid 2px #993746;
}
.support-box01 .list .item3{
  color: #999900;
  background-color: #faf8f0;
  border: solid 2px #999900;
}
.support-box01 .list .item4{
  color: #2B6280;
  background-color: #f0f3f5;
  border: solid 2px #2B6280;
}


.support-box01 .list .item:nth-of-type(even){
  margin-left: 1%;
}


.greetings-box{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.greetings-box .image{
  width: 35%;
}
.greetings-box .text{
  width: 59%;
}
.greetings-box .profile{
  margin: 30px 0 0;
}
.greetings-box .profile p{
  font-weight: bold;
  text-align: right;
}



.policy-list01{
  list-style: none;
  padding: 0;
  margin: 0 0 70px;
}
.policy-list01 .item{
  padding: 20px 25px;
  border-bottom: solid 1.5px #ddd;
}





.policy-list02{
  list-style: none;
  padding: 0;
  margin: 90px 0 70px;
}
.policy-list02 .item{
  padding: 38px 25px;
  border-bottom: solid 1.5px #ddd;
}
.policy-list02 .item:first-child{
  border-top: solid 1.5px #ddd;
}
.policy-list02 .title{
  color: #47bb61;
  font-size: 20px;
  margin: 0 0 18px;
}







.text-catch01 .marker{
  display: inline-block;
  font-size: 24px;
  font-weight: bold;
  color: #47bb61;
  background-color: #fff;
  border: solid 1px #47bb61;
  padding: 3px 18px 1px;
  margin: 0 0 11px;
}
.text-catch01 .marker.big{
  font-size: 32px;
}



.flow-list01{
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: number;
}
.flow-list01 .item:not(:last-child){
  margin: 0 0 45px;
}

.flow-list01 .title{
  position: relative;
  width: 100%;
  font-size: 21px;
  font-weight: bold;
  color: #fff;
  background: #47bb61;
  border: solid 2px #47bb61;
  padding: 28px 51px 29px 90px;
  margin: 0;
}
.flow-list01 .title:before{
  position: absolute;
  top: 23px;
  left: 26px;
  counter-increment: number;
  content: counter(number);
  display: block;
  color: #47bb61;
  background-color: #fff;
  font-size: 24px;
  text-align: center;
  width: 45px;
  height: 45px;
  line-height: 45px;
  letter-spacing: 0px;
}
.flow-list01 .content{
  background-color: #f2f2f2;
  padding: 40px;
}











.flow-list02{
  list-style: none;
  padding: 0;
  margin: 0;
}
.flow-list02 .item{
  padding: 35px;
  background-color: #e6f8ff;
}
.flow-list02 .item:not(:last-child){
  margin: 0 0 35px;
}

.flow-list02 .title{
  display: flex;
  align-items: center;
  font-size: 21px;
  font-weight: bold;
  color: #47bb61;
  padding: 2px 6px 6px 6px;
  margin: 0 0 22px;
  border-bottom: solid 2px #47bb61;
}
.flow-list02 .no{
  width: 46px;
  margin-right: 12px;
}






.flow-list03{
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: number;
}
.flow-list03 .item{
  position: relative;
  padding: 30px 50px 30px;
  margin: 0 0 50px;
  background-color: #fefefe;
  border: solid 2px #1aac78;
}
.flow-list03 .item::before{
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 35px;
  color: #fff;
  background-color: #1aac78;
  border-radius: 50%;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  width: 45px;
  height: 45px;
  line-height: 42px;
}

.flow-list03 .item:not(:last-child)::after{
  border-top: 22px solid #68c742;
}
.flow-list03 .item:not(:last-child)::after{
  position: absolute;
  content: '';
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: -39px;
  border-right: 35px solid transparent;
  border-left: 35px solid transparent;
}


.flow-list03 p{
  font-size: 20px;
  text-align: center;
}









.cp_actab {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 8px auto;
  color: #ffffff;
}
.cp_actab input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.cp_actab label {
  font-size: 21px;
  font-weight: bold;
  position: relative;
  display: block;
  padding: 28px 51px 29px 77px;
  cursor: pointer;
  margin: 0 0 1px 0;
  background: #47bb61;
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
}
.cp_actab .cp_actab-content {
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 0.35s;
  transition: max-height 0.35s;
  color: #333333;
  background: #e1fae7;
}
.cp_actab .cp_actab-content p {
  margin: 40px 45px;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content {
  max-height: 2000em;
}
/* Icon */
.cp_actab label::after {
  font-size: 31px;
  position: absolute;
  top: 50%;
  transform: translatey(-50%);
  right: 26px;
  display: block;
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
}
.cp_actab input[type=checkbox] + label::after {
  content: '+';
}
.cp_actab input[type=checkbox]:checked + label::after {
  transform: translatey(-50%) rotate(315deg);

}

.cp_actab label:hover{
  background: #e8b207;
}
.cp_actab input[type=checkbox]:checked + label{
  background: #e8b207;
}


.cp_actab label::before {
  position: absolute;
  top: 46%;
  transform: translatey(-50%);
  left: 32px;
  content: "Q";
  color: #fff;
  font-size: 27px;
  letter-spacing: 0px;
}






.faq-list01{
  list-style: none;
  padding: 0;
  margin: 0;
}
.faq-list01 .item:not(:last-child){
  margin: 0 0 45px;
}
.faq-list01 .title{
  width: 100%;
  display: table;
  font-size: 18px;
  font-weight: bold;
  color: #47bb61;
  background: #fff;
  border: solid 2px #47bb61;
  padding: 0;
  margin: 0 0 22px;
}
.faq-list01 .title:before{
  content: "Q";
  display: table-cell;
  color: #fff;
  background-color: #47bb61;
  font-size: 21px;
  text-align: center;
  width: 40px;
  height: 40px;
  line-height: 40px;
  letter-spacing: 0px;
  margin-right: 16px;
}

.faq-list01 .title span{
  display: table-cell;
  width: auto;
  padding: 4px 6px 4px 12px;
}

.faq-list01 .content{
  background-color: #f2f2f2;
  padding: 40px;
}
.faq-list01 br{
  display: none;
}









.tel-box01{
  padding: 40px 50px;
  background-color: #edf3ff;
}
.tel-box01 a,
.tel-box01 span{
  font-size: 35px;
  font-weight: bold;
  color: #47bb61;
  text-decoration: none;
}
.tel-box01 a i,
.tel-box01 span i{
  margin-right: 10px;
}





.tel-box02{
  padding: 60px;
  margin: 60px 0 0;
  background-color: #edf3ff;
}
.tel-box02 .title{
  color: #47bb61;
  font-size: 23px;
  margin: 0 0 30px;
}
.tel-box02 .title i{
  margin-right: 9px;
}



.tel-box03{
  padding: 56px;
  background-color: #edf3ff;
}
.tel-box03 .title{
  color: #47bb61;
  font-size: 23px;
  margin: 0 0 20px;
}
.tel-box03 .title i{
  margin-right: 9px;
}

.tel-box04{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;

}
.tel-box04 .left-item{
  width: 32%;
  padding: 12px;
  border-right: solid 1px #47bb61;
}
.tel-box04 .right-item{
  width: 68%;
  padding: 12px 12px 12px 6%;
}

.tel-box04 .btn-tel{
  font-size: 38px;
  font-weight: bold;
  color: #47bb61;
  text-decoration: none;
}
.tel-box04 .btn-tel i{
  margin-right: 14px;
}
.tel-box04 .btn-tel:hover{
  opacity: 0.8;
}

.tel-box04 .btn-contact{
  display: block;
  font-size: 17px;
  font-weight: bold;
  color: #fff;
  background-color: #47bb61;
  padding: 18px 18px 18px 28px;
  margin: 10px 0 0;
  text-decoration: none;
}
.tel-box04 .btn-contact i{
  margin-right: 12px;
}
.tel-box04 .btn-contact:hover{
  opacity: 0.8;
}





/*--------------------------------------------------------
トップページ
--------------------------------------------------------*/
.main-body{
  overflow: hidden;
}


#area-top00A{
  padding: 90px 0 80px;
  background-color: #fffcee;
}
#area-top00B{
  padding: 60px 0;
  background: linear-gradient(to bottom, #1aac78 0%, #68c742 100%);
}
#area-top00C{
  padding: 70px 0;
  background-color: #fffcee;
}

#area-top01{
  padding: 50px 0 35px;
  background-color: #fffcee;
}
#area-top02{
  position: relative;
  padding: 130px 0;
  background-color: #e6ffee;
  overflow: hidden;
}
#area-top02:before{
  position: absolute;
  display: block;
  content: "";
  opacity: .4;
  background-color: #00865a;
  width: 680px;
  height: 700px;
  transform: skew(-38deg);
  top: 0;
  left: -720px;
}
#area-top02:after{
  position: absolute;
  display: block;
  content: "";
  opacity: .4;
  background-color: #00865a;
  width: 680px;
  height: 700px;
  transform: skew(38deg);
  bottom: 0;
  left: -720px;
}





#area-top03{
  position: relative;
  padding: 130px 0;
  margin: 50px 0 0;
  background-color: #e6ffee;
  overflow: hidden;
}
#area-top03:before{
  position: absolute;
  display: block;
  content: "";
  opacity: .4;
  background-color: #00865a;
  width: 680px;
  height: 700px;
  transform: skew(-38deg);
  bottom: 0;
  right: -720px;
}
#area-top03:after{
  position: absolute;
  display: block;
  content: "";
  opacity: .4;
  background-color: #00865a;
  width: 680px;
  height: 700px;
  transform: skew(38deg);
  top: 0;
  right: -720px;
}

#area-top04{
  position: relative;
  padding: 130px 0;
  margin: 50px 0 0;
  background-color: #e6ffee;
  overflow: hidden;
}
#area-top04:before{
  position: absolute;
  display: block;
  content: "";
  opacity: .4;
  background-color: #00865a;
  width: 680px;
  height: 700px;
  transform: skew(-38deg);
  top: 0;
  left: -720px;
}
#area-top04:after{
  position: absolute;
  display: block;
  content: "";
  opacity: .4;
  background-color: #00865a;
  width: 680px;
  height: 700px;
  transform: skew(38deg);
  bottom: 0;
  left: -720px;
}

#area-top05{
  padding: 90px 0 90px;
  background-color: #fff;
}

#area-top06{
  padding: 90px 0 90px;
  background-color: #fffcee;
}

#area-top07{
  padding: 90px 0 90px;
  background-color: #fff;
}

#area-top08{
  padding: 90px 0 90px;
  background-color: #fffcee;
}

#area-top09{
  position: relative;
  padding: 70px 0;
  background-color: #fff;
}



#area-top10{
  position: relative;
  padding: 200px 0 160px;
  background-image: url(/wp-content/themes/first-les/img/areatop09-back.jpg);
  background-size: cover;
  background-position: 50% 100%;
}
#area-top10::before{
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100px;
  top: -35px;
  left: 0;
  background-color: #fff;
  transform: skew(0, 3deg);
}
#area-top10::after{
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100px;
  bottom: -66px;
  left: 0;
  background-color: #e6ffee;
  transform: skew(0, -3deg);
}


.comment-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}
.comment-list .item{
  position: relative;
  width: 32%;
  padding: 25px 20px;
  text-align: center;
  color: #404040;
  background-color: #fff;
  border: solid 1px rgba(255,255,255,.4);
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
}





.comment-list .item::before{
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  content: "\f004";
  position: absolute;
  top: -17px;
  left: -7px;
  color: #fff;
  background: #1aac78;
  background-image: linear-gradient(to bottom, #1aac78 0%, #68c742 100%);
  border-radius: 14px;
  box-shadow: 5px 5px 0px 0px #318c30;
  border-radius: 50%;
  font-size: 21px;
  font-weight: bold;
  text-align: center;
  width: 45px;
  height: 45px;
  line-height: 47px;
  box-shadow: 0px 1px 3px 1px rgba(0,0,0,0.1);
}
.comment-list .item:not(:nth-child(3n)){
    margin-right: 2%;
}




.point-list01{
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
  display: flex;
  flex-wrap: wrap;
  counter-reset: number;
}
.point-list01 .item{
  position: relative;
  width: 32%;
  padding: 28px 22px;
  color: #404040;
  background-color: #fff;
  border: solid 4px #47bb61;
  box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
}

.point-list01 .item .title{
  font-size: 19px;
  padding: 0 0 0 44px;
  margin: 0 0 15px;
}
.point-list01 .item .text{
  padding: 16px 20px;
  background-color: #f4f4f4;
}
.point-list01 .item p{
  font-size: 15px;
  margin: 0;
}

.point-list01 .item::before{
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: 12px;
  left: 27px;
  color: #47bb61;
  font-size: 37px;
  font-weight: bold;
}
.point-list01 .item:not(:nth-child(3n)){
  margin-right: 2%;
}










.point-list02{
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
  counter-reset: number;
}
.point-list02 .item{
  position: relative;
  width: 100%;
  padding: 28px 22px;
  color: #404040;
  background-color: #fff;
  border: solid 4px #47bb61;
  box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
}

.point-list02 .item .title{
  font-size: 19px;
  padding: 0 0 0 44px;
  margin: 0 0 15px;
}
.point-list02 .item .text{
  padding: 16px 20px;
  background-color: #f4f4f4;
}
.point-list02 .item p{
  font-size: 15px;
  margin: 0;
}

.point-list02 .item::before{
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: 12px;
  left: 27px;
  color: #47bb61;
  font-size: 37px;
  font-weight: bold;
}

.point-list02 .item:not(:nth-child(3n)){
  margin-bottom: 35px;
}
















.point-list03{
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
}
.point-list03 .item{
  position: relative;
  width: 100%;
  padding: 50px 60px 60px;
  color: #404040;
  background-color: #fff;
  box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
}

.point-list03 .no{
  position: absolute;
  top: -10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 110px;
  height: 100px;
  background-color: #47bb61;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 1;
  letter-spacing: 1px;
  box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
}
.point-list03 .no .suuji{
  font-size: 38px;
  margin-top: 2px;
}

.point-list03 .item .title{
  font-size: 24px;
  padding: 0 0 0 150px;
  margin: 0 0 35px;
}

.point-list03 .item p{
  font-size: 16px;
  margin: 0;
}

.point-list03 .item:not(:nth-child(3n)){
  margin-bottom: 35px;
}














.point-list04{
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
}
.point-list04 .item{
  position: relative;
  width: 100%;
  padding: 0;
  color: #404040;
  background-color: #fff;
  box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
}
.point-list04 .item .title{
  color: #fff;
  background: linear-gradient(to right, #1aac78 0%, #68c742 100%);
  font-size: 21px;
  padding: 21px 40px 20px 50px;
  margin: 0;
}
.point-list04 .item .text{
  padding: 45px 52px 60px;
}
.point-list04 .item p{
  font-size: 16px;
  margin: 0;
}
.point-list04 .item:not(:last-child){
  margin-bottom: 35px;
}


















.tab-wrap {
  display: flex;
  flex-wrap: wrap;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 2px;
  background: #47bb61;
  display: block;
  order: -1;
}
.tab-label {
  color: #47bb61;
  background: #eee;
  font-size: 17px;
  font-weight: bold;
  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
  white-space: nowrap;
  text-align: center;
  padding: 20px 5px 18px;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label {
  color: #fff;
  background-color: #47bb61;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 3.5% 3.5% 5%;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
}
/* ラジオボタン非表示 */
.tab-switch {
  display: none;
}


.article-box01 ul{
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.article-box01 ul::after{
  content: '';
  display: block;
  clear: both;
}
.article-box01 li{
  float: left;
  width: 24%;
  margin-bottom: 30px;
}
.article-box01 li:not(:nth-child(4n)){
  margin-right: 1.33333333333%;
}
.article-box01 ul a{
  background-color: #fff;
  text-decoration: none;
  display: block;
  position: relative;
}
.article-box01 ul a:hover img{
  opacity: 0.8;
}
.article-box01 .thumb{
  overflow: hidden;
  border: solid 1px #ddd;
}
.article-box01 .thumb img{
  width: 100%;
  transition-duration: 0.4s;
}
.article-box01 .cat{
  font-size: 12.5px;
  color: #b02525;
  border: solid 1px #b02525;
  text-decoration: none;
  display: inline-block;
  width: 86px;
  height: 26px;
  line-height: 26px;
  margin-right: 11px;
  text-align: center;
}
.article-box01 .date{
  font-size: 16px;
  display: inline-block;
  color: #47bb61;
}
.article-box01 .title-name{
  font-size: 16px;
  font-weight: bold;
  padding: 3px 0 3px;
  text-align: center;
  border: solid 1px #ddd;
  color: #47bb61;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.article-box01 .title-size{
  font-size: 14px;
  font-weight: bold;
  padding: 3px 0 4px;
  border: solid 1px #ddd;
  text-align: center;
  color: #000;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.article-box01 ul a:hover .title-name,
.article-box01 ul a:hover .title-size{
  opacity: 0.8;
}




.article-box01 ul a:hover img{
  transform: scale(1.02);
  transition-duration: 0.5s;
}






.article-box02 ul{
  padding: 0;
  margin: 0;
  list-style: none;
}
.article-box02 li:first-child{
  border-top: solid 1px #eee;
}
.article-box02 li{
  border-bottom: solid 1px #eee;
}
.article-box02 a::after{
  content: '';
  display: block;
  clear: both;
}
.article-box02 a{
  text-decoration: none;
  display: block;
  padding: 30px;
  position: relative;
}
.article-box02 .thumb{
  float: left;
  width: 35%;
}

.article-box02 .text{
  float: right;
  width: 61%;
  padding: 19px 0 0;
}

.article-box02 .cat{
  font-size: 12.5px;
  color: #b02525;
  border: solid 1px #b02525;
  text-decoration: none;
  display: inline-block;
  width: 86px;
  height: 26px;
  line-height: 26px;
  margin-right: 11px;
  text-align: center;
}
.article-box02 .date{
  font-size: 16px;
  display: inline-block;
  color: #00A1E3;
}
.article-box02 .title{
  font-size: 20px;
  font-weight: bold;
  margin: 9px 0 8px;
  letter-spacing: 2px;
  line-height: 1.55;
}
.article-box02 p{
  font-size: 15.5px;
}

.article-box02 a:hover{
  background-color: #f9f9f9;
}























.business-box01{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.business-box01 .item{
  width: 32%;
  padding: 8% 5px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  background-size: cover;
  background-position: center;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.business-box01 .item:hover{
  opacity: 0.8;
}
.business-box01 .content{
  z-index: 2;
}
.business-box01 .text{
  color: #fff;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1.6;
  margin: 0 0 22px;
}
.business-box01 .more{
  font-size: 15px;
  color: #fff;
  display: inline-block;
  border: solid 1px #fff;
  padding: 6px 25px;
}



.business-box01 .insurance{
  background-image: url(/wp-content/themes/check-best/img/business-insurance.jpg);
}
.business-box01 .cancer{
  background-image: url(/wp-content/themes/check-best/img/business-cancer.jpg);
}
.business-box01 .homeloan{
  background-image: url(/wp-content/themes/check-best/img/business-homeloan.jpg);
}




.price{
  display: flex;
  align-items: center;
  justify-content: center;
}
.price .sub{
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  width: 55px;
  height: 29px;
  line-height: 29px;
  text-align: center;
  margin-right: 18px;
  color: #b02525;
  border: solid 1px #b02525;
}
.price .main{
  font-size: 45px;
  font-weight: bold;
  color: #47bb61;
}
.price .main .small{
  font-size: 18px;
}






/* デザインボタン1 */
.design-btn01{
  margin-top: 30px;
  text-align: center;
}
.design-btn01 a{
  background: #1aac78;
  background-image: linear-gradient(to right, #7acc47 0%, #7acc47 51%, #56c05a 63.5%, #1aac78 100%);
  background-size: 200% auto;
  background-position: right center;


  color: #fff;
  display: inline-block;
  padding: 22px 55px 21px;
  transition: all 0.4s ease-in-out;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  width: 400px;
  box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.1);
}



.design-btn01 a:hover{
  background-position: left center;
}




/* デザインボタン2 */
.design-btn02{
  margin-top: 30px;
  text-align: center;
}
.design-btn02 a{

  border-width: 1px;
  border-style: solid;
  border-color: #47bb61;
  position: relative;
  display: inline-block;
  padding: 20px 55px 19px;
  transition: all 0.5s ease-in-out;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  min-width: 300px;
}


.design-btn02 a:first-child{
  color: #fff;
  background: #47bb61;
}
.design-btn02 a:last-child{
  color: #47bb61;
  background: #fff;
}



.design-btn02 a:before,
.design-btn02 a:after{
  content: '';
  display: block;
  position: absolute;
  border-color: #47bb61;
  box-sizing: border-box;
  border-style: solid;
  width: 1em;
  height: 1em;
  transition: all 0.5s ease-in-out;
}
.design-btn02 a:before{
  top: -5px;
  left: -5px;
  border-width: 1px 0 0 1px;
  z-index: 5;
}
.design-btn02 a:after{
  bottom: -5px;
  right: -5px;
  border-width: 0 1px 1px 0;
}

.design-btn02 a:hover:before,
.design-btn02 a:hover:after{
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  border-color: #47bb61;
}
.design-btn02 a:nth-child(2) {
    margin-left: 25px;
}





























.check-list{
  margin: 0;
  padding: 0;
  list-style: none;
  color: #404040;
}

.check-list::after{
  content: '';
  display: block;
  clear: both;
}


.check-list li{
  position: relative;
  font-size: 16px;
  line-height: 1.7;
  padding: 8px 0 8px 44px;
  border-bottom: 1px dotted #ccc;
  margin: 0;
  box-sizing: border-box;
}

.check-list li::before{
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  content: "\f00c";
  position: absolute;
  top: 10px;
  left: 6px;
  font-size: 14px;
  color: #fff;
  background-color: #47bb61;
  line-height: 1;
  padding: 6px;
}


.check-list li .red{
  margin-left: 16px;
}



.check-list02{
  margin: 0 0 60px;
  padding: 0;
  list-style: none;
  color: #404040;
}
.check-list02 li{
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 27px;
  font-weight: bold;
  color: #113847;

  padding: 22px 22px 20px 27%;
  margin: 0 0 20px;
}
.check-list02 .icon{
  width: 50px;
  margin-right: 12px;
}







.check-list03{
  padding: 50px;
  margin: 0 0 20px;
  background-color: #fafafa;
  list-style: none;
  color: #404040;
}
.check-list03 li{
  position: relative;
  padding-left: 32px;
  font-size: 17px;
}
.check-list03 .icon{
  position: absolute;
  top: 0px;
  left: 0px;
  width: 22px;
}

.check-list03 li:not(:last-child){
  margin: 0 0 9px;
}












.number-list1{
  margin: 0;
  padding: 0;
  list-style: none;
  color: #404040;
  counter-reset: number;
}

.number-list1 li{
  position: relative;
  font-size: 16px;
  line-height: 1.9;
  padding: 6px 0 6px 44px;
  border-bottom: 1px dotted #ccc;
  margin: 0;
}

.number-list1 li::before{
  counter-increment: number;
  content: counter(number);
  position: absolute;
  left: 6px;
  font-size: 14px;
  width: 25px;
  height: 25px;
  line-height: 25px;
  background: linear-gradient(to right, #47bb61, #0C78FA);
  text-align: center;
  color: #fff;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}






.firststep-box01-wrap{
  padding: 70px 50px;
  margin: 0 0 50px;
  background-color: #fff;
  border-radius: 25px;
  box-shadow: 0px 1px 14px 1px rgba(0,0,0,0.1);
  border: solid 1px #47bb61;
}

.firststep-box01-wrap .title{
  font-size: 26px;
  font-weight: bold;
  color: #47bb61;
  text-align: center;
  margin: 0 0 35px;
}

.firststep-box01 .text{
  padding: 35px;
  background-color: #47bb61;
}
.firststep-box01 .in{
  padding: 90px 35px 45px;
  background-color: #fff;
  border-radius: 11px;
  box-shadow: 0px 0px 4px 0px rgba(10,10,10,0.1);
  background-size: 50px 50px;
  background-image: url(/wp-content/themes/dessert-planet/img/icon-firststep.png);
  background-position: center 20px;
  background-repeat: no-repeat;
  text-align: center;
}

.firststep-box01 .text p{
  font-size: 16px;
  font-weight: bold;
}

.firststep-box01 .image{
  height: 22vw;
  max-height: 270px;
  min-height: 150px;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.firststep-box01 .image1{
  background-image: url(/wp-content/themes/dessert-planet/img/firststep-box1.jpg);
}
.firststep-box01 .image2{
  background-image: url(/wp-content/themes/dessert-planet/img/firststep-box2.jpg);
}
.firststep-box01 .image3{
  background-image: url(/wp-content/themes/dessert-planet/img/firststep-box3.jpg);
}






.about-box01{
  position: relative;
  display: flex;
  flex-flow: row-reverse;
  justify-content: center;
  align-items: center;
}
.about-box01 .text{
  padding: 30px;
  background-color: #47bb61;


  position: relative;
  width: 66%;
  border-radius: 20px;
  box-shadow: 0px 1px 14px 1px rgba(0,0,0,0.1);
  z-index: 3;
}



.about-box01 .in{
  padding: 65px 35px 35px;
  background-color: #fff;
  border-radius: 11px;
  box-shadow: 0px 0px 4px 0px rgba(10,10,10,0.1);

  background-size: 50px 50px;
  background-image: url(/wp-content/themes/dessert-planet/img/icon-firststep.png);
  background-position: center 12px;
  background-repeat: no-repeat
}
.about-box01 .text p{
  font-size: 15px;
  font-weight: bold;
}
.about-box01 .image{
  width: 65%;
  height: 28vw;
  max-height: 610px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: 90% 50%;
  background-repeat: no-repeat;
}






.about-box01 .image1{
  background-image: url(/wp-content/themes/dessert-planet/img/about-box1.jpg);
}













.float-box01::after,
.float-box02::after,
.float-box03::after,
.float-box04::after{
  content: '';
  display: block;
  clear: both;
}

.float-box01 .left-item{
  float: left;
  width: 48%;
}
.float-box01 .right-item{
  float: right;
  width: 48%;
}

.float-box02 .left-item{
  float: left;
  width: 50%;
}
.float-box02 .right-item{
  float: right;
  width: 47%;
}

.float-box03 .left-item{
  float: left;
  width: 40%;
}
.float-box03 .right-item{
  float: right;
  width: 55%;
}

.float-box04 .left-item{
  float: left;
  width: 55%;
}
.float-box04 .right-item{
  float: right;
  width: 40%;
}










/*--------------------------------------------------------
テンプレートレイアウト
--------------------------------------------------------*/
.inner,
.breadcrumbs-in,
.main-body-in{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 87%; /*サイトの横幅。これより小さければレスポンシブ*/
  margin: auto;
}

.footer-in{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 90%; /*サイトの横幅。これより小さければレスポンシブ*/
  margin: auto;
}



.inner2{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 960px; /*サイトの横幅。これより小さければレスポンシブ*/
  margin: auto;
}

.inner3{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 810px; /*サイトの横幅。これより小さければレスポンシブ*/
  margin: auto;
}

.inner4{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 750px; /*サイトの横幅。これより小さければレスポンシブ*/
  margin: auto;
}

.inner5{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 650px; /*サイトの横幅。これより小さければレスポンシブ*/
  margin: auto;
}

.column2-inner{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 1030px;
  margin: auto;
}





.site-topbar-in{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 92%; /*サイトの横幅。これより小さければレスポンシブ*/
  margin: auto;
}

.site-header-in,
.site-footer-in{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 1140px; /*サイトの横幅。これより小さければレスポンシブ*/
  margin: auto;
}







/*1カラムレイアウト*/
#main{
  width: 100%;
}

.main-body-in::after {
  content: '';
  display: block;
  clear: both;
}

#main {
  word-wrap: break-word;
}

#footer {
  word-wrap: break-word;
}





/*2カラムレイアウト*/
.column2 #main{
  float: right;
  width: 69%;
  box-sizing: border-box;
}
.column2 #side{
  float: left;
  width: 27%;
}

.column2-inner::after{
  content: '';
  display: block;
  clear: both;
}

.single .column2 #main{
  background-color: #fff;
}

.single .column2 #main{
  width: 66%;
}
.single .column2 #side{
  width: 27%;
}


/*--------------------------------------------------------
ヘッダー
--------------------------------------------------------*/
.site-header-top::after {
  content: '';
  display: block;
  clear: both;
}

/* ヘッダー */
#header{
  position: fixed;
  z-index: 103;
  width: 100%;
  padding: 20px 0;
  display: flex;
  align-items: center;
  background-color: #fff;
  box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
}




.global-nav{
  margin: 0 3% 0 auto;
}
.global-nav ul{
  display: flex;
}












.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}





/* ロゴ */
.logo{
  display: inline-block;
  margin: 0 0 0 3%;
  line-height: 1;
}
.logo img{
  width: 175px;
  transition: all 0.25s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.logo img:hover{
  opacity: 0.7;
}



.contact-catch{
  float: left;
  text-align: center;
  margin: 14px 16px 0 0;
}
.contact-catch .title{
  display: block;
  background-color: #003766;
  width: 130px;
  text-align: center;
  color: #fff;
  font-size: 14px;
}
.contact-catch .content{
  font-size: 16px;
}




.contact-line{
  float: left;
  margin: 14px 18px 0 0;
}
.contact-line img{
  width: 42px;
}
.contact-line a:hover{
  opacity: 0.8;
}

.contact-trial{
  float: left;
}
.contact-trial a{
  display: block;
  width: 160px;
  font-size: 20px;
  font-weight: bold;
  padding: 18px 0;
  color: #fff;
  background-color: #ad9857;
  text-align: center;
  text-decoration: none;
}
.contact-trial a:hover{
  opacity: 0.8;
}

/* グローバルメニュー */
.global-nav ul{
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
.global-nav ul::after{
  content: '';
  display: block;
  clear: both;
}





.global-nav a{
  display: block;
  font-size: 14px;
  font-weight: bold;
  padding: 15px 11px;
  box-sizing: border-box;
  text-decoration: none;
  color: #404040;
}


.global-nav a:hover{
  color: #47bb61;
}





.global-nav .child{
  display: block;
  position: absolute;
  top: 38px;
  left: -25px;
  opacity: 0;
  background-color: #47bb61;
  width: 265px;
  max-width: none;
  z-index: 10;
  transform: translateY(0px);
  pointer-events: none;
  margin: auto;
  padding: 25px 0 20px;
  overflow: hidden;
  list-style: none;
  transition: all 0.4s ease-out 0s;
}
.global-nav .parent{
  position: relative;
  cursor: pointer;
}

.global-nav .child li{
  float: none;
  margin-bottom: 6px;
}

.global-nav .child a{
  color: #fff;
  font-size: 14px;
  padding: 5px 16px 5px 28px;
  text-align: left;
}

.global-nav .parent:hover .child{
  opacity: 1;
  pointer-events: all;
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
}

.global-nav .child a:hover{
  opacity: 0.7;
}



/* リンクナビ */
.link-nav{
  margin: 0 2.5% 0 0;
}

.link-nav ul{
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
.link-nav ul::after{
  content: '';
  display: block;
  clear: both;
}

.link-nav a {
  display: block;
  width: 147px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  font-size: 13.5px;
  font-weight: bold;
  box-sizing: border-box;
  text-decoration: none;
  color: #003766;
  border: solid 1px #003766;
}

.link-nav .access{
  margin-right: 5px;
}
.link-nav .access a{
  color: #fff;
  background-color: #003766;
}

.link-nav a:hover {
  opacity: 0.8;
}



.about-nav a{
  background-color: #47bb61;
  width: 72.26px;
  height: 72.26px;
  padding: 7px 5px;
  text-align: center;
  position: fixed;
  top: 0;
  right: 146px;
  display: none;
}


.recruit-nav a{
  background-color: #47bb61;
  width: 72.26px;
  height: 72.26px;
  padding: 7px 5px;
  text-align: center;
  position: fixed;
  top: 0;
  right: 73px;
  display: none;
}






/* ドロワーナビ */
.drawer{
  position: relative;
}
.drawer-checkbox{
  display: none;
}
.drawer-icon{
  cursor: pointer;
  display: block;
  background: linear-gradient(to bottom, #1aac78 0%, #68c742 100%);
  width: 72.26px;
  height: 72.26px;
  position: fixed;
  top: 0;
  right: 0;
  display: none;
}
.drawer-icon-parts,
.drawer-icon-parts:before,
.drawer-icon-parts:after{
  background-color: #fff;
  display: block;
  width: 36px;
  height: 2px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.drawer-icon-parts:before,
.drawer-icon-parts:after{
  content: " ";
}
.drawer-icon-parts:before{
  top: 19px;
  margin: -9px 0 0 0;
}
.drawer-icon-parts:after{
  top: -19px;
}
.drawer-overlay{
  opacity: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
}
.drawer-nav{
  background: #fffcee;
  max-width: 100%;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  position: fixed;
  top: 0;
  right: -100%;
}
.drawer-icon{
  z-index: 200;
}
.drawer-nav{
  z-index: 150;
}
.drawer-overlay{
  z-index: 2;
}
.drawer-checkbox:checked ~ .drawer-icon .drawer-icon-parts {
  background: transparent;
}
.drawer-checkbox:checked ~ .drawer-icon .drawer-icon-parts:before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 0;
  margin: 0;
}
.drawer-checkbox:checked ~ .drawer-icon .drawer-icon-parts:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
}
.drawer-checkbox:checked ~ .drawer-overlay {
  opacity: 0.3;
  pointer-events: auto;
}
.drawer-checkbox:checked ~ .drawer-nav{
  right: 0;
}
.drawer-icon-parts,
.drawer-icon-parts:after,
.drawer-icon-parts:before,
.drawer-overlay,
.drawer-nav{
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.drawer-nav-in{
  width: 95%;
  margin: 60px auto;
}
.drawer-menu{
  padding: 0;
  margin: 0 0 48px;
  list-style: none;
}
.drawer-menu::after{
  content: '';
  display: block;
  clear: both;
}
.drawer-menu li{
  float: left;
  width: 25%;
  text-align: center;
}



.drawer-menu a{
  background: #47bb61;
  border: solid 2px #47bb61;
  box-shadow: 5px 5px 0px 0px #318c30;
  padding: 5px 0;
  margin: 6px;
  text-align: center;
  display: block;
  text-decoration: none;
}
.drawer-menu a:hover{
  opacity: 0.7;
}


.drawer-link{
  padding: 0;
  margin: 0;
  list-style: none;
}
.drawer-link li{
  width: 95%;
  margin: 0 auto 10px;
}
.drawer-link a{
  background: #4c4d55;
  color: #fff;
  display: block;
  padding: 14px 50px 14px;
  text-align: center;
  width: 100%;
  text-decoration: none;
  box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.1);
}
.drawer-link .line a{
  background-color: #00b900;
}


.drawer-link a:hover{
  opacity: 0.8;
}
.drawer-link a img{
  width: 100%;
}





.contact-link{
  padding: 0;
  margin: 0;
  list-style: none;
}
.contact-link li{
  width: 400px;
  margin: 0 auto 10px;
}
.contact-link a{
  background: #4c4d55;
  color: #fff;
  display: block;
  padding: 14px 50px 14px;
  text-align: center;
  width: 100%;
  text-decoration: none;
  box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.1);
}
.contact-link .line a{
  background-color: #00b900;
}
.contact-link a:hover{
  opacity: 0.8;
}
.contact-link a img{
  width: 100%;
}






/*--------------------------------------------------------
メインビジュアル
--------------------------------------------------------*/
.mainvisual{
  position: relative;
  padding-top: 92px;
  height: 590px;
  background-image: url(/wp-content/themes/first-les/img/mainvisual-back2.jpg);
  background-size: cover;
  background-position: 50% 50%;
}
.mainvisual .text{
  position: absolute;
  top: 35%;
  left: 9%;
}



.mainvisual .title{
  font-size: 37px;
  font-weight: bold;
  line-height: 1.3;
  display: inline-block;
  padding: 6px 15px 8px 25px;
  margin: 0 0 20px;
  color: #47bb61;
  background: #fff;
  border: solid 3px #47bb61;
  letter-spacing: 1px;
  box-shadow: 5px 5px 0px 0px #47bb61;
}



.mainvisual .list{
  list-style: none;
  padding: 0;
  margin: 0;
}



.mainvisual .item{
  position: relative;
  font-size: 15px;
  display: inline-block;
  padding: 5px 15px 7px 38px;
  color: #404040;
  background-color: rgba(255,255,255,0.96);
  border: solid 2px #47bb61;
  letter-spacing: 1px;
  box-shadow: 4px 4px 0px 0px #47bb61;
  box-sizing: border-box;
}
.mainvisual .item:not(:last-child){
  margin: 0 0 8px;
}

.mainvisual .item:before{
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  position: absolute;
  top: 7px;
  left: 14px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #47bb61;
}


.mainvisual .item br{
  display: none;
}


.mainvisual .image{
  width: 743px;
  position: absolute;
  bottom: -57px;
  right: 0;
}


/* アニメーション設定 */
.arrow-box{
  position: absolute;
  left: 12px;
  bottom: -75px;
  height: 200px
}
.arrow-in p{
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  color: #47bb61;
  text-shadow: 0px 0px 5px rgba(255,255,255,0.1);
  text-align: end;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.arrow{
  width: 1px;
  height: 80px;
  margin: 50px auto 0;
  background-color: #47bb61;
  position: relative;
  overflow: hidden;
}
.arrow::before{
  content: '';
  width: 1px;
  height: 80px;
  margin: 50px auto 0;
  background-color: #fff;
  position: absolute;
  top: -150px;
  left: 0;
  -webkit-animation: arrow 2.5s ease 0s infinite normal;
  animation: arrow 2.5s ease 0s infinite normal;
}

@keyframes arrow{
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  60% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }

  100% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
}



/*--------------------------------------------------------
パンくずリスト
--------------------------------------------------------*/

.breadcrumbs{
  padding: 8px 0;
}

.breadcrumbs-in{
  padding: 0;
  color: #404040;
}

.breadcrumbs-in a{
  color: #404040;
  text-decoration: none;
}

.breadcrumbs-in a:hover,
.breadcrumbs-in a:active,
.breadcrumbs-in a:focus{
  color: #47bb61;
}
.breadcrumbs-in li{
  display: inline;
  list-style: none;
  font-size: 13px;
  font-weight: normal;
}

.breadcrumbs-in li:not(:first-child)::before{
  content: ">";
  display: inline-block;
  margin: 0 7px;
  font-size: 11px;
}


/*--------------------------------------------------------
フッター
--------------------------------------------------------*/
#footer{
  position: relative;
  background-color: #e6ffee;
}
#footer::after{
  position: absolute;
  display: block;
  content: " ";
  opacity: .4;
  background-color: #00865a;
  width: 600px;
  height: 120%;
  transform: skew(25deg);
  bottom: 0;
  left: -600px;
  z-index: 1;
}

.footer-content{
  padding: 55px 0 50px;
}

.footer-content .footer-in{
  display: flex;
  flex-wrap: wrap;
}


.footer-wrap1{
  margin: 0;
}
.footer-wrap2{
  margin: 0 0 auto auto;
}



.footer-logo img{
  width: 185px;
  margin-bottom: 20px;
}
.footer-logo a:hover{
  opacity: 0.8;
}

.footer-contact {
  text-align: right;
  margin: 0 0 38px;
}

.footer-contact .btn a {
    background: #1aac78;
    background-image: linear-gradient(to right, #7acc47 0%, #7acc47 51%, #56c05a 63.5%, #1aac78 100%);
    background-size: 200% auto;
    background-position: right center;
    color: #fff;
    display: inline-block;
    padding: 14px 50px 14px;
    transition: all 0.4s ease-in-out;
    text-align: center;
    font-size: 14.5px;
    font-weight: bold;
    width: 215px;
    text-decoration: none;
    box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.1);
}

.footer-contact .btn .line{
  margin: 0 4px 0 0;
}
.footer-contact .btn i{
  font-size: 17px;
  margin-right: 9px;
}

.footer-contact .btn a:hover{
  background-position: left center;
}

.footer-nav{
  margin: 0 0 40px;
}
.footer-nav .list{
  padding: 0;
  margin: 0;
  list-style: none;
}
.footer-nav .list:nth-child(1){
  padding: 0;
  margin: 0 0 11px;
  list-style: none;
}


.footer-nav li{
  display: inline-block;
}
.footer-nav li:not(:last-child){
  margin: 0 18px 0 0;
}

.footer-nav a{
  position: relative;
  display: inline-block;
  color: #47bb61;
  font-size: 14.5px;
  font-weight: bold;
  padding-left: 15px;
  text-decoration: none;
}
.footer-nav a:hover{
  opacity: 0.7;
}
.footer-nav a::before{
  font-family: "Font Awesome 5 Free";
  font-size: 11px;
  font-weight: bold;
  content: '\f054';
  position: absolute;
  top: 3px;
  left: 2px;
}





.footer-copyright p{
  font-size: 14px;
  font-weight: normal;
  margin: 0;
  text-align: right;
}




#fixed-contents{
  display: none;
  width: 100%;
  background-color: #fff;
  position: fixed;
  bottom: 0;
  z-index: 100;
  box-shadow: 0px 0px 6px -2px rgba(0,0,0,0.1);
}



.contact-fixed{
  display: flex;
  justify-content: center; /* 子要素をflexboxにより中央に配置する */
  align-items: center;  /* 子要素をflexboxにより中央に配置する */
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background: linear-gradient(to right, #1aac78 0%, #68c742 100%);
  width: 100%;
  line-height: 48px;
  float: left;
  text-align: center;
  text-decoration: none;
}

.contact-fixed img{
  width: 29px;
  margin-right: 7px;
  margin-bottom: 4px;
}



.contact-fixed:hover{
  opacity: 0.8;
}





.ggmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 400px;
  position: relative;
}
.ggmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}


/*--------------------------------------------------------
個別記事ページ
--------------------------------------------------------*/
.thumb-figure{
  margin: 0;
}

.thumb-figure img{
  width: 100%;
}


.single #area-blog01 p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 30px;
}

.single .related p {
  line-height: 1.6 !important;
}


.single #main h2 {
  font-size: 24px;
  padding: 15px 20px;
  color: #404040;
  border-left: solid 6px #47bb61;
  margin-bottom: 30px;
}

.single #main h3 {
  font-size: 22px;
  padding: 10px;
  color: #404040;
  border-bottom: solid 3px #47bb61;
  margin-bottom: 30px;
}

.single #main h4 {
  font-size: 20px;
  color: #404040;
  margin-bottom: 30px;
}

.single #main h5 {
  font-size: 18px;
  color: #404040;
  margin-bottom: 30px;
}

.single #main h6 {
  font-size: 17px;
  color: #404040;
  margin-bottom: 30px;
}


.single table{
  border-collapse: collapse;
  margin: 0;
  width: 100%;
  font-size: 15px;
  line-height: 1.7;
}
.single table th{
  color: #222;
  background-color: #d8f0e0;
  border: solid 2px #a5d1b2;
  padding: 12px 10px;
  width: 35%;
}
.single table td{
  color: #222;
  background-color: #fff;
  border: solid 2px #a5d1b2;
  padding: 12px 16px;
  width: 65%;
}



.single-link{
  padding: 35px 0;
  margin-top: 35px;
  text-align: center;
  border-top: solid 1px #eee;
}
.single-link a{
  font-size: 15px;
  color: #fff;
  padding: 16px 30px;
  margin: 0 6px;
  background-color: #47bb61;
  text-decoration: none;
}
.single-link a:hover{
  opacity: 0.8;
}


.single time i {
  margin-right: 5px;
}

blockquote {
  margin: 0;
}

blockquote p {
  position: relative;
  margin: 15px 0 50px 0;
  padding: 35px 40px;
  font-size: 16px;
  border: 1px solid #CCC;
  border-radius: 6px;
}

blockquote p::before {
  position: absolute;
  font-size: 80px;
  content: '“';
  display: block;
  width: 80px;
  height: 80px;
  padding: 20px;
  text-align: center;
  left: -35px;
  top: -55px;
}

.kobetu img {
  border: none;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.kobetu img::after {
  content: '';
  display: block;
  clear: both;
}

.aligncenter {
  display: block;
  margin-top: 30px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  clear: both;
}

.alignleft {
  float: left;
  margin-bottom: 30px;
  margin-right: 30px;
  clear: both;
}

.alignright {
  float: right;
  margin-bottom: 30px;
  margin-left: 30px;
  clear: both;
}

.wp-caption {
  max-width: 100%;
}

.wp-caption-text {
  margin: 0;
  color: #666666;
  font-size: 14px;
  text-align: center;
}


/*--------------------------------------------------------
SNSボタン
--------------------------------------------------------*/
.sns-wrap {
  width:100%;
  margin-top: 42px;
}
.sns {
  padding: 0;
  margin: 0 auto;
  list-style: none;
  text-align: center;
}

.sns::after{
  content: '';
  display: block;
  clear: both;
}

.sns li {
  float: left;
  width: 19%;
  margin: 0 0 0.5%;
}

.sns li:not(:last-child) {
  margin-right: 1.25%;
}



.sns a {
  position: relative;
  display: block;
  padding: 15px 0;
  box-sizing: border-box;
  width: 100%;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  text-align: center;
  -webkit-transform: translateZ(0);
  transition: all 0.25s;
}
.sns span{
  color: #fff;
}
.sns .fa,
.sns .hatena-icon {
  margin-right: 5px;
  color: #fff;
}

.sns li a:hover {
  opacity: 0.8;
}
.sns .twitter a {
  background: #55acee;
}
.sns .facebook a {
  background: #315096;
}
.sns .googleplus a {
  background: #dd4b39;
}
.sns .hatebu a {
  background: #008fde;
}
.sns .line a {
  background: #78C315;
}
.sns .pocket a {
  background: #f03e51;
}



.pagenav {
  margin-top: 50px;
  margin-bottom: 40px;
  clear: both;
}

.pagenav a {
  padding: 5px 10px;
  border: solid 1px #cccccc;
  border-radius: 7px;
  color: #666666;
  font-size: 13px;
  text-decoration: none;
}

.pagenav a:hover {
  background-color: #eeeeee;
}

.pagenav .old a {
  float: left;
}

.pagenav .new a {
  float: right;
}

.pagenav::after {
  content: '';
  display: block;
  clear: both;
}



/*--------------------------------------------------------
お問い合わせ
--------------------------------------------------------*/

/* お問い合わせ */
input, textarea{
  font-family: YuGothic, 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.require {
  font-size: 14px;
  display: inline-block;
  padding: 2px 7px;
  margin: 0 0 0 8px;
  color: #fff;
  background-color: #47bb61;
  line-height: 1.6;
}
.no-require {
  font-size: 14px;
  display: inline-block;
  padding: 2px 7px;
  margin: 0 0 0 8px;
  color: #fff;
  background-color: #555;
  line-height: 1.6;
}

.multi-choice{
  font-size: 13px;
  display: inline-block;
  padding: 0px 8px;
  margin: 0 0 0 4px;
  color: #fff;
  background-color: #47bb61;
}

/* 予約フォーム */
.reserve-box{
  padding: 60px 50px;
  background-color: #fff;
  box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.1);
}

.reserve-box h2{
  font-size: 23px;
  margin-bottom: 45px;
  text-align: center;
}

.reserve-box h2 i{
  font-size: 26px;
  vertical-align: text-bottom;
  margin-right: 10px;
}


.reserve-box_left{
  float: left;
  box-sizing: border-box;
  width: 49%;
  padding-right: 40px;
}
.reserve-box_right{
  float: right;
  box-sizing: border-box;
  width: 51%;
  padding-left: 40px;
  border-left: dotted 1px #aaa;
}



.reserve-box input,
.reserve-box textarea,
.reserve-box select{
  font-size: 17px;
  border: solid 1px #cccccc;
  border-radius: 0;
  padding: 6px 8px;
  margin: 8px 0 0;
  width: 390px;
  max-width: 100%;
  box-sizing: border-box;


}



.reserve-box input,
.reserve-box select{
  height: 55px;
}

.reserve-box input[type="checkbox"]{
  width: 18px;
  height: 18px;
  margin: 0;
}



.reserve-box textarea{
  height: 150px;
}

.reserve-box p{
  font-size: 17px;
  margin-bottom: 20px;
}






/* お問い合わせフォーム */
.contact-box input,
.contact-box textarea,
.contact-box select{
  font-size: 17px;
  border: solid 1px #f6f6f6;
  background-color: #f6f6f6;
  border-radius: 0;
  padding: 6px 8px;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}



.contact-box input,
.contact-box select{
  height: 55px;
  margin-top: 5px;
}

.contact-box input[type="checkbox"]{
  width: 18px;
  height: 18px;
  margin: 0;
}

.contact-box input[type="radio"]{
  width: auto;
  height: auto;
}




/*フォームテーブル1*/
.contact-box table{
  width: 100%;
  border-collapse: collapse;
}

.contact-box table tr{
  border: 1px solid #ddd;
}
.contact-box table th{
  padding: 20px 30px;
  width: 30%;
  text-align: left;
  border-right: 1px solid #ddd;
  color: #404040;
  background-color: #f1f1f1;
}

.contact-box table td{
  padding: 20px 30px;
  width: 70%;
  color: #404040;
  background-color: #fff;
}






.program-plan{
  margin: 11px 0 0;
  display: inline-block;
}
.program-plan span.wpcf7-list-item{
  display: block;
  margin: 0;
}

.program-area{
  margin: 11px 0 0;
  display: inline-block;
}
.program-area span.wpcf7-list-item{
  display: block;
  margin: 0;
}




.contact-box textarea{
  height: 150px;
  margin-top: 5px;
}

.contact-box p{
  font-size: 17px;
  line-height: 2;
  margin-bottom: 20px;
}


.contact-btn{
  text-align: center;
  margin-top: 40px;
}



.contact-btn input{
  background: #1aac78;
  background-image: linear-gradient(to right, #7acc47 0%, #7acc47 51%, #56c05a 63.5%, #1aac78 100%);
  background-size: 200% auto;
  background-position: right center;


  color: #fff;
  display: inline-block;
  padding: 22px 55px 21px;
  margin: auto;
  height: auto;
  transition: all 0.4s ease-in-out;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  width: 400px;
  box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.1);
}

.contact-btn input:hover{
  background-position: left center;
}



/*--------------------------------------------------------
お問い合わせ完了ページ
--------------------------------------------------------*/
.thanks #main {
  width: 100%;
  padding-left: 0;
}

.thanks-p {
  margin-bottom: 30px;
}

.thanks-a-wrap {
  text-align: center;
}

.thanks-a {
  display: inline-block;
  font-size: 20px;
  width: 290px;
  height: 70px;
  text-align: center;
  text-decoration: none;
  line-height: 70px;
  outline: none;
}

.thanks-a::before,
.thanks-a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

.thanks-a,
.thanks-a::before,
.thanks-a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.thanks-a {
  background-color: #404040;
  border: 2px solid #404040;
  color: #fff;
  line-height: 70px;
}

.thanks-a:hover {
  background-color: #fff;
  border-color: #404040;
  color: #404040;
}

.thanks .main-body {
  padding-bottom: 120px;
}

.wpcf7-mail-sent-ok {
  display:none !important;
}






/*--------------------------------------------------------
サイドバー
--------------------------------------------------------*/
.side-widget{
  margin: 0 0 30px;
}


.side-widget h3{
  font-size: 18px;
  padding: 10px 0;
  margin: 0 0 12px;
  color: #fff;
  background: linear-gradient(to right, #47bb61, #0C78FA);
  text-align: center;
}

.category-list,
.post-list {
  padding: 0;
  margin: 0;
  list-style: none;
}


/*カテゴリ*/
.category-list li a {
  color: #404040;
  background-color: #fff;
  font-size: 16px;
  padding: 12px 15px 12px 18px;
  display: block;
  text-decoration: none;
  border-bottom: 1px dotted #ccc;
}

.category-list li a::before {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  margin-right: 10px;
  color: #47bb61;
  transition: all 0.25s;
}


/*最近の投稿*/
.post-list li a {
  color: #404040;
  background-color: #fff;
  font-size: 16px;
  padding: 12px 2px;
  display: block;
  text-decoration: none;
  border-bottom: 1px dotted #ccc;
}


.category-list li a:hover,
.post-list li a:hover{
  text-decoration: underline;
}









.archive-dropdown{
  margin-top: 8px;
  width: 100%;
  border: solid 1px #eee;
  padding: 9px 10px 12px;
}


.side-author{
  background-color: #fff;
  padding: 10px;
}

.side-author-image img{
  display: block;
  width: 75%;
  border-radius: 50%;
  margin: 0 auto 20px;
  transition: opacity 0.25s;
}

.side-author-image img:hover{
  opacity: 0.7;
}


.side-author-content p{
  margin-bottom: 8px;
}

.side-author-link{
  font-size: 14px;
}





























/*検索ボックス*/
#searchform{
  width: 100%;
  height: 38px;
  margin: 8px 0 0;
}

.search-box input[type="text"]{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: -webkit-calc(100% - 32px) ;	/* 2013年10月以前のSafariをサポートする場合 */
  width: calc(100% - 32px) ;
  height: 38px;
  padding-right: 4px;
  padding-left: 4px;
  border: none;
  border-radius: 0;
  transition: opacity 0.25s;
  -webkit-transform: translateZ(0);
  color: #444;
  background-color: #fff;
  font-weight: bold;
}

.search-box input[type="text"]::-webkit-input-placeholder {
  color: #ccc;
  font-weight: normal;
}
.search-box input[type="text"]:-ms-input-placeholder {
  color: #ccc;
  font-weight: normal;
}
.search-box input[type="text"]::-moz-placeholder {
  color: #ccc;
  font-weight: normal;
}

.search-box input[type="text"]:focus{
  outline: none;
}

.btn-search{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 38px;
  width: 32px;
  vertical-align: top;
  padding: 5px;
  border: 0;
  background-color: #777;
  border-radius: 0;
  cursor: pointer;
  transition: opacity 0.25s;
}

.btn-search i{
  color: #fff;
}

.btn-search:hover{
  opacity: 0.7;
}





/*--------------------------------------------------------
記事一覧ページ
--------------------------------------------------------*/
.section-wrap {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 7px;
  background-color: #ffffff;
}

.section-wrap:nth-of-type(1) {
  border-top: 1px dotted #ccc;
}

.section-wrap{
  border-bottom: 1px dotted #ccc;
}

.section-wrap::after{
  content: '';
  display: block;
  clear: both;
}

.post-title{
  line-height: 1.5;
  margin: 9px 0 8px;
  padding: 0;
  font-size: 21px;
  font-weight: bold;
}

.post-title a{
  color: #404040;
  text-decoration: none;
}

.post-title a:hover{
  color: #47bb61;
}



.post-image {
  float: left;
  width: 35%;
  overflow: hidden;
  margin: 0;
}


.post-image a:hover{
  opacity: 0.7;
}

.post-image img{
  width: 100%;
}

.post-text {
  float: right;
  width: 62%;
}

.post-date{
  display: inline-block;
  color: #47bb61;
  font-size: 15px;
  margin: 0 6px 0 0 !important;
}

.post-date i{
  margin-right: 4px;
}

.post-date time{
  vertical-align: middle;
}









.post-categories{
  padding: 0;
  margin: 0;
  font-size: 12px;
  display: inline-block;
}

.single .post-categories{
  margin-bottom: 30px;
}

.post-categories li{
  display: inline-block;
  list-style: none;
  margin-right: 2px;
}

.post-categories li a{
  font-size: 12.5px;
  color: #b02525;
  border: solid 1px #b02525;
  text-decoration: none;
  display: inline-block;
  width: 86px;
  height: 26px;
  line-height: 26px;
  margin-right: 11px;
  text-align: center;
}



.post-cat{
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  background-color: #47bb61;
  text-decoration: none;
  display: inline-block;
  padding: 6px 9px 5px;
  margin-left: 2px;
  text-align: center;
  border-radius: 4px;
}


.single .post-cat{
  margin-bottom: 20px;
}








/*記事外ページ送り*/
.pagination {
  font-size: 14px;
  margin-top: 12px;
  text-align: center;
}


.pagination span, .pagination a {
  display: inline-block;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  margin: 2px 9px 2px 0;
  padding: 12px 16px;
  background-color: #fff;
  color: #47bb61;
  text-decoration: none;
}
.pagination a {
  border: 1px solid #47bb61;
}
.pagination a:hover{
  background-color: #47bb61;
  border: 1px solid #47bb61;
  color: #fff;
}
.pagination .current{
  background-color: #47bb61;
  border: 1px solid #47bb61;
  color: #fff;
}



/*ページトップボタン*/
#page-top {
  position: fixed;
  bottom: 25px;
  right: 15px;
  z-index: 2;
}

#page-top img{
  width: 50px;
}

#page-top a:hover{
  opacity: 0.8;
}


/*--------------------------------------------------------
関連記事
--------------------------------------------------------*/
.related {
  margin: 40px 0;
}

.related ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.related li{
  border-bottom: solid 1px #eee;
}

.related li:first-child{
  border-top: solid 1px #eee;
}


.related li a {
  display: block;
  color: #222;
  text-decoration: none;
  padding: 6px 0;
}

.related li a:hover {
  opacity: 0.8;
}

.related li a::after {
  content: '';
  display: block;
  clear: both;
}



.related a img {
  margin-left: 5px;
  width: 70px;
  float: left;
}

.related a p {
  margin: 0 0 0 85px;
}





/*--------------------------------------------------------
装飾・パーツ
--------------------------------------------------------*/

.catch1 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  margin: -22px 0 35px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  color: #744927;
}
.catch1::before,
.catch1::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 3px;
  background-color: #744927;

}
.catch1::before{
  left:0;
  -webkit-transform: rotate(65deg);
  transform: rotate(65deg);
}
.catch1::after {
  right: 0;
  -webkit-transform: rotate(-65deg);
  transform: rotate(-65deg);
}






.catch2{ 


  display: inline;
}





.marker01{
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(70%, transparent), color-stop(70%, rgba(232, 178, 7, 0.9)), to(rgba(232, 178, 7, 0.9)));
  background: linear-gradient(transparent 0%, transparent 70%, rgba(232, 178, 7, 0.9) 70%, rgba(232, 178, 7, 0.9) 100%);
  display: inline;
}

.attention {
  background-color: #f7f7f7;
  padding: 25px 20px;
}
.attention2{
  position: relative;
  font-size: 15px;
  display: inline-block;
  padding: 30px 40px;
  color: #404040;
  background-color: rgba(255,255,255,0.96);
  border: solid 2px #47bb61;
  letter-spacing: 1px;
  box-shadow: 6px 6px 0px 0px #47bb61;
  box-sizing: border-box;
}

.dot-border{
  font-size: 22px;
  padding-bottom: 16px;
  font-weight: bold;
  line-height: 2.4;
  background: url(/wp-content/themes/excelsior/img/dot-border.png) repeat-x center 1.5em;
  -moz-background-size: auto 5px;
  -o-background-size: auto 5px;
  -webkit-background-size: auto 5px;
  background-size: auto 5px;
}

.dot-border2{
  font-size: 22px;
  padding-bottom: 16px;
  font-weight: bold;
  line-height: 2.4;
  background: url(/wp-content/themes/excelsior/img/dot-border2.png) repeat-x center 1.5em;
  -moz-background-size: auto 5px;
  -o-background-size: auto 5px;
  -webkit-background-size: auto 5px;
  background-size: auto 5px;
}

.solid-border{
  color: #222;
  padding-bottom: 16px;
  font-weight: bold;
  line-height: 2.4;
  background: url(/wp-content/themes/excelsior/img/solid-border.jpg) repeat-x center 0.9em;
  -moz-background-size: auto 10px;
  -o-background-size: auto 10px;
  -webkit-background-size: auto 10px;
  background-size: auto 10px;
}









/*概要テーブル*/
.table-overview{
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  white-space: normal;
  width: 100%;
}

.table-overview .h-cell{
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1px;
  width: 32%;
  padding: 38px 20px;
  vertical-align: top;
  color: #222;
}
.table-overview .d-cell{
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 1px;
  width: 68%;
  padding: 38px 55px;
  color: #222;
}
.table-overview tr{
  border-bottom: solid 1.5px #ccc;
}
.table-overview tr:first-child{
  border-top: solid 1.5px #ccc;
}



.table-overview ul{
  padding: 0;
  margin: 0;
  list-style: none;
}
.table-overview  li{
  padding: 0 0 0 21px;
  position: relative;
  letter-spacing: 1px;
}
.table-overview li:not(:last-child){
  margin: 0 0 5px;
}
.table-overview li::before{
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  content: '\30FB';
  position: absolute;
  left: 2px;
  font-size: 14px;
}





/*沿革テーブル*/
.table-history{
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  white-space: normal;
  width: 100%;
}
.table-history .h-cell{
  font-size: 21px;
  font-weight: bold;
  letter-spacing: 1px;
  width: 32%;
  padding: 38px 20px;
  vertical-align: top;
  color: #47bb61;
}
.table-history .d-cell{
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 1px;
  width: 68%;
  padding: 38px 55px;
  color: #222;
}
.month-wrap:not(:last-child){
  margin-bottom: 25px;
}
.month-wrap::after{
  content: '';
  display: block;
  clear: both;
}
.table-history .month{
  float: left;
  width: 50px;
}
.table-history .content{
  float: right;
  width: calc(100% - 56px);
}
.table-history tr{
  border-bottom: solid 1.5px #ccc;
}
.table-history tr:first-child{
  border-top: solid 1.5px #ccc;
}

.link-map{
  color: #b02525;
}
.link-map i{
  margin-right: 6px;
}
.link-map:hover{
  opacity: 0.7;
}








.table01{
  border-collapse: collapse;
  margin: 0;
  width: 100%;
  font-size: 15px;
  line-height: 1.7;
}
.table01 th{
  color: #fff;
  background: #68c742;
  border: solid 2px #fff;
  padding: 12px 10px;
  width: 35%;
}
.table01 td{
  color: #222;
  background-color: #f2f2f2;
  border: solid 2px #fff;
  padding: 12px 16px;
  width: 65%;
}

.table01 p{
  font-size: 15px;
  line-height: 1.7;
}















/*動画などのレスポンシブ対応*/
embed, iframe, object, video{
  max-width: 100%;
}

.video{
  position:relative;
  width:100%;
  padding-top:56.25%;
  margin-bottom: 8px;
}
.video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}







.design-1{
  position: relative;
  padding: 10px 15px;
  background-color: #fafafa;
  border: solid 2px #dddddd;
}

.design-1:after{
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  border-width: 0 16px 16px 0;
  border-style: solid;
  border-color: #fff #fff #e7e7e7;
  box-shadow: -1px 1px 1px rgba(0,0,0,.15);
}

.red{
  color: #b02525 !important;
}
.purple1{
  color: #745477;
}
.purple2{
  color: #6d6995;
}
.purple3{
  color: #82454c;
}



.white{
  color: #fff;
}
.green-frame{
  display: inline-block;
  padding: 7px 11px;
  margin-top: 7px;
  color: #fff;
  background: #47bb61;
}
.green-frame a{
  color: #fff;
}
#footer p{
  line-height: 1.7;
}


.b{
  font-weight: bold;
}


.width-400{
  width: 400px;
}







.margintop-0{
  margin-top: 0px !important;
}
.margintop-5{
  margin-top: 5px !important;
}
.margintop-10{
  margin-top: 10px !important;
}
.margintop-15{
  margin-top: 15px !important;
}
.margintop-20{
  margin-top: 20px !important;
}
.margintop-25{
  margin-top: 25px !important;
}
.margintop-30{
  margin-top: 30px !important;
}
.margintop-35{
  margin-top: 35px !important;
}
.margintop-40{
  margin-top: 40px !important;
}
.margintop-45{
  margin-top: 45px !important;
}
.margintop-50{
  margin-top: 50px !important;
}
.margintop-55{
  margin-top: 55px !important;
}
.margintop-60{
  margin-top: 60px !important;
}
.margintop-65{
  margin-top: 65px !important;
}
.margintop-70{
  margin-top: 70px !important;
}
.margintop-75{
  margin-top: 75px !important;
}
.margintop-90{
  margin-top: 90px !important;
}
.margintop-105{
  margin-top: 105px !important;
}
.margintop-120{
  margin-top: 120px !important;
}


.marginbottom-0{
  margin-bottom: 0px !important;
}
.marginbottom-5{
  margin-bottom: 5px !important;
}
.marginbottom-10{
  margin-bottom: 10px !important;
}
.marginbottom-15{
  margin-bottom: 15px !important;
}
.marginbottom-20{
  margin-bottom: 20px !important;
}
.marginbottom-25{
  margin-bottom: 25px !important;
}
.marginbottom-30{
  margin-bottom: 30px !important;
}
.marginbottom-35{
  margin-bottom: 35px !important;
}
.marginbottom-40{
  margin-bottom: 40px !important;
}
.marginbottom-45{
  margin-bottom: 45px !important;
}
.marginbottom-50{
  margin-bottom: 50px !important;
}
.marginbottom-55{
  margin-bottom: 55px !important;
}
.marginbottom-60{
  margin-bottom: 60px !important;
}
.marginbottom-65{
  margin-bottom: 65px !important;
}
.marginbottom-70{
  margin-bottom: 70px !important;
}
.marginbottom-75{
  margin-bottom: 75px !important;
}
.marginbottom-80{
  margin-bottom: 80px !important;
}
.marginbottom-85{
  margin-bottom: 85px !important;
}
.marginbottom-90{
  margin-bottom: 90px !important;
}
.marginbottom-100{
  margin-bottom: 100px !important;
}
.marginbottom-105{
  margin-bottom: 105px !important;
}
.marginbottom-120{
  margin-bottom: 120px !important;
}











.textalign-left{
  text-align: left;
}
.textalign-center{
  text-align: center;
}
.textalign-right{
  text-align: right;
}

.textalign-center-responsive{
  text-align: center;
}


.small1{
  font-size: 15px;
}
.small2{
  font-size: 12px;
}

.big1{
  font-size: 20px;
}

.big2{
  font-size: 24px;
}

.textshadow{
  text-shadow: 1px 1px 3px #404040;
}










.font-effects1{
  font-size: 30px;
  font-weight: bold;
  color: #404040;
  text-align: center;
  line-height: 1.7;
}
.font-effects2{
  font-size: 18px;
  text-align: center;
}
.font-effects3 {
  font-size: 19px;
  font-weight: bold;
  color: #fff;
  background-image: linear-gradient(to bottom, #1aac78 0%, #68c742 100%);
  width: 860px;
  margin: 1% auto;
  padding: 9px 18px;
  text-align: center;
}
.font-effects4{
  margin: 0 0 16px;
}
.font-effects4 .text{
  font-size: 32px;
  font-weight: bold;
  line-height: 1.3;
  display: inline-block;
  padding: 8px 12px 9px;
  color: #47bb61;
  background-color: #fff;
  border: solid 2px #47bb61;
  box-shadow: 4px 4px 0px 0px #47bb61;
}
.font-effects4 .text:not(:first-child){
  margin-top: 9px;
}

.font-effects5{
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
  display: inline-block;
  padding: 5px 11px 6px;
  margin: 0 0 11px;
  color: #fff;
  background-color: #47bb61;
  box-shadow: 3px 3px 0px 0px #318c30;
}




.banner01{
  margin: 40px 0 90px;
  text-align: center;
}
.banner01 a{
  display: block;
  width: 750px;
  margin: auto;
  text-decoration: none;
}


.banner02{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.banner02::after{
  content: '';
  display: block;
  clear: both;
}
.banner02 a{
  float: left;
  width: 29%;
  text-decoration: none;
}
.banner02 a:not(:nth-child(3n)){
  margin-right: 6.5%;
}


.banner03{
  text-align: center;
}
.banner03 a{
  display: block;
  width: 750px;
  margin: auto;
  text-decoration: none;
}

.banner01 a:hover,
.banner02 a:hover,
.banner03 a:hover{
  opacity: 0.8;
}


.banner04{
  text-align: center;
}
.banner04 img{
  width: 750px;
  margin: 0 auto 60px;
}

.banner05{
  text-align: center;
}
.banner05 img{
  width: 750px;
  margin: 0 auto 35px;
}

.banner06{
  text-align: center;
}
.banner06 img{
  width: 750px;
  margin: 0 auto;
}



.boxQA {
  position: relative;
  padding: 14px 0;
  margin: 0;
  border-bottom: 1px dotted #bbb;
}

.boxQA .boxQA_Q,
.boxQA .boxQA_A {
  position: relative;
  padding: 9px 0 9px 55px;
}

.boxQA .boxQA_Q:before {
  content: "Q";
  display: inline-block;
  position: absolute;
  color: #fff;
  background: linear-gradient(to right, #47bb61, #0C78FA);
  font-weight: bold;
  width: 30px;
  text-align: center;
  height: 30px;
  line-height: 30px;
  left: 6px;
  top: 8px;
}
.boxQA .boxQA_A:after {
  content: "A";
  display: inline-block;
  position: absolute;
  color: #fff;
  background: linear-gradient(to right, #47bb61, #0C78FA);
  font-weight: bold;
  width: 30px;
  text-align: center;
  height: 30px;
  line-height: 30px;
  left: 6px;
  top: 8px;
}











.boxshadow01{
  box-shadow: 0 0 6px 0px rgba(15,15,15,0.1);
}



.pc{
  display: block;
}
.sp{
  display: none;
}



/*--ギャラリー
------------------------------*/
.gallery{
  display: flow-root;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: left;
  width: 55%;
  margin: 0 auto 30px !important;
}






.gallery-item{
  margin-top: 0px !important;
  margin-bottom: 1.8%;
  width: 32% !important;
}
.gallery-item:nth-of-type(2){
  margin-left: 2%;
}
.gallery-item:nth-of-type(3){
  margin-left: 2%;
}



.gallery img{
  width: 100%;
  border: none !important;
}
.single img{
  height: auto;
}

