@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Josefin+Sans:ital@1&family=Merriweather+Sans:ital,wght@1,300&family=Murecho:wght@800&family=Noto+Sans+JP:wght@500;700&display=swap');

@media screen and (min-width: 531px){   
	br.pc { display:inline; }
	br.sp { display:none; }
}
@media screen and (max-width: 530px){   
	br.pc { display:none; }
	br.sp { display:inline; }
}
/* General
------------------------------------------------------------ */
*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	height: 100%;
  position: relative;
	overflow: auto;
}

	
body {
  font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;	
	overflow: hidden;
  background-color:#FFFFFF;
	position: relative;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

h1{
    padding:0;
    margin:0;
}

/* Layout
------------------------------------------------------------ */
.container-fluid {
  	width: 100%;
  	padding: 0;
  	margin-right: auto;
  	margin-left: auto;
}

.container {
  	width: 100%;
  	padding: 0;
  	margin-right: auto;
  	margin-left: auto;
}

@media (max-width: 769px) {
	.container-fluid {
		width: 100%;
		padding: 0;
		margin-right: auto;
		margin-left: auto;
	}

	.container {
		width: 100%;
		padding: 0;
		margin-right: auto;
		margin-left: auto;
	}
}

div.page__wrap{
	width:100%;
}


.no-gutters {
  	margin:0;
  	padding:0;
}
 
.no-gutters　> .col,
.no-gutters　> [class*="col-"] {
  	margin:0;
  	padding:0;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto {
    position: static !important;
    /* width: 100%; */
    /* padding-right: 15px; */
    /* padding-left: 15px; */
}

h1 img,
h2 img,
h3 img,
h4 img,
p img {
	max-width: 100%;
	height: auto;
}

.image_box {
	width: 80%;
	margin: 20px auto;
	padding: 0;
}
@media screen and (max-width:580px) {
	.image_box {
		width: 90%;
		margin: 0 auto;
		padding: 0;
	}
}

.image_box img {
	max-width: 100%;
	height: auto;
}

picture source {
	max-width: 100%;
	height: auto;
}

picture img {
	max-width: 100%;
	height: auto;
}

.image_box_100 {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.image_box_100 img {
	max-width: 100%;
	height: auto;
}

.slick_box {
	width: 80%;
	margin: 0 auto;
}

@media screen and (max-width:580px) {
	.slick_box {
		width: 90%;
		margin: 0 auto;
	}
}

/* ------------------------------------------------------------
  テキスト関連
------------------------------------------------------------ */

p {
	font-size: 100%;
	margin-top: 15px;
	margin-bottom: 15px;
}

p.p-95 {
	font-size: 95%;
	margin-top: 15px;
	margin-bottom: 15px;
}
.bold{
	font-weight: bold;
}

/* h2_title */
h2.h2_title {
	margin: 20px auto 35px;
	text-align: center;
	font-size: 3.0vw;
	font-weight: 800;
	color: #0E6A6A;
	font-family: 'Noto Sans JP', sans-serif;
}

div.h2_title_font_small {
	display: inline;
	font-size: 2.7vw;
}

h2.h2_title span{
	position: relative;
	display: inline-block;
	padding-bottom:0.2em;
	border-bottom: 5px solid #EFEA3A;
}
	 
h2.h2_title span::before,
h2.h2_title span::after {
	position: absolute;
	top: 100%;
	left:50%;
	transform:translateX(-50%);
	content: '';
	border: 15px solid transparent;
}

h2.h2_title span::before {
	border-top: 15px solid #EFEA3A;
}

h2.h2_title span::after {
	margin-top: -5px;
	border-top: 15px solid white;
}

h2.h2_title span.var2::before {
	border-top: 15px solid #EFEA3A;
}

h2.h2_title span.var2::after {
	margin-top: -5px;
	border-top: 15px solid #DFEEF9;
}

h4.h4_title_2 {
	position: relative;
	width: 100%;
	padding: 10px;
	font-size: 1.5rem;
	font-weight: 600;
	color: #FFFFFF;
	background: #282F48;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
}
h4.h4_title_2::after {
	position: absolute;
	bottom: -9px;
	left: 47%;
	width: 0;
	height: 0;
	content: '';
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #282F48 transparent transparent transparent;
  }
h3.h3_title {
	width: 100%;
	font-size: 2.3vw;
	font-weight: 800;
	color: #0E6A6A;
	line-height: 150%;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
}

h3.h3_ti_orange {
	width: 100%;
	font-size: 3.0vw;
	font-weight: 800;
	color: #E55927;
	line-height: 150%;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
}

h4.h4_title_3 {
	width: 100%;
	font-size: 1.5rem;
	font-weight: 800;
	color: #000000;
	line-height: 150%;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
}

.m30{
	margin-top: 30px;
	text-align: center;
}

@media screen and (max-width:530px) {
	h2.h2_title {
		font-size: 1.3rem;
		line-height: 120%;
		margin-top: 15px;
		margin-bottom: 0;
		text-align:center;
	}
	
	div.h2_title_font_small {
		font-size: 1.1rem;
	}
	h2.h2_title span{
		padding-bottom: 0.5em;
		width: 80%;
	}
	h2.h2_title span.var2 {
		padding-bottom: 0.5em;
		width: 80%;
	}
	h4.h4_title_2 {
		font-size: 1.2rem;
	}
	h3.h3_ti_orange {
		font-size: 1.1rem;
	}
	h4.h4_title_3 {
		font-size: 0.9rem;
		font-weight: 700;
	}
}

/* ============================================
# breakpoint
============================================ */
/* sp */
@media not screen and (min-width: 768px) {
  .is-pc {
    display: none;
  }
  .is-tab {
    display: none;
  }
  .is-sp {
    display: block;
  }
}

/* tab */
@media screen and (min-width: 768px) and (max-width: 960px) {
  .is-pc {
    display: none;
  }
  .is-tab {
    display: block;
  }
  .is-sp {
    display: none;
  }
}

/* pc */
@media screen and (min-width: 960px) {
  .is-sp {
    display: none;
  }
  .is-tab {
    display: none;
  }
  .is-pc {
    display: block;
  }
}



/* ============================================
# common - 全体に共通するスタイル
============================================ */
main {
	height: inherit;
	flex: 1;
}

.inner {
  width: 95%;
  margin: 0 auto;
}

img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

a {
  display: block;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

.pagination {
	justify-content: center;
}

.nav-links {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 20px;
}

.page-numbers {
	border: 1px solid #065e58;
	border-radius: 5px;
	padding: 4px 12px;
	font-size: 14px;
	color: #065e58;
	transition: all 0.2s;
}

.page-numbers:hover {
	color: #fff;
	background-color: rgb(6, 94, 88, 0.7);
}

.page-numbers.prev:hover {
	color: #fff;
	background-color: rgb(6, 94, 88, 0.7);
}

.page-numbers.next:hover {
	color: #fff;
	background-color: rgb(6, 94, 88, 0.7);
}

.page-numbers.current {
	color: #fff;
	background-color: #065e58;
}

.page-numbers.current:hover {
	background-color: #065e58;
}


#page__archive a,
#page__single a,
#page__single-sidebar a,
#page__page a,
#page__error a {
	display: inline;
}

/* プラグイン「Easy Table of Contents」 */
#ez-toc-container {
	padding: 20px 30px;
}



/* ============================================
# header
============================================ */
.header {
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0px 7px 7px -5px rgb(227, 226, 226);
          box-shadow: 0px 7px 7px -5px rgb(227, 226, 226);
}

.header__inner {
	width: 90%;
  padding: 15px 0;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
	position: relative; /* .drawerの基準位置 */
}

.header__logo {
  max-width: 144px;
  width: 29.8755186722vw;
}

.header__logo a {
  display: block;
}


.header__nav .header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  margin: 0;
}


.header__nav .header__list li {
  list-style: none;
}


.header__nav .header__list a {
	color: #065e58;
  font-size: 20px;
	font-weight: 600;
  white-space: nowrap;
	transition: all 0.2s;
}

.header__nav .header__list a:hover {
	border-bottom: 2px solid #065e58;
}

.header__contact {
  margin-left: auto;
	padding-right: calc( 36px + 15px );
}

.header__contact-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.header__contact-mail {
  width: 45px;
}

.header__contact-text {
  width: 182px;
}

.drawer {
	position: absolute; /* .header__innerに対して位置決め */
	right: 0;
}


.drawer-icon {
  width: 36px;
  height: 21px;
  border: none;
  background-color: transparent;
  position: relative; /* .drawer-icon__barの基準位置 */
	z-index: 200;
}

.drawer-icon__bar {
  display: block;
  width: 100%;
  height: 3px;
  background-color: #065e58;
  border-radius: 6px;
  position: absolute; /* .drawer-iconに対して位置決め */
	-webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

.drawer-icon__bar:nth-of-type(1) {
  top: 0;
}

.is-checked .drawer-icon__bar:nth-of-type(1) {
  top: 9px;
  background: #FFFFFF;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.drawer-icon__bar:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.is-checked .drawer-icon__bar:nth-of-type(2) {
	background: transparent;
}

.drawer-icon__bar:nth-of-type(3) {
  bottom: 0;
}

.is-checked .drawer-icon__bar:nth-of-type(3) {
  bottom: 9px;
  background: #FFFFFF;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.drawer-icon.is-checked {
	position: fixed;
	top: 27px;
	right: 5%;
	z-index: 300;
}


.drawer__content {
  width: 65%;
  height: 100%;
  background: rgba(74, 168, 159, 0.7);
  padding: 100px 20px 0;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 250;
  -webkit-transform: translateX(105%);
          transform: translateX(105%);
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

.drawer__content.is-checked {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}


.drawer__content .drawer__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin: 0 auto;
}

.drawer__content .drawer__list li {
	list-style: none;
	min-width: 180px;
	margin: 0 auto;
	background: #005c56;
	border: 2px solid #fff;
}

.drawer__content .drawer__list a {
	color: #fff;
	text-align: center;
	padding: 10px;
	font-size: 18px;
	font-weight: 500;
}



/* --------------------------------
 * レスポンシブ
* -------------------------------- */
/* sp */
@media not screen and (min-width: 768px) {
	.header__contact {
    width: 47.0954356846vw;
  }
}

/* pc */
@media screen and (min-width: 960px) {
	.header__inner {
		gap: 30px;
	}

	.header__logo {
    max-width: 192px;
  }

	.header__contact-mail {
    width: 60px;
  }

	.header__contact-text {
    width: 243px;
  }

  .drawer {
    display: none;
  }

  .drawer-icon {
    display: none;
  }

	.drawer__content {
    display: none;
  }
}



/* ============================================
# fv
============================================ */
.fv {
	margin-bottom: 50px;
  background: linear-gradient(180deg, #fff 0%, #e9ffbe 100%);
}

.fv__inner {
  padding-top: 50px;
}

.fv__content {
  width: 87.7192982456%;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

.fv__catch {
  min-width: 300px;
  width: 40%;
  aspect-ratio: 600/150;
}

.fv__btn {
  width: 200px;
}

.fv__img {
  max-width: 550px;
}

.fv__company-logo img {
  display: block;
  margin-left: auto;
  width: 200px;
}

/* --------------------------------
 * レスポンシブ
* -------------------------------- */
/* pc */
@media screen and (min-width: 960px) {
  .fv__inner {
    padding-top: 140px;
  }

  .fv__catch {
  	min-width: 450px;
  }

  .fv__text {
    width: 60%;
    white-space: nowrap;
		margin: 30px 0;
  }

  .fv__btn {
    width: 250px;
  }

  .fv__img {
    width: 47.7777777778%;
    position: absolute;
    top: 0;
    right: 0;
  }

  .fv__company-logo {
    margin-top: 140px;
  }


}



/* ============================================
# トップページじゃない時のheader関連
============================================ */
.page__contents {
	position: relative;
}

.page__head { /* リブースのオリジナルのタイトルデザインを記載 */
	background: linear-gradient(0.25turn, #7ed957, #007e50, #ddff0d);
}

.page__contents .page__head {
	width: 100%;
	height: 160px;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
}

.page__contents .page__head img {
	height: 100%;
	object-fit: cover;
}

.page__contents .page__head .wrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #fff;
}

.page__contents .page__head .wrapper .page__title {
	margin-top: 12px;
	font-size: 2.8rem;
	font-weight: 400;
	line-height: 1;
}

.page__contents .page__container {
	width: 100%;
	position: relative;
}


.page__contents .page__container .Breadcrumbs {
	margin: 0 auto;
	padding: 14px 0;
	max-width: 990px;
	width: 90%;

	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	flex-wrap: wrap;

	gap: 10px;
	align-items: center;
	font-size: 16px;
	color: #065e58;
}

.page__contents .page__container .Breadcrumbs span {
	z-index: 1;
}

.page__contents .page__container .Breadcrumbs span a {
	font-size: 16px;
	color: #065e58;
	transition: all 0.2s;
}

.page__contents .page__container .Breadcrumbs span a .active {
	color: #bdbdbd;
	pointer-events: none;
}

.page__contents .page__container .Breadcrumbs span a:hover {
	text-decoration: underline;
}

/* --------------------------------
 * レスポンシブ
* -------------------------------- */
/* sp */
@media not screen and (min-width: 768px) {
	.page__contents .page__container .Breadcrumbs {
		font-size: 14px;
		gap: 5px;
	}

	.page__contents .page__container .Breadcrumbs span a {
		font-size: 14px;
	}

	.page__contents .page__head .wrapper .page__title {
		margin-top: 5px;
		font-size: 28px;
	}

	.page__contents .page__head {
		height: 90px;
	}
}



/* ============================================
# common - 共通するスタイル
============================================ */

.page__contents .page__inner {
	margin: 0 auto;
	max-width: calc( 960px + 15px * 2 ); /* .page__mainのpadding幅を考慮 */
	width: 90%;
	position: relative; /* .article__titleの基準位置 */
}

.page__contents .page__inner .page__main {
	padding: 30px 0;
}


/* フル表示の場合 */
.page__contents .page__inner.full-width {

}

.page__contents .page__inner.full-width .page__main {

}


/* サイドバー有りの場合 */
/* 今回はsingle-sidebar.phpのみ */
.page__contents .page__inner.two-column {

}

.page__contents .page__inner.two-column .content {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.page__contents .page__inner.two-column .content__main {
	width: 65%;
}

.page__contents .page__inner.two-column .content__side {
	width: 35%;
}


/* --------------------------------
 * レスポンシブ
* -------------------------------- */
/* sp */
@media not screen and (min-width: 768px) {
	.page__contents .page__inner.two-column {
		max-width: 972px;
	}
	
	.page__contents .page__inner.two-column .content {
		/* margin-top: 7%; */
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	
	.page__contents .page__inner.two-column .content__main {
		width: 100%;
	}
	
	.page__contents .page__inner.two-column .content__side {
		margin-top: 9%;
		width: 100%;
	}

	.page__contents .page__inner .page__main {
		padding: 15px 0 30px;
	}
}




/* ============================================
#  archive.php (cat)
============================================ */
#page__archive .main__container {
	width: 100%;
}

#page__archive .main__container .main__wrapper {
	margin: 0 auto;
	max-width: 960px;
}

.cat__lists {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 35px 20px;
}

.cat__item-link {
	width: 100%;
	height: inherit;
}

.cat__item-img {
	width: 100%;
	aspect-ratio: 293 / 180;
	overflow: hidden;
}

.cat__item-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: all 0.2s;
}

.cat__item-img img:hover {
	transform: scale( 1.2, 1.2 );
}

.cat__item-wrap {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 5px;
	margin-top: 5px;
	font-size: 12px;
	color: #737373;

	line-height: 1;
}

.cat__item-release {
	font-size: 14px;
}


.cat__item-category {
	padding: 0 5px;
	border-left: 1px solid #737373;
	font-size: 14px;
}

.cat__item-title {
	margin: 8px 0;
	font-size: 16px;
	color: #000;
}

.cat__item-tags {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	white-space: nowrap;
}

.cat__item-tag {
	color: #7ed957;
	font-size: 14px;
	line-height: 1;
	padding: 5px 10px;
	border-radius: 26px;
	border: 1px solid #7ed957;
}

/* --------------------------------
 * レスポンシブ
* -------------------------------- */
/* sp */
@media not screen and (min-width: 768px) {
	.cat__lists {
		grid-template-columns: 1fr;
		gap: 50px 0;
	}

	.cat__item {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}

	.cat__item-tags {
		gap: 5px;
	}
}

/* pc */
@media screen and (min-width: 960px) {
	.cat__item-title {
		font-size: 18px;
	}
}



/* ============================================
# single.php, single-sidebar.php
============================================ */
#single .page__contents .page__container {
	padding-top: 20px;
}

.article__body {
	height: 100%;
}

.article__body .article__inner {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.article__title {
	color: #fff;
	font-size: 28px;
	padding: 15px;
	background: linear-gradient(0.25turn, #7ed957, #007e50, #ddff0d);
	margin: 5px 0 10px;
}

.article__categories {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 10px;
}

.article__category {
	font-size: 18px;
	color: #065e58;
}

.article__wrap {
	display: flex;
	justify-content: space-between;
}

.article__tags {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.article__tag {
	color: #7ed957;
	font-size: 14px;
	padding: 4px 12px;
	border-radius: 26px;
	border: 1px solid #7ed957;
}

.article-release {
	font-size: 14px;
	color: #737373;
}


.article__contents {
	flex: 1;
	margin: 50px auto;
	width: 95%;
}

.article__more {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.article__more .prev {
	margin-right: auto;
}

.article__more .next {
	margin-left: auto;
}

.article__more .another-link {
	font-size: 14px;
	color: #065e58;
	padding: 5px 0;
}

.article__body .category__home {
	background-color: #065e58;
	border: 1px solid #065e58;
	border-radius: 50px;
	width: fit-content;
	margin: 25px auto;
	transition: all 0.2s;
}

.article__body .category__home:hover {
	background-color: transparent;
}

.article__body .category__home .category__home__link {
	padding: 5px 30px;
	font-size: 16px;
	color: #fff;
	transition: all 0.2s;
}

.article__body .category__home .category__home__link:hover {
	color: #065e58;
}

.article__body .article__contents .wp-block-image {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 10px;
}

.article__body .article__contents h1 {
	font-size: 24px;
	color: #065e58;
	padding: 10px;
	margin: 0;
	background-color: rgb(126, 217, 87, 0.6);
}


.article__body .article__contents h2 {
	font-size: 22px;
	color: #065e58;
	padding: 10px;
	margin: 0;
	border-bottom: 3px solid #7ed957;
	box-sizing: content-box;
	margin-top: 20px;
}

.article__body .article__contents h3 {
	font-size: 20px;
	color: #065e58;
	padding: 10px;
	margin: 0;

	position: relative; /* 下記擬似要素の位置決め基準 */
}

.article__body .article__contents h3::before {
	position: absolute; /* 上記親要素を基準に位置決め */
	top: 50%;
	left: 0;
	transform: translateY(-50%);

	content: "";
	width: 3px;
	height: calc( 100% - 20px );
	background-color: #7ed957;
}

.article__body .article__contents h4 {
	font-size: 18px;
	color: #065e58;
	padding: 10px;
	margin: 0;
}

.article__body .article__contents p {
	font-size: 16px;
	line-height: 1.8;
	padding: 10px;
	margin: 0;
}


/* --------------------------------
 * レスポンシブ
* -------------------------------- */
/* sp */
@media not screen and (min-width: 768px) {
	#single .page__contents .page__container {
		padding-top: 10px;
	}

	.article__contents {
		margin: 30px auto;
	}

	.article__body .article__inner:first-child {
		margin-top: 0;
	}

	.article__body h3 {
		margin-top: 5.4%;
		font-size: 1.6rem;
	}

	.article__body h3+p {
		margin-top: 2%;
	}

	.article__body p {
		line-height: 1.8;
	}

	.article__body p img {
		float: none;
		margin: 0;
	}

	.article__body p img+img {
		margin-left: 0;
		margin: 15px 0 0 0;
	}

	.article__title {
		font-size: 24px;
		padding: 12px;
		margin: 5px 0 10px;
	}

	.article__category {
		font-size: 16px;
	}

	.article__tags {
		gap: 8px;
}

	.article__tag{
		font-size: 14px;
		padding: 2px 10px;
		white-space: nowrap;
	}
}

/* pc */
@media screen and (min-width: 960px) {
	.cat__item-category {
		font-size: 14px;
	}
}



/* ============================================
# sidebar
============================================ */

.side__box {
	margin-left: 10%;
	display: grid;
	row-gap: 25px;
}

.side__box .side__inner {
	padding: 30px 20px 18px;
}

.side__box .side__inner  {
	padding: 0 7px 20px 7px;
	font-size: 1.8rem;
	font-weight: 700;
	border-bottom: 1px solid #d0d0d0;
}

.side__pickup .side-inner .popular-posts h4 {
	font-size: 20px;
	font-weight: 600;

	position: relative; /* 下記擬似要素の位置決め基準 */
	padding-left: 25px; /* iconスペース */
}

.side__pickup .side-inner .popular-posts h4::before {
	position: absolute; /* 上記親要素を基準に位置決め */
	top: 50%;
	left: 0;
	transform: translateY(-50%);

	content: "";
	background-image: url( ../image/sidebar_icon.png );
	background-size: 100%;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
}

.side__pickup .side-inner .popular-posts .popular-posts-sr {
	padding-left: 25px;
}


.search-title {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 8px;

	position: relative; /* 下記擬似要素の位置決め基準 */
	padding-left: 25px; /* iconスペース */
}


.search-title::before {
	position: absolute; /* 上記親要素を基準に位置決め */
	top: 50%;
	left: 0;
	transform: translateY(-50%);

	content: "";
	background-image: url( ../image/sidebar_icon.png );
	background-size: 100%;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;

}

.search-wrap {	
	margin-left: 25px;
}


.search-categories {
	display: grid;
	row-gap: 8px;
}

.search-category {
	color: #065e58;
	font-size: clamp(12px, 3.8vw, 14px);
	line-height: 1.2;
	padding: 8px 20px;
	border-radius: 30px;
	border: 1px solid #065e58;
	transition: all 0.2s;
}

.search-category:hover {
	background-color: #065e58;
	color: #fff;
}


.search-tags {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	white-space: nowrap;
}

.search-tag {
	color: #7ed957;
	font-size: clamp(10px, 1.3vw, 14px);
	line-height: 1;
	text-align: center;
	padding: 6px 0;
	border-radius: 26px;
	border: 1px solid #7ed957;
	transition: all 0.2s;
}

.search-tag:hover {
	color: #065e58;
	border: 1px solid #065e58;
}



/* --------------------------------
 * レスポンシブ
* -------------------------------- */
/* sp */
@media not screen and (min-width: 768px) {
	.side__box {
		margin-left: 0;
	}

	.side__box .side__inner {
		padding: 16px 24px 12px;
	}

	.side__box .side__inner .title {
		padding: 0 4px 14px 4px;
		font-size: 1.4rem;
	}

	.side__box .side__inner .sub_navi li a {
		padding: 7px 4px;
	}

	.side__box .side__inner .sub_navi li a .postDay {
		font-size: 1.1rem;
	}

	.side__box .side__inner .sub_navi li a .postTitle {
		font-size: 1.2rem;
	}

	.side__box .side__inner .see-all {
		margin-top: 12px;
	}

	.side__box .side__inner .see-all a {
		font-size: 1.1rem;
	}

	.search-categories {
		gap: 8px;
		text-align: center;
		white-space: nowrap;
	}

	.search-tag {
		font-size: clamp(10px, 3.6vw, 14px);
	}

}


/* ============================================
#  page.php
============================================ */


/* --------------------------------
 * レスポンシブ
* -------------------------------- */
/* sp */
@media not screen and (min-width: 768px) {
	
}

/* tab */
@media screen and (min-width: 768px) and (max-width: 960px) {
	
}

/* pc */
@media screen and (min-width: 960px) {

}





/* ============================================
#  404.php
============================================ */

#page__error .error__inner h3 {
	font-size: 20px;
}





/* ------------------------------------------------------------
	展示用ブースについて課題をお抱えの企業様へ
------------------------------------------------------------ */
.about_booth {
	width: 85%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 30px auto 0;
	position: relative;
	z-index: 3;
}

.about_booth_inner_box,
.about_booth_inner_box_2,
.about_booth_inner_box_3 {
	position: relative;
	width: 31%;
	margin: 0 auto;
	padding: 20px 10px;
	border: 7px solid #B3B3B3;
	border-radius: 3%;
	background-color: #FFFFFF;
}
.about_booth_inner_box::after {
	content: url('../image/about_booth_inner_box_after_1.png');
	position: absolute;
	top: -25px;
    left: 50%;
    transform: translateX(-50%);
}
.about_booth_inner_box_2::after {
	content: url('../image/about_booth_inner_box_after_2.png');
	position: absolute;
	top: -25px;
    left: 50%;
    transform: translateX(-50%);
}
.about_booth_inner_box_3::after {
	content: url('../image/about_booth_inner_box_after_3.png');
	position: absolute;
	top: -25px;
    left: 50%;
    transform: translateX(-50%);
}
.about_booth_inner_box img {
	max-width: 100%;
	height: auto;
}
h3.h3_about_booth_inner_box {
	font-size: 1.1rem;
	font-weight: 800;
	color: #106D6D;
	white-space: nowrap;
	font-family: 'Noto Sans JP', sans-serif;
}
p.p_about_booth_inner_box {
	font-size: 0.9rem;
	font-weight: 500;
	color: #106D6D;
	text-align: left;
	font-family: 'Noto Sans JP', sans-serif;
}

.about_booth_image_box {
	width: 100%;
	margin: -30px auto;
	padding: 0;
	position: relative;
	z-index: 1;
}
.about_booth_image_box img {
	max-width: 100%;
	height: auto;
}

@media screen and (min-width:671px) and (max-width:780px) {
	.about_booth {
		width: 85%;
		margin: 10px auto 0;
	}
	.about_booth_image_box {
		margin: -15px auto;
	}
}

@media screen and (min-width:481px) and (max-width:670px) {
	.about_booth {
		width: 90%;
		margin: 10px auto 0;
	}
	.about_booth_inner_box,
	.about_booth_inner_box_2,
	.about_booth_inner_box_3 {
		width: 48%;
		margin-top: 10px;
	}
	.about_booth_image_box {
		margin: -30px auto;
	}
}

@media screen and (max-width:480px) {
	.about_booth_image_box {
		margin: -80px auto;
	}

	.about_booth_inner_box,
	.about_booth_inner_box_2 {
		width: 48%;
		margin-bottom: 20px;
	}

	.about_booth_inner_box_3 {
		width: 55%;
	}
}



/* ------------------------------------------------------------------------------
	一般的に、展示会や見本市でのブース製作コストはおよそ300万円前後といわれています。
------------------------------------------------------------------------------ */
section.gray_box {
	width: 100%;
	margin: 0;
	padding-top: 50px;
	text-align: center;
	background-color: #F2F2F2;
}

p.p_brown {
	width: 82%;
	margin: 30px auto 20px;
	font-weight: 600;
	color: #191919;
	line-height: 150%;
	text-align: left;
}

.h4_box {
	position: relative;
	width: 80%;
	margin: 40px auto 15px;
	text-align: center;
}
.h4_box_mo {
	display: none;
}
h4.h4_green {
	font-size: 2.2vw;
	font-weight: 700;
	color: #0E6A6A;
	line-height: 150%;
}
span.neon_underline {
	background: linear-gradient(transparent 70%, #EFEA3A 70%);
}
.h4_box::after {
	content: url('../image/h4_after.png');
	position: absolute;
	top: -50px;
	left: 75%;
}

.flexbox_booth {
	display: flex;
	width: 90%;
	margin: 20px auto;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex_box_booth_inner {
	width: 32%;
	margin: 0;
	padding: 0;
}
.flex_box_booth_inner img {
	max-width: 100%;
	height: auto;
}

.booth_contents_1 {
	width: 100%;
	margin: 0 auto 20px;
	padding: 30px 0;
	text-align: center;
	background-color: #FFFFFF;
}

.flexbox_booth2 {
	display: flex;
	width: 90%;
	margin: 20px auto;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flex_box_booth_inner2 {
	width: 69%;
	margin: 0;
	padding: 0;
}
.flex_box_booth_inner2 img {
	max-width: 90%;
	height: auto;
}

.flex_box_booth_inner3 {
	width: 30%;
	margin: 0;
	padding: 0;
}
.flex_box_booth_inner3 img {
	max-width: 100%;
	height: auto;
}


.panel_detail_table2 {
	width: 90%;
	margin: 0 auto;
}
.panel_detail_table2 th {
	width:270px;
	background: #DFEEF9;
	border: solid 1px #000000;
	color: #000000;
	padding: 10px;
	text-align: left;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
  }
  .panel_detail_table2 td {
	background: #FFFFFF;
  	border: solid 1px #000000;
	padding: 10px;
	text-align: left;
	font-size: 14px;
	font-weight: 600;
  }

  p.panel_detail_title2 {
	margin: 15px auto 8px;
	font-weight: 600;
}
p.panel_detail_title_2_2 {
	width: 90%;
	margin: 5px auto;
	font-weight: 500;
	font-size: 13px;
	text-align: center;
}

.booth_contents_2 {
	width: 100%;
	margin: 0 auto 30px;
	padding: 0;
	text-align: center;
}

.booth_contents_1 img,
.booth_contents_2 img {
	max-width: 100%;
	height: auto;
}

h4.h4_title {
	width: 60%;
	margin: 0 auto 20px;
	padding: 15px 0;
	font-size: 1.5rem;
	font-weight: 700;
	color: #FFFFFF;
	background-color: #11877A;
	text-align: center;
}

p.panel_detail_title {
	margin: 0 auto 15px;
	font-weight: 600;
}
p.panel_detail_title_2 {
	width: 60%;
	margin: 0 auto 25px;
	font-weight: 500;
	font-size: 12px;
	text-align: left;
}
.panel_detail_table {
	width: 60%;
	margin: 0 auto;
}
.panel_detail_table th {
	background: #DFEEF9;
	border: solid 1px #000000;
	color: #000000;
	padding: 10px;
	text-align: left;
	font-weight: 600;
	font-size: 12px;
  }
  .panel_detail_table td {
	background: #FFFFFF;
  	border: solid 1px #000000;
	padding: 10px;
	text-align: left;
	font-weight: 600;
	font-size: 12px;
  }

@media screen and (min-width:881px) {
	.booth_contents_2 {
		display: none;
	}
}

  
@media screen and (max-width:880px) {
	.flexbox_booth2 {
		display: none;
	}
	.booth_contents_2 {
		display: block;
	}
	.panel_detail_table {
		width: 80%;
		border-bottom: solid 1px #000000;
		}
	.panel_detail_table th,
	.panel_detail_table td {
		border-bottom: none;
		display: block;
		width: 100%;
		text-align: center;
	}
	p.panel_detail_title_2 {
		width: 80%;
	}
}

@media screen and (max-width:580px) {
	section.gray_box {
		padding-top: 50px;
	}
	.h4_box {
		display: none;
	}
	.h4_box_mo {
		display: block;
		position: relative;
		width: 90%;
		margin: 70px auto 15px;
		text-align: center;
	}
	h4.h4_green {
		font-size: 1.0rem;
	}
	.h4_box_mo::after {
		content: url('../image/h4_after.png');
		position: absolute;
		top: -65px;
		left: 65%;
	}
	.flex_box_booth_inner {
		width: 45%;
		margin: 5px auto;
	}
	h4.h4_title {
		width: 90%;
		font-size: 1.2rem;
	}
	.last td:last-child {
		border-bottom: solid 1px #000000;
		width: 100%;
	}
	p.panel_detail_title_2 {
		margin: 15px auto;
	}
}

@media screen and (min-width:481px) and (max-width:680px) {
	h3.h3_title {
		font-size: 1.2rem;
	}
}

@media screen and (max-width:480px) {
	section.gray_box {
		padding-top: 70px;
	}
	h3.h3_title {
		font-size: 1.0rem;
	}
}

@media screen and (max-width:430px) {
	section.gray_box {
		padding-top: 50px;
	}
}

/* ------------------------------------------------------------
	次世代の展示ブースは
------------------------------------------------------------ */
.merit_box {
	position: relative;
	width: 100%;
	height: 0;
    margin: 0;
	padding: 0;
}

.merit_box img {
	max-width: 100%;
	height: auto;
	z-index: 1;
}

.h4_box_2 {
	position: absolute;
	top: 30px;
	left: 20%;
	width: 60%;
	margin: 20px auto;
	z-index: 3;
}

.h2_box {
	position: absolute;
	top: 120px;
	left: 10%;
	width: 80%;
	margin: 20px auto;
	z-index: 3;
}

.flex_merit_box {
	display: flex;
	width: 80%;
	margin: 40px auto 20px;
	padding-top: 240px;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex_merit_box_inner_1,
.flex_merit_box_inner_2,
.flex_merit_box_inner_3,
.flex_merit_box_inner_4 {
	position: relative;
	width: 47%;
	padding: 20px;
	background-color: #F2F2F2;
}
.flex_merit_box_inner_1,
.flex_merit_box_inner_2 {
	margin: 0 auto 60px;
}
.flex_merit_box_inner_3,
.flex_merit_box_inner_4 {
	margin: 0 auto;
}
.flex_merit_box_inner_1::before {
	content: url('../image/flex_merit_box_no1.png');
	position: absolute;
	top: -47px;
	left: 0;
}
.flex_merit_box_inner_2::before {
	content: url('../image/flex_merit_box_no2.png');
	position: absolute;
	top: -47px;
	left: 0;
}
.flex_merit_box_inner_3::before {
	content: url('../image/flex_merit_box_no3.png');
	position: absolute;
	top: -47px;
	left: 20px;
}
.flex_merit_box_inner_4::before {
	content: url('../image/flex_merit_box_no4.png');
	position: absolute;
	top: -47px;
	left: 20px;
}
p.flex_merit_box_title {
	width: 100%;
	color: #11877A;
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 auto 10px;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
}
p.flex_merit_box_explanation {
	width: 86%;
	margin: 0 auto 10px;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 150%;
	text-align: left;
	font-family: 'Noto Sans JP', sans-serif;
}
p.flex_merit_box_image_box {
	width: 100%;
	margin: 0 auto 10px;
}
p.flex_merit_box_image_box img {
	max-width: 100%;
	height: auto;
}

@media screen and (max-width:940px) {
	.flex_merit_box_inner_1::before {
		content: url('../image/flex_merit_box_no1_tb.png');
		position: absolute;
		top: -47px;
		left: 0;
	}
	.flex_merit_box_inner_2::before {
		content: url('../image/flex_merit_box_no2_tb.png');
		position: absolute;
		top: -47px;
		left: 0;
	}
	.flex_merit_box_inner_3::before {
		content: url('../image/flex_merit_box_no3_tb.png');
		position: absolute;
		top: -47px;
		left: 0;
	}
	.flex_merit_box_inner_4::before {
		content: url('../image/flex_merit_box_no4_tb.png');
		position: absolute;
		top: -47px;
		left: 0;
	}
}

@media screen and (max-width:580px) {
	.h4_box_2 {
		position: absolute;
		top: 20px;
		left: 10%;
		width: 80%;
		margin: 15px auto;
	}
	.h2_box {
		position: absolute;
		top: 80px;
		left: 10%;
		width: 80%;
	}
	.flex_merit_box {
		width: 85%;
		padding-top: 220px;
	}
	.flex_merit_box_inner_1,
	.flex_merit_box_inner_2,
	.flex_merit_box_inner_3 {
		width: 90%;
		margin: 0 auto 60px;
	}
	.flex_merit_box_inner_4 {
		width: 90%;
		margin: 0 auto;
	}
	.flex_merit_box_inner_1::before {
		content: url('../image/flex_merit_box_no1_tb.png');
		position: absolute;
		top: -50px;
		left: 0;
	}
	.flex_merit_box_inner_2::before {
		content: url('../image/flex_merit_box_no2_tb.png');
		position: absolute;
		top: -50px;
		left: 0;
	}
	.flex_merit_box_inner_3::before {
		content: url('../image/flex_merit_box_no3_tb.png');
		position: absolute;
		top: -50px;
		left: 0;
	}
	.flex_merit_box_inner_4::before {
		content: url('../image/flex_merit_box_no4_tb.png');
		position: absolute;
		top: -50px;
		left: 0;
	}
}

/* ------------------------------------------------------------
	制作実績
------------------------------------------------------------ */
section.blue_box {
	width: 100%;
	margin: 0 auto;
	padding: 30px 0;
	background-color: #DFEEF9;
}

p.p_brown_center {
	width: 80%;
	margin: 0 auto 15px;
	font-weight: 600;
	color: #191919;
	line-height: 150%;
	text-align: center;
}

@media screen and (max-width:580px) {
	p.p_brown_center {
		text-align: left;
		margin: 15px auto;
		font-size: 0.9rem;
	}
}



/* ------------------------------------------------------------
	事例
------------------------------------------------------------ */
.case {
	padding: 50px 0 60px;
}

.case__title span {
	padding: 0.2em 30px;
}

.case__container {
	max-width: 900px;
	margin: 0 auto;
	padding: 20px;
}

.case__lists {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 25px 20px;
	margin-bottom: 30px;
}

.case__item {
	list-style: none;
}

.case__item-img {
	overflow: hidden;
	aspect-ratio: 7 / 4;
}

.case__item-img img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
	transition: all 0.2s;
}

.case__item-img img:hover {
	transform: scale( 1.2, 1.2 );
}

.case__item-wrap {
	display: flex;
	flex-direction: column;
}

.case__item-release {
	color: #737373;
	font-size: 14px;
}

.case__item-title {
	margin: 5px 0 10px;
	font-size: 18px;
	color: #191919;
}

.case__btn {
	width: fit-content;
	margin: 0 auto;
	background-color: #065e58;
	border: 1px solid #065e58;
	border-radius: 50px;
	
	transition: all 0.2s;
}

.case__btn:hover {
	background-color: transparent;
}


.case__btn-link {
	padding: 5px 30px;
	color: #fff;
	font-size: 20px;
}

.case__btn-link:hover {
	color: #065e58;
}

/* sp */
@media not screen and (min-width: 768px) {
	.case {
		padding: 30px 0;
	}

	.case__container {
		margin-top: 20px;
	}

	.case__lists {
		display:flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-bottom: 15px;
	}

	.case__item {
		width: 100%;
	}

	.case__btn-link {
		font-size: 16px;
	}

	.case__item-img {
		/* aspect-ratio: auto; */
	}
}



/* ------------------------------------------------------------
	価格表
------------------------------------------------------------ */

section.plice_box {
    width: 100%;
    margin: 0 auto;
    padding: 30px 0;
}

.cost {
	padding: 50px 0;
	/* background-color: #DFEEF9; */
}

.cost__title {
	margin-top: 30px;
}

.cost__title span {
	padding: 0.2em 30px;
}


.cost__container {
	max-width: 900px;
	margin: 0 auto;
	padding: 20px;
}

.cost__item {
	list-style: none;
	margin-bottom: 20px;
}

.cost__item-title {
	background: linear-gradient(-90deg, #7ed957 0%, #0E6A6A 100%);
	padding: 10px 30px;
	color: #fff;
	font-size: 20px;

	display: flex;
	justify-content: space-between;
	align-items: center;
}


.cost__item-title .icon {
	display: block;
	width: 24px;
	margin-left: 6px;
	flex-shrink: 0;
	transform-origin: center 43%;
	transition: transform 0.4s;

	position: relative; /* 下記擬似要素の基準位置 */
}

.cost__item-title .icon::before {
	position: absolute; /* 上記 .cost__item-title .icon にて位置決め */
	left: 0;
	transform: rotate(45deg);

	content: "";
	display: block;
	width: 15px;
	height: 3px;
	background-color: #0E6A6A;
}

.cost__item-title .icon::after {
	position: absolute; /* 上記 .cost__item-title .icon にて位置決め */
	right: 0;
	transform: rotate(-45deg);

	content: "";
	display: block;
	width: 15px;
	height: 3px;
	background-color: #0E6A6A;
}

.cost__item.is-opened .icon {
	transform: rotate(90deg);
}


.cost__item .cost__item-table {
	width: 100%;
	margin-top: 20px;
}

.cost__item .cost__item-table th,td {
	border: 1px solid #fff;
	padding: 10px;
	text-align: center;
	
}

.cost__item .cost__item-table thead tr th {
	background-color: rgba(39, 134, 122, 0.7);
	color: #fff;
	font-size: 18px;
	font-weight: 500;
}

.cost__item .cost__item-table tbody tr td {
	background-color: #EEEEEE;
	white-space: nowrap;
}

.cost__item .cost__item-table tbody tr td:first-child {
	white-space: wrap;
}

.cost__item .cost__item-total {
	font-size: 18px;
	font-weight: 600;
	text-align: right;
}

.cost__item .cost__item-note {
	font-size: 14px;
	text-align: right;
}

summary {
  list-style-type: none;
}

.cost__item-content {
	overflow: hidden;
	background-color: #fff;
}

.cost__item-contentInner {
	/* padding: 0 20px; */
}


/* sp */
@media not screen and (min-width: 768px) {
	.cost {
		padding: 30px 0;
	}

	.cost__item-contentInner {
		/* padding: 0 10px; */
	}
	
	.cost__item-title {
		font-size: 14px;
		padding: 10px;
	}


	.cost__item .cost__item-table thead tr th {
		font-size: 14px;
	}
	
	.cost__item .cost__item-table tbody tr td {
		font-size: 12px;
	}

	.cost__item .cost__item-table tbody tr td:first-child {
		white-space: wrap;
	}

	.cost__item .cost__item-total {
		font-size: 14px;
	}
}



/* お問い合わせ
------------------------------------------------------------ */
p.contact_p {
	width: 60%;
	margin: 0 auto 15px;
	padding: 0;
	line-height: 150%;
	text-align: center;
}

@media screen and (max-width: 580px) {
	p.contact_p {
		width: 85%;
		text-align: left;
	}
}

/* Form table
------------------------------------------------------------ */
div.formbox{
	width:85%;
	margin:0 auto;
}
	
@media (max-width: 769px) and (min-width: 481px) {
	div.formbox {
		width:90%;
		margin:0 auto;
	}
}
	
@media (max-width: 480px) {
	div.formbox {
		width: 95%;
		margin: 0 auto;
	}
}
dd.fx {
	text-align: center;
}
div.table {
	width: 100%;
	margin: 20px auto 0;
}
.table dl,.table dt,.table dd {
	margin: 0 auto;
	font-size: 1rem;
}
.table dl {
	display: table;
	border: 1px solid #CCCCCC;
	border-style: none solid none solid;
	width: 100%;
}
.table dl:last-child {
	border-style: none solid solid solid;
}
.table dt {
	font-weight: 500;
	vertical-align: middle;
	display: table-cell;
	padding: 3px 0 3px 15px;
	min-height: 1.5em;
	text-align: left;
	border-top: 1px solid #ccc;
	width: 30%;
}
.table dd {
	display: table-cell;
	min-height: 1.5em;
	background: #FFFFFF;
	border-top: 1px solid #ccc;
	padding:15px 0 10px 20px;
}
dd.inner-c {
	width: 100%;
	padding: 0;
}
dl.inner-a {
	width: 100%; 
	padding: 0; 
	margin: 0; 
	text-align: left;
}
dt.inner-b {
	vertical-align: middle;
	display: table-cell;
	background: #CCFFFF; 
	width: 50%;
}
span.red {
	color: crimson;
	font-size: 1rem;
}
input[type=date]::-webkit-calendar-picker-indicator {
	width: 150px;
	height: 30px;
}
input[type=date]::-webkit-calendar-picker-indicator:before {
	color: #666;
	font-family: FontAwesome;
	content: "\f073";
}
.privacy_box {
	width: 100%;
	height: 200px;
	margin: 20px auto 0;
	padding: 5px;
}

@media screen and (max-width: 970px) {
	div.table {
		width: 93%;
		margin: 20px auto 0;
	}
	.table dd {
		border-left: none;
		margin-left: auto;
			text-align: left;
	}
	.table dt {
		padding-left: 5px;
		text-align: left;
		width: auto;
		font-weight: 600;
	}
	.table dl {
		width: auto;
		max-width: 100%;
	}
	.table dt,.table dd,.table dl {
		display: block;
		font-size: 1rem;
	}
	dd.inner-c {
		width: 100%;
		text-align: left;
	}
	dl.inner-a {
		width: 100%; 
		padding: 0; 
		margin: 0; 
		text-align: left;
	}
	dt.inner-b {
		background: #CCFFFF; 
		width: 100%; 
		text-align: left;   
	}
	span.red {
		color: crimson;
		font-size: 1rem;
	}
	input[type=date]::-webkit-calendar-picker-indicator {
		width: 150px;
		height: 30px;
	}
	input[type=date]::-webkit-calendar-picker-indicator:before {
		color: #666;
		font-family: FontAwesome;
		content: "\f073";
	}
}

/* ------------------------------------------------------------
	gallery
------------------------------------------------------------ */
.gallery_box {
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	background-color: #71C7D5;
}

/* Footer
------------------------------------------------------------ */
section.footer {
	width: 100%;
	margin-top: auto;
	padding: 40px 0;
	background-color: #DFEEF9;
}


h2.h2_footer {
	width: 95%;
	margin: 0 auto 10px;
	text-align: left;
	font-size: 0.8rem;
	font-weight: 600;
}

.footer_content {
	width: 95%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.footer_content_wrap {
	width: 30%;
	min-width: 180px;
	display: flex;
	align-items: center;
	flex-direction: column;
}


.footer_content_logo {

}

.footer_content_inner_tel {

}

.footer_content_inner_base {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}


p.company_name {
	font-size: clamp( 12px, 1.3vw, 18px); /* 16 ÷ 1400 × 100 */
	font-weight: 600;
	line-height: 180%;
	margin: 0;
}

p.company_add {
	font-size: clamp( 11px, 1.2vw, 14px);
	margin: 0 0 0 10px;
}

@media screen and (min-width: 581px) {
	.base-1 { /* 大阪 */
		order: 1;
	}
	.base-2 { /* 東京 */
		order: 3;
	}
	.base-3 { /* 札幌 */
		order: 5;
	}
	.base-4 { /* 名古屋 */
		order: 7;
	}
	.base-5 { /* 広島 */
		order: 2;
	}
	.base-6 { /* 福岡 */
		order: 4;
	}
	.base-7 { /* 沖縄 */
		order: 6;
	}

}

@media screen and (max-width: 580px) {
	h2.h2_footer {
		width: 95%;
		text-align: center;
	}

	.footer_content {
		flex-direction: column;
	}

	.footer_content_wrap {
		width: 90%;
		margin: 0 auto;
	}

	.footer_content_inner_base {
		grid-template-columns: 1fr;
		gap: 10px;
	}


	p.company_name {
		font-size: clamp( 12px, 3.1vw, 14px); /* 16 ÷ 375 × 100 */
	}

	p.company_add {
		font-size: clamp( 12px, 3vw, 14px);
	}
}

/* Copyright
------------------------------------------------------------ */
div.copyright {
  width:100%;
  padding-top: 7px;
  padding-bottom: 7px;
	background-color: #106D6D;
	color:#fff;
  font-size: 0.8rem;
	text-align: center;

	position: absolute;
	bottom: 0;
}

@media (max-width: 769px) {
	div.copyright {
		width: 100%;
		padding-top: 6px;
		padding-bottom: 6px;
		font-size: 0.8rem;
	}
}

/* totop
------------------------------------------------------------ */
.page_top {
	color: #fff;
	font-size: 1.5rem;
	line-height: 50px;
	text-align: center;
	text-decoration: none;
	
	position: fixed;
	bottom: 1.5rem;
	right: 1rem;
	z-index: 77777;
	
	display: none;
	width: 50px;
	height: 50px;
	background-color: #7ed957;
	border-radius: 100px;
	/* background: url(../image/totop.png) no-repeat top center; */
	
	cursor: pointer;
}

.page_top:hover {
	background-color: rgb(126, 217, 87, 0.6);
}

.page__top-link {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-top: 4px solid #fff;
  border-left: 4px solid #fff;
  transform: rotate(45deg);
	
	position: absolute;
	top: 19px;
	left: 15px;
}


/* pc */
@media screen and (min-width: 960px) {
	.page_top {
		width: 60px;
		height: 60px;
	}

	.page__top-link {
		width: 25px;
  	height: 25px;
  	border-top: 5px solid #fff;
  	border-left: 5px solid #fff;

		top: 22px;
		left: 17.5px;
	}
}




/* アニメーション */

.wp1, .wp2, .wp3, .wp4, .wp5, .wp6 {
    visibility: hidden
}
.bounceInLeft, .bounceInRight, .fadeInUp, .fadeInUpDelay, .fadeInDown, .fadeInUpD, .fadeInLeft, .fadeInRight, .bounceInDown {
    visibility: visible
}

.delay-01s {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
}

.delay-03s {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
}

.delay-05s {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}

.delay-07s {
    -webkit-animation-delay: 0.7s;
    animation-delay: 0.7s;
}
.delay-1s {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}



.navicon {
    position: relative;
	
    height: 0px;
	background-color: #fff;
}

.navicon-fixed {
    position: fixed;
    top: 59px;
    right: 143px;
}

.wrap-header{
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: 8px;
    margin-right: 75px;
}

.A{
height: 3.5vw;
    border-right: solid;
    border-width: thin;
    padding-right: 7px;
}

.A img{
    height: 3.5vw;
}

.B{
    padding-left: 5px;
    height: 3.5vw;
}
.B img{
height: 3.5vw;
}

.C{
height: 3.5vw;
text-align: right;
margin-right: 80px;
}

.C img{
height: 1.42vw;
}


/* ナビゲーション　オーバーレイ */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(74,168,159,0.7);
	z-index: 100;
}

/* Menu style */
.overlay nav {
	width: 94%;
	margin:0 auto;
    position: relative;
    top: 40%;
    height: 60%;
    text-align: center;
    font-size: 54px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.overlay ul {
    position: relative;
    display: inline-block;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.overlay ul li {
    display: block;
    margin:10px 0 0 0;
}
.overlay ul li:last-child {
    margin-right: 0px
}
.overlay ul li i {
    display: block;
    margin-bottom: 10px;
    font-size: 40px;
}
.overlay ul li a {
    display: block;
    padding: 15px 0;
    min-width: 210px;
    border: 2px solid #fff;
    border-radius: 3px;
    background-color: #005c56;
    color: #fff;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 15px;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.overlay ul li a:hover, .overlay ul li a:focus {
    border-color: #73d0da;
    color: #73d0da;
}



@media screen and (max-width:640px){
	.use-btn{display:none;}
	footer li{display:block;text-align:left;padding:20px 0;border-bottom:dashed 1px #c7cacc;margin-right:0!important;float:none;}
	/* nav{margin-top:40px;} */
	.overlay ul{margin-left:0px;}
	.overlay ul li a {
		padding: 11px 0;
		min-width: 210px;
		font-size: 12px;
	}
}

@media screen and (max-width: 640px) {
	.overlay ul {
		margin: 0px;
		
	}
}

/* オーバーレイ アニメーション */
.overlay {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.5s, visibility 0s 0.5s;
    transition: opacity 0.5s, visibility 0s 0.5s;
}
.overlay.open {
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
}
.overlay nav ul li {
    opacity: 0;
    -webkit-transform: translate3d(0, -80px, 0);
    transform: translate3d(0, -80px, 0);
    -webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
    transition: transform 0.5s, opacity 0.5s;
}

.overlay.open nav ul li {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}



