@charset "utf-8";

/*main*/
.has-main-background-color {
  background-color: var(--main-color);
}
.has-main-color {
  color:var(--main-color);
}

/*point*/
.has-main-background-color {
  background-color: var(--point-color);
}
.has-main-color {
  color:var(--point-color);
}

/*red*/
.has-red-background-color {
  background-color: #e70012;
}
.has-red-color {
  color: #e70012;
}

/*white*/
.has-white-background-color {
  background-color: #ffffff;
}
.has-white-color {
  color: #ffffff;
}

/*black*/
.has-black-background-color {
  background-color: #222222;
}
.has-black-color {
  color: #222222;
}

/* h2 ----------------------------------------------*/

h2.wp-block-heading strong {
  display:none;
}

/* h5 ----------------------------------------------*/
h5.wp-block-heading {
  font-size: 1rem;
  letter-spacing: 0.06;
  margin-bottom: -10px!important;
  color:var(--base-font-color);
  font-weight:bold;
}


.boxRead_txt {
  color:var(--point-color);
  font-size: 1.14rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  display: block;
  text-align:center;
}

.fL_box,
.fR_box {
  width:calc(100% / 2) !important;
  max-width:800px;
}

.boxImg02 {
  padding:0;
  width:100%;
  max-width:800px;
}

.boxImg02 img{  
   width:100%;
   height: 499px !important;
   object-fit: cover;
}

.boxTxt02{
  padding:2.0em 40px 0;
}

.box_bg01 {
  background-color:var(--color-gray02);
}

.box_bg02 {
  background-color:var(--color-gray01);
}

/* Link　----------------------------------------------*/

.wp-block-buttons.btn_area a {
  margin-top:0 !important;
  margin-right:15px;
}
.wp-block-buttons.btn_area a:first-child {
  margin-right: 0 !important;
}

.wp-block-button a.wp-element-button,
.wp-block-button.btn02 a.wp-element-button{
	display: inline-block;
    min-width: 260px;
	display: inline-flex;
	padding-right:59px;
    background: url(../../images/common/icn-arrow.svg) no-repeat calc(100% - 18px) center;
    color: var(--point-color);
	background-color: var(--color-white);
    font-weight: 600;
    font-size: 1.125rem;
	line-height: 1.25;
    height: 50px;
    text-align: left;
	border-radius:10px;
	background-size: 29px;
}

.wp-block-button.btn02 a.wp-element-button{
	background-color: var(--point-color) !important;
	color: var(--color-white) !important;
}

.btn_back a.wp-element-button{
	display: inline-block;
    width: 260px;
    background: url(../../images/common/icn-arrow.svg) no-repeat 18px center;
    color: var(--point-color);
	background-color: var(--color-white);
    font-weight: 600;
    font-size: 1.125rem;
	line-height: 1.25;
    height: 50px;
    text-align: center;
	border-radius:10px;
	background-size: 29px;
}

/* LinkBtn_pdf --------------------------------------------------*/
.LinkBtn_pdf{
	}

.LinkBtn_pdf li {
	margin-bottom:1em;
}
.LinkBtn_pdf li:last-child {
	margin-bottom:0;
}
.LinkBtn_pdf > li a {
	position: relative;
	min-height: 56px;
	display:block;
	background-color:var(--color-gray01);
	position: relative;
    padding:17px 18px 17px 120px;
    border-radius: 50px;
    color:var(--main-color);
    font-weight:bold;
	line-height:1.4;
}

.LinkBtn_pdf > li a:before {
    content: "PDF";
    padding: 0.88em 0 0.88em 2.55em;
    font-family: "Poppins", sans-serif;
    font-size:1.0625rem;
    font-weight:500;
    color:var(--main-color);
    display: block;
	border:2px solid var(--main-color);
    border-radius: 50px;
    background: url("../../images/common/pdf.svg") no-repeat left 18px center #fff;
	background-size: 17px;
	width: 98px;
    height: 56px;
	position: absolute;
	top: 0;
    left: 0;
}

.LinkList {
	}

.LinkList li{
	position: relative;
	margin:0.4em 0;
    padding-left: 6px;
	line-height:1.4;
    border-bottom:0px solid var(--color-gray01);
	}

.LinkList li a{
    display:block;
    padding:15px 28px 15px 28px;
    /*background: url("../../images/common/arrow_circle_right.svg") no-repeat right 20px center #fff;*/
	position: relative;
    border-radius: 50px;
    color:var(--base-font-color);
    font-weight:bold;
	background-color:var(--color-gray01);
	border-radius:10px;
	}

.LinkList li a::before{
    content: "";
    width: 0.4em;
    height: 0.4em;
    background-color: var(--accent-color02);
    position: absolute;
    left: 0.8em;
    top: 50%;
    transform: translateY(-50%);
	}

.LinkList li a:after {
    content: '';
    display: block;
    width: 0.5em;
    height: 0.5em;
    border-top: solid 1px var(--accent-color02);
    border-right: solid 1px var(--accent-color02);
    position: absolute;
    right:18px;
    top: 0;
    bottom: 0;
    margin: auto;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/* ul li ----------------------------------------------*/

.List{
    border:0px solid #0fe;
	}

.List li{
    position: relative;
	line-height: 1.65;
    padding-left:16px;
	margin-bottom:0.3em;
	}
	
.List li:last-child{
	margin-bottom:0;
	}

.List li::before{
    content: "";
    width: 0.4em;
    height: 0.4em;
    background-color: var(--base-font-color);
    position: absolute;
    left:2px;
    top: 13px;
    transform: translateY(-50%);
	}

.List_notes{
    border:1px solid #0fe;
	}
.List_notes li {
    color:var(--color-red);
	position: relative;
	line-height: 1.65;
    padding-left:22px;
	}
    
.List_notes li::before{
    content: "※";
    position: absolute;
    left:2px;
    top: 0;
	}	

/* dl dt dd ----------------------------------------------*/

.boxBaseImgTxt,
.boxBaseImgTxt50{
  align-items: flex-start stretch;
  
}

.boxBaseImgTxt:last-child,
.boxBaseImgTxt50:last-child{
  margin-bottom:0 !important;
}

.boxBaseImgTxt.typeReverse {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.boxBaseImgTxt > .boxImg {
  min-width: 420px !important;
}

.boxBaseImgTxt > .boxTxt {
  width: calc(100% - 420px);
  padding:1.5% 0 0 2.0%;
}

.boxBaseImgTxt.typeReverse .boxTxt {
  padding:0 2.0% 0 0;
}

.boxBaseImgTxt50 > .boxImg {
  min-width: 520px;
}

.boxBaseImgTxt50 > .boxTxt {
  width: calc(100% - 520px);
  padding:1.5% 0 0 2.0%;
  border:1px solid #000;
}

/*画像のキャプション*/
.imgMain figcaption{
  font-weight:bold;
  line-height:1.45;
  }

/* dl dt dd ----------------------------------------------*/
.dlbaseBox {
  display: flex;
  align-items: center stretch;
  justify-items: center;
  justify-content: space-between;
}
.dlbaseBox dt {
  display:inline-block;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size:1.25rem;
  color:var(--color-white);
  background-color:var(--main-color);
  width: 16%;
  min-width: 130px;
  line-height:1.45em;
}
.dlbaseBox dd {
  width: 84%;
  line-height: 1.6;
  padding:20px 15px;
}

/* flowBox ---------------------------------*/
.flowBox{
  background-color:var(--color-white);
  border:2px solid var(--color-gray02);
  line-height: 1.6;
  padding:24px 30px 0;
  margin-bottom: 24px !important;
}
.flowBox:last-child{
  margin-bottom: 0px !important;
}

/* contact ------------------------------------------------------*/
.page-template-default .btn_tel_pg,
.page-template-default .btn_mail_pg {
    text-align: left;
    width:100% !important;
    /*width: 436px;*/
    display: inline-block;
    margin-top:18px;
    border:0px solid #000;
	font-weight: normal;
    font-size: 0.8125rem;
    letter-spacing: normal;
    line-height: 1.6;
	color:var(--base-font-color);
}

.page-template-default .btn_tel_pg a {
    display: block;
    height:90px;/**/
    padding: 14px 0 14px 118px;
	position: relative;
	text-align: left;
	background-color: var(--color-gray01);
}

.page-template-default .btn_mail_pg a {
    display: block;
    height:90px;/**/
    padding: 14px 0 14px 118px;
	position: relative;
	text-align: left;
	background: url("../../images/common/arrow_circle_right.svg") no-repeat right 20px center;
	background-color: var(--color-gray01);
}

.page-template-default .btn_tel_pg a:first-line {
    font-size: 2rem;
    font-weight: 400;
    color:var(--base-font-color);
    font-family: "Poppins", sans-serif;
    letter-spacing: 0.05em;
    line-height: 1.3;
}

.page-template-default .btn_mail_pg a:first-line {
    font-size: 1.5rem;
    color:var(--base-font-color);
	font-weight: bold;
}

.page-template-default .btn_tel_pg a:before,
.page-template-default .btn_mail_pg a:before {
	content: "";
	height: 80%;
	width: 88px;
    position: absolute;
	left: 0;
	top: 10%;
    bottom: 10%;
	pointer-events: none;
}
.page-template-default .btn_tel_pg a:before {
	background: url("../../images/common/footer_tel.svg") no-repeat center center;
	background-size: 20px;
	border-right:1px solid var(--accent-color03);
}
.page-template-default .btn_mail_pg a:before {
	background: url("../../images/common/footer_mail.svg") no-repeat center center;
	background-size: 26px;
	border-right:1px solid var(--accent-color03);
}

.page-template-default .btn_tel_pg a:hover {
    transition: all 0.3s;
    opacity: 0.7;
}
.page-template-default .btn_tel_pg a[href^="tel:"]:hover {
    opacity: 1;
}

.page-template-default .btn_tel_wide {
    position: relative;
	background-color: var(--color-gray01);
	width:70%;
	margin:18px auto;
}

.page-template-default .btn_tel_wide .wp-block-group__inner-container{
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content:flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center !important;
	text-align: left;
    width:100% !important;
	height:90px;
    padding:0.5em 0.5em 0.5em 6.5em;
}

.page-template-default .btn_tel_wide p{
    margin:0 20px !important;
	padding:0 !important;
}

.page-template-default .btn_tel_wide .box01{
	font-size: 2rem;
    font-weight: 400;
    color:var(--base-font-color);
    font-family: "Poppins", sans-serif;
    letter-spacing: 0.05em;
    line-height: 1.4 !important;
}
.page-template-default .btn_tel_wide .box02{
	font-weight: normal;
    font-size: 0.8125rem;
    letter-spacing: normal;
	text-align:center;
	line-height:1.2 !important;
}

.page-template-default .btn_tel_wide:before {
	content: "";
	height: 80%;
	width: 88px;
    position: absolute;
	left: 0;
	top: 10%;
    bottom: 10%;
	pointer-events: none;
}
.page-template-default .btn_tel_wide:before {
	background: url("../../images/common/footer_tel.svg") no-repeat center center;
	background-size: 20px;
	border-right:1px solid var(--accent-color03);
}

/* googleカレンダー */
.iframe-wrapper {
  position: relative;
  /*padding-bottom: 600px 56.25%;*/
  padding-top: 36.25%;
}

.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* wp-block-table --------------------------------------*/

.wp-block-table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  table-layout: fixed;
  width:100%;
}

.wp-block-table thead th,
.wp-block-table tfoot th{
  padding:0.5em !important;
  background: var(--main-color);
  border-bottom: 1px solid var(--accent-color01) !important;
  color: #fff;
  text-align:center;
  line-height:1.45;
  vertical-align:middle;
}

.wp-block-table td {
  line-height:1.45;
  vertical-align:middle;
}

.wp-block-table tbody th{
  font-weight:bold;
  line-height:1.45;
  vertical-align:middle;
}

.wp-block-table thead th:not(first-child) {
  border-left: 1px solid var(--accent-color01) !important;
}


.th15 thead th:first-child{
  width: 15% !important;
}

.th35 thead th:first-child{
  width: 35% !important;
}

/* info_table*/

.info_table tbody th,
.info_table tr td:nth-child(1){
  position: relative;
  font-weight:bold;
  line-height:1.45;
  vertical-align:top;
  width: 10em;
  padding: 15px 0px 15px 20px !important;
  /*border-bottom:1px solid var(--color-gray02) !important;*/
}

.info_table tr td:nth-child(1)::before{
  content:"";
  position: absolute;
  top: 1.65em;
  left: 0.5em;
  /*transform: translateY(-50%);*/
  display: block;
  width: 5px;
  height: 5px;
  background-color: var(--accent-color02);
}

.info_table td {
  padding: 15px 5px!important;
}

/*base_table -----------*/
.base_table {
  border-top: 1px solid var(--color-gray02) !important;
}

.base_table th,
.base_table td{
  padding: 15px !important;
  border-bottom: 1px solid var(--color-gray02) !important;
}

.base_table tbody th {
  background: var(--main-color);
  color: #fff;
}

/*base_table02 ------- */
.base_table02 td{
  padding: 15px 5px 15px 15px!important;
  border-bottom: 1px solid var(--color-gray02) !important;
}

.base_table02 tbody th,
.base_table02 tr td:nth-child(1){
  padding: 15px 5px 15px 15px!important;
  background: var(--accent-color01);
  border-bottom: 1px solid var(--color-gray02) !important;
  font-weight:bold;
  vertical-align:middle;
  width:20%;
  min-width:130px;
}

/*base_table03 ------- */

.base_table03 td{
  padding: 1.0em !important;
  border-bottom: 1px solid var(--color-gray02) !important;
  border-left: 1px solid #ECECEC !important;
}

.base_table03 tbody th{
  padding: 1.0em !important;
  background: var(--accent-color01);
  border-bottom: 1px solid var(--color-gray02) !important;
  min-width:100px !important;
}

/* list_table --複数列-- */

.list_table th,
.list_table td{
  padding: 20px 15px !important;
  line-height:1.4;
  border-bottom: 1px solid var(--color-gray02) !important;
}

.list_table tr:nth-of-type(2n) {
  background-color:#f0f0f0;
  }
  
/* company_table straip -----------------------------------*/

.company_table { 
  margin:0;
  border-collapse: separate;
  border-spacing: 0;
  width:100%;
}

.company_table tr th {
  border-radius: 10px;
}

.company_table tr th:nth-child(1),
.company_table tr td:nth-child(1) {
  width: 140px;
  padding: 15px 0px 15px 26px;
  /*background: url(../../images/common/icn-dot_blue.jpg) no-repeat left 10px center;*/
  font-size: 1.0625rem;
  font-weight:normal;
  vertical-align:middle;
  letter-spacing: 0.04em;
  position: relative;
}

.company_table tr td:not(nth-child(1)){
  width: calc(100% - 140px);
  padding: 15px 5px 15px 5px;
  line-height: 1.4;
}

.company_table.right_box tr:nth-of-type(1n) th,
.company_table tr:nth-of-type(2n) th{
  /*background-color:var(--accent-color02);*/
  background-color:var(--color-gray01);
  border-radius: 10px 10px 0 0; 
  }
  
.company_table.right_box tr:nth-of-type(1n) td,
.company_table tr:nth-of-type(2n) td{
  background-color:var(--color-gray01);
  border-radius: 0 10px 10px 0;
  line-height: 1.4;
  }
  
.company_table.right_box tr:nth-of-type(2) th,
 .company_table.right_box tr:nth-of-type(2) td{
  background-color:var(--color-white);
 }
 
.company_table tr th:nth-child(1)::before,
.company_table tr td:nth-child(1)::before {
  content:"";
  position: absolute;
  top: 50%;
  left: 0.8em;
  transform: translateY(-50%);
  display: block;
  width: 5px;
  height: 5px;
  background-color: var(--main-color);
}
/*.company_table tbody th {
  background-color:var(--main-color);
  font-weight:bold;
  color:var(--color-white);
}*/


@media only screen and (max-width: 767px) {


/* h2 ----------------------------------------------*/
   /*h2.wp-block-heading {
        font-size: 1.9rem;
        letter-spacing: 0.02em;
		margin-bottom: 36px;
        }*/

/* h3 ----------------------------------------------*/
  /* h3.wp-block-heading {
     padding-right: 0.5em;
	 }*/

   .boxImg02 img{  
      width:100%;
      height: auto !important;
	  }

   .boxTxt02{
     padding:32px 20px 0;
    }

/* table-scroll --------------------------------------*/
.table-scroll {
   overflow-x: auto;
   }

 .table-scroll table{
   width: 100%;
   min-width: 760px;
   margin-bottom: 15px !important;
   }
 
 .table-scroll .please_scroll {
		margin-bottom: -15px !important;
		font-size:0.75rem !important;
	}
 
/* info_table --------------------------------------*/
 .info_table tbody th,
 .info_table td{
    display: block;
    width: 100%;
 }
  .info_table tbody th {
    padding: 15px 5px 5px !important;
	border-bottom:none !important;
 }
 .info_table td{
    width: 100%;
    padding: 5px 5px 15px !important;
 }

/* company_table straip -----------------------------------*/

  .company_table tbody th,
  .company_table td{
    display: block;
    width: 100%;
   }
  .company_table tr th:nth-child(1),
  .company_table tr td:nth-child(1){
    width: 100%;
	padding: 10px 5px 5px 25px;
	border-radius:10px 10px 0 0;
  }
  .company_table tr td{
    width: 100%;
	padding: 5px 18px 12px 23px;
	border-radius:0 0 10px 10px !important;
  }

/* LinkBtn_pdf --------------------------------------*/
 .LinkBtn_pdf > li a{
    padding:17px 18px 17px 70px;
	}

 .LinkBtn_pdf > li a::before{
    content: "";
    display: block;
    background: url("../../images/common/pdf.svg") no-repeat left 13px center #fff;
	background-size: 17px;
	width: 48px;
    height:48px;
	position: absolute;
	top: 0;
    bottom: 0;
    margin: auto 8px;
	}

/* contact ------------------------------------------------------*/

.page-template-default .btn_tel_pg a {
    display: block;
    height:90px;/**/
    padding: 14px 0 14px 5.0em;
	position: relative;
	text-align: center;    line-height: 1.2!important;
	background-color: var(--color-gray01);
}

.page-template-default .btn_mail_pg a {
    display: block;
    height:90px;/**/
    padding: 14px 0 14px 3.5em;
	position: relative;
	text-align: center;
	line-height: 1.2!important;
	background: url("../../images/common/arrow_circle_right.svg") no-repeat right 10px center;
	background-color: var(--color-gray01);
}

.page-template-default .btn_tel_pg a:first-line {
    font-size: 1.75rem;
}

.page-template-default .btn_mail_pg a:first-line {
    font-size: 1.25rem;
    color:var(--base-font-color);
	font-weight: bold;
	line-height: 1.4!important;
}

.page-template-default .btn_tel_wide {
    width:100%;
}

.page-template-default .btn_tel_wide .wp-block-group__inner-container{
    display: block;
	text-align: left;
    width:100% !important;
	height:90px;
    padding:0.5em 0.2em 0.5em 4.0em;
}

.page-template-default .btn_tel_wide p{
    margin:0 !important;
	padding:0 !important;
}

.page-template-default .btn_tel_wide .box01{
	font-size: 1.75rem;
	line-height:1.4!important;
	text-align:center;
}
.page-template-default .btn_tel_wide .box02{
	margin-top:-5px;
	text-align:center;
	line-height:1.2!important;
}

.page-template-default .btn_tel_pg a:before,
.page-template-default .btn_mail_pg a:before,
.page-template-default .btn_tel_wide:before {
	content: "";
	height: 80%;
	width: 68px;
    position: absolute;
	left: 0;
	top: 10%;
    bottom: 10%;
	pointer-events: none;
   }
.page-template-default .btn_tel_wide:before {
	background: url("../../images/common/footer_tel.svg") no-repeat center center;
	background-size: 20px;
	border-right:1px solid var(--accent-color03);
   }

    .floatBox .fL {
        float: none;
        width: 100%;
    }
    .floatBox .fR {
        float: none;
        width: 100%;
    }
	
	.iframe-wrapper {
     width:90%;
	 padding-top: 90%;
	 }

	/* dl dt dd ----------------------------------------------*/
	
	.boxBaseImgTxt > .boxImg {
	  max-width: 100%;
	  min-width: 100% !important;
	}

	.boxBaseImgTxt > .boxTxt {
	  width: 100%;
	  padding-left: 0;
	}

	.boxBaseImgTxt50 > .boxImg {
	  min-width: 100%;
	}

	.boxBaseImgTxt50 > .boxTxt {
	  width: 100%;
	  padding-left: 0;
	}
	
	/* dl dt dd ----------------------------------------------*/
   .dlbaseBox {
     display: block;
    }
   .dlbaseBox dt {
     width: 100%;
     padding:20px 5px;
     margin:0;
   }
   .dlbaseBox dd {
     width: 100%;
     line-height: 1.6;
     margin:0;
     padding:20px 5px;
   }
/* flowBox ---------------------------------*/
  .flowBox{
     padding:20px 15px 0;
     margin-bottom: 24px !important;
     }
 }
