/*
Theme Name: maiko
Author: Ycreer
Version: 1.0
Description: maiko theme
*/

@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/* ===================================================================
// 基本スタイル
// ===================================================================*/

html {
  font-size: 62.5%;
  font-family: 'Noto Sans JP', sans-serif;
  font-family: "hiragino kaku gothic pron",meiryo,"segoe ui","yu gothic",sans-serif;
  -webkit-font-feature-settings: "pkna" 1;
          font-feature-settings: "pkna" 1;
  height: 100%;
  scroll-behavior: smooth;
}


body {
 margin: 0;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1;
  color: #000;
  font-weight: 400;
  overflow-x: hidden;
  height: 100%;
  max-width: 100%;
}
#index{
	width: calc(100% - 230px);
	margin-left: 230px;
	overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.5rem;
  }
  #index{
	  width:100%;
	  margin-left: 0;
  }
}


/* ボックスサイズ */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* 行間 */
p{
  line-height: 1.6;
  font-family: "hiragino kaku gothic pron",meiryo,"segoe ui","yu gothic",sans-serif;
}

div, h1, h2, h3, h4, h5 {
  line-height: 1.2;
}

/* リンク */
a {
  text-decoration: none;
  -webkit-transition: .3s;
  transition: .3s;
  color: #000;
}


  a:hover {
    opacity: .7;
  }



/*  パンくずリスト　*/
.bread {
  padding: 1rem 2rem;
	width: 100%;
	margin: 0;
}

.bread ul {
  display: -webkit-box;
  display: -ms-flexbox;
  flex-wrap: wrap;
  display: flex;
  align-items: center;
  align-content: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.bread ul li {
  margin-right: 1rem;
  color: #000;
  font-weight: 400;
  font-size: 13px;
  line-height: 15px;
  margin-bottom: 1rem;
}
.bread ul li a{
	color: #00A9E3;
	border-bottom: 1px solid #00A9E3;
    font-size: 13px;
	font-weight: 400;
	line-height: 14px;
}
.bread ul li:after {
  content: ">";
  margin-left: 1rem;
  font-weight: 300;
  font-size: 12px;

}

.bread ul li:last-child:after {
  display: none;
}

@media screen and (max-width: 767) {
	.bread {
	padding: 2rem 2rem 7rem;
	  background-color: #F3AE1B;
	  width: 100%;
	  margin: 0;
  }
  .bread ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .bread ul li {
    margin-right: .4rem;
    font-size: 12px;
	font-weight: 300;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .bread ul li:after {
    margin-left: .4rem;
  }
  .bread ul li:last-child:after {
    display: none;
  }
}



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

.object_fit_img {
  -o-object-fit: cover;
     object-fit: cover;
}
/* flex */
.flex_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 1020px) {
  .flex_wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

/* width */
.inner {
  width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 1020px) {
  .inner {
    width: calc(100% - 4rem);
	text-align: center;
	gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .inner {
    width: 80%;
	margin: auto 10%;
  }
}
/* pc & sp */
.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

.btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  padding: 5rem 0 0;
  overflow: hidden;
}


@media screen and (max-width: 767px) {
  .btn_area {
	  padding: 0;
	  margin-top: 3rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
	 .btn_area a{
	margin: 0;
	padding: 1rem 0;
}
}

.btn{
    padding: 1rem 6rem;
    background-color:#FFAD2B;
    font-weight: bold;
	color: #fff;
	border-radius: 45px;
	font-size: 1.8rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
box-shadow: 0px 0px 8px #3333330D;
position: relative;
text-align: center;

}
.btn:hover{
	opacity: 1;
	color: #FFAD2B;
	background-color: #fff;
}
.btn::after {
	content: '';
	position: absolute;
	right: 20px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(0, -50%) rotate(45deg);
  }

  @media screen and (max-width: 787px) {
	.btn{
		width: 80%;
		font-size: 1.6rem;
	}
  }


/* CSS Document */


.ttl_b{
	text-align: center;
	margin-bottom: 3rem;
}
 .ttl_b p {
	color: #00A9E3;
	font-size: 1.6rem;
	font-family: lato, sans-serif;
font-weight: 400;
font-style: normal;
}
 .ttl_b h2{
	font-size: 2.2rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}


@media screen and (max-width: 767px) {
	.btn_area .triangle{
		position: absolute;
		right: 3px;
		bottom: 3px;
	  }
	
	.ttl_b2 p {
	 font-size: 1.4rem;
   }
	.ttl_b2 h2{
	   font-size: 1.8rem;
   }
}
/*========= テキストを滑らかに出現させるためのCSS ===============*/
span.smoothText {
	overflow: hidden;
	display: block;
  }
  
  /* アニメーションで傾斜がついている文字列を水平に戻す*/
  span.smoothTextTrigger{
	transition: 1.0s ease-in-out;
	transform: translate3d(0,100%,0) skewY(18deg);
	transform-origin: left;
	display: block;
  }
  span.smoothTextTrigger.smoothTextAppear{
	  transform: translate3d(0,0,0) skewY(0);
  }

/* ===================================================================
// メインビジュアル、タイトル
// ===================================================================*/
#mainimg {
  position: relative;
	display: block;
	width: calc(100% - 230px);
	margin-left: 230px;
}
#mainimg .mainimg_contents {
	width: 100%;
	height: 100vh;
	position: relative;
}
#mainimg .mainimg_contents ul{
	width: 100%;
	height: 100vh;
	background-color: #fff;
}
#mainimg .mainimg_contents ul li{
	width: 100%;
	height: 100vh;
}
#mainimg .mainimg_contents ul li video{
	width: 100%;
	height: 100vh;
	object-fit: cover;
}
@media screen and (max-width: 767px) {
	#mainimg {
		padding-top: 5rem;
		  width:100%;
		  margin-left: 0;
	  }
	  #mainimg .mainimg_contents {
		  width: 100%;
		  height: 50vh;
		  position: relative;
	  }
	  #mainimg .mainimg_contents ul{
		  width: 100%;
		  height: 50vh;
		  background-color: #fff;
	  }
	  #mainimg .mainimg_contents ul li{
		  width: 100%;
		  height: 50vh;
	  }
	  #mainimg .mainimg_contents ul li video{
		  width: 100%;
		  height: 50vh;
		  object-fit: cover;
	  }
}
#mainimg .mainimg_contents .information {
  position: absolute;
	color: #FFFFFF;
	bottom: 10%;
    left: 5%;
	width: 80%;
	text-align: left;
	z-index: 99;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
#mainimg .mainimg_contents .information h2{
	font-size: 5rem;
}
#mainimg .mainimg_contents .information span{
	font-size: 3rem;
}
#mainimg .mainimg_contents .information p{
	font-size: 2.4rem;
	color: #00A9E3;
	background-color: #fff;
	padding: 0rem 1rem;
	display: inline-block;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
margin-top: 2rem;
}
@media screen and (max-width: 767px) {
	#mainimg .mainimg_contents .information {
		bottom: 10%;
		left: 5%;
		width: 95%;
	}
	#mainimg .mainimg_contents .information h2{
		font-size: 2.5rem;
	}
	#mainimg .mainimg_contents .information span{
		font-size: 1.5rem;
	}
	#mainimg .mainimg_contents .information p{
		font-size: 1.2rem;
		padding: 0rem 0.5rem;
	margin-top: 1rem;
	}
}



@media screen and (max-width: 767px) {
  h2 {
    font-size: 1.8rem;
    letter-spacing: .2rem;
	  font-weight: 700;
  }
}

/* ===================================================================
// main
// ===================================================================*/



/* ===================================================================
// ヘッダー,
// ===================================================================*/
header {
  width: 230px;
  height: 100%;
	background: #00A9E3;
	position: fixed;
	z-index: 999;
	padding: 0 0 3rem;
	justify-content: space-between;
	display: flex;
	flex-direction: column;
	/*
	overflow-y: scroll;
	*/
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
}
header h1{
	width: 100%;
	justify-content: center;
	text-align: center;
	padding-top: 2rem;
	padding-bottom: 2rem;
	background: #fff;
	margin-top: 0;
}
header h1 a{
	text-align: center;
	width: 100%;
	margin: 0;
	padding: 0;
}
header h1 a img {
	width: 70%;
	margin: auto 15%;
}

header nav{
	background-color: #fff;
}
header nav ul li{
	border-bottom: 1px solid #fff;
}
header nav ul li a{
	color: #fff;
	justify-content: flex-start!important;
	text-align: left;
	gap: 1rem;
	padding: 1.5rem 2rem;
	align-items: center;
	background-color: #00A9E3;
	align-content: center;
}
header nav ul li a::after {
	content: '';
	position: absolute;
	right: 23px;
	top: 50%;
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(0, -50%) rotate(45deg);
  }
header nav ul li a img{
	width: 3rem;
	height: 3rem;
	object-fit: contain;
}
header nav ul li a p{
	line-height: 1.7rem;
	font-size: 1.6rem;
	text-align: left;
	margin-top: -0.5rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
header nav ul li a p span{
	color: #fff;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2rem;
	letter-spacing: 0.1rem;
	font-family: lato, sans-serif;
font-weight: 500;
font-style: normal;
}
header nav ul li a:hover{
	background-color: #fff;
	color: #00A9E3;
	opacity: 1;
}
header nav ul li a:hover p span{
	color: #00A9E3;
}

.nav_contact{
	padding-bottom: 0%;
}
.nav_contact ul{
	padding: 5% 8%;
}
.nav_contact ul li{
	background-color: #00A9E3;
}
.nav_contact ul li a{
	background-color: #fff;
	color: #00A9E3;
	justify-content: flex-start!important;
	text-align: left;
	gap: 1rem;
	padding: 0.5rem 1rem 0.6rem 2rem;
	align-items: center;
	align-content: center;
	border-radius: 45px;
	margin-bottom: 0.5rem;
	position: relative;
}
.nav_contact ul li a img{
	width: 1.5rem;
	height: 1.5rem;
	object-fit: contain;
}
.nav_contact ul li a p{
	color: #00A9E3;
	line-height: 2rem;
	font-size: 1.3rem;
	text-align: left;
	font-weight: 400;
}
.nav_contact ul li a:hover{
	opacity: 0.6;
}
.nav_contact ul li.menu2_contact{
	background-color: #fff;
	border-bottom: 0px solid #DCDDDD;
	color: #F3AE1B;
	padding: 0.5rem 2rem;
	font-family: "barlow";
	font-weight: 500;
}
.nav_contact ul li:last-child{
	border-bottom: 0px solid #DCDDDD;
}
  @media screen and (max-width: 767px) {
	header{
		box-shadow: 0px 0px 5px rgba(0, 0, 0, 0);
	background: #fff;
	width: 100%;
	height: 5rem;
	padding: 1.5rem 0 1rem 1rem;
	}
	header .nav_contact,
	header .nav_main .mainnav{
		display: none;
	}
	header h1{
		width: 55%;
		height: auto;
		justify-content: center;
		text-align: center;
		margin-top: 0;
		padding-bottom: 0;
		margin-left: 1rem;
		background: none;
		padding-top: 0;
	}
	header h1 a{
		text-align: center;
		width: 100%;
		margin: 0;
		padding: 0;
	}
	header h1 a img {
		width: 100%;
		margin: auto 0;
	}
	header nav ul li a{
		background-color: #fff;
	}
}

.fixed {
  position: fixed;
  width: 100%;
}

.overrayer {
  position: fixed;
  width: 100%;
  height: calc(100% - 60px);
  z-index: 101;
  background-color: var(--thema-color);;
  top: 60px;
  left: 0;
  display: none;
}

.has-child{
	position: relative;
}
.has-child ul{
	position: absolute;
	top: 0;
	z-index: 100;
	left: 235px;
	background: #fff;
	opacity: 0;
}
.has-child:hover ul{
	opacity: 1;
	width: 100%;
	transition: all 0.4s ease;
}
.has-childul li{
	display: block;
	width: 100%;
}
.has-child ul li a{
	border-bottom: 1px solid #F4F4F4;
	width: 100%;
	display: block;
	padding: 1rem;
	font-size: 1.5rem;
}
.has-child ul li a:hover{
	background-color: #F4F4F4;
	opacity: 1;
}
.contact_sp{
	background-color: #FFAD2B;
	width: 50px;
	height:50px;
	text-align: center;
	color: #fff;
	position: absolute;
	right: 50px;
	top: 0;
	font-size: 0.7rem;
	align-items: center;
	align-content: center;
}
.contact_sp img{
	margin-top: 1.2rem;
	width: 2rem;
	height: auto;
	margin-bottom: 0.5rem;
}

/* ===================================================================
// フッター
// ===================================================================*/
footer .copy{
  font-size: 1.4rem;
  text-align: center;
	color: #fff;
	width: 100%;
	background: #00A9E3;
	font-weight: 400;
	font-style: normal;
	padding: 1.5rem 5%;
}
footer .copy a{
	align-self: center;
	color: #fff;
}
@media screen and (max-width: 767px) {
	footer .copy a{
		width: 100%;
		font-size: 1.4rem;
		margin-bottom: 1rem;
	}
}
footer{
	background: #F6F3F0;
	padding-top: 0;
	margin-top: 0;
	font-weight: 400;
	font-style: normal;
	width: calc(100% - 230px);
	margin-left: 230px;
}

.footer_menu{
	padding: 5% 5% 4%;
}
.footer_menu ul{
	justify-content: flex-start;
	gap: 0;
	flex-wrap: wrap;
}
.footer_menu ul li{
	width: auto;
	margin-bottom: 2.2rem;
	font-size: 1.4rem;
	font-weight: 400;
	margin-right: 4rem;
}
.footer_menu ul li a{
	position: relative;
	padding-right: 1.5rem;
}
.footer_menu ul li a::after {
	content: '';
	position: absolute;
	right: 0px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #00A9E3;
	border-right: 2px solid #00A9E3;
	transform: translate(0, -50%) rotate(45deg);
  }
.foot_banner{
	gap: 3%;
	margin-top: 1.5rem;
	justify-content: flex-start;
}
.foot_banner a{
	width: 25%;
}
.foot_banner a img{
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	footer{
		width:100%;
		margin-left: 0;
	}
  .footer {
    padding: 4rem 0 2rem;
  }
  .footer_menu{
	  padding: 12% 5% 4%;
  }
  .foot_banner{
	margin-bottom: 15%;
  }
  .foot_banner a{
	  width: 90%;
	  margin-top: 1rem;
	  display: block;
  }
  .footer_menu ul{
	margin-bottom: 8%;
  }
  .footer_menu ul li{
	width: 35%;
  }
  .footer_menu ul.footermenu2 li{
	width: 100%;
  }
}


/* ===================================================================
// メイン
// ===================================================================*/


/* ----------- トップメッセージ -------- */
.top_message{
	text-align: center;
	position: relative;
	padding: 7% 5%;
}
.top_message h2{
	font-size: 2.8rem;
	color: #00A9E3;
	margin-bottom: 3rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
line-height: 4rem;
}
.top_message p{
	margin-bottom: 1.5rem;
}
.top_message img.mesimg1{
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
.top_message img.mesimg2{
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	.top_message{
		text-align: center;
		position: relative;
		padding: 20% 5% 25%;
	}
	.top_message h2{
		font-size: 2.2rem;
	line-height: 3.5rem;
	text-align: left;
	}
	.top_message p{
		font-size: 1.6rem;
		text-align: left;
		margin-bottom: 2rem;
	}
	.top_message img.mesimg1{
		width: 25%;
	}
	.top_message img.mesimg2{
		width: 25%;
	}
}

/* ----------- こんなことでお困りはありませんか？ -------- */
.top_okomari{
	background: #EFF9FD;
	padding: 10% 5% 2%;
}
.top_okomari h2{
	text-align: center;
	font-size: 2.4rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
.top_okomari h2 img{
	margin-top: -2rem;
	margin-right: -0.2rem;
	width: 3rem;
	height: auto;
}
.top_okomari ul{
	gap: 3%;
	flex-wrap: wrap;
	margin-top: 5%;
}
.top_okomari ul li{
	width: calc(97% / 2);
	gap: 2%;
	background-color: #fff;
	border-radius: 5px;
	padding: 0 2rem;
	margin-bottom: 2rem;
	align-items: center;
	align-content: center;
	box-shadow: 0px 0px 8px #33333314;
	text-align: left;
}
.top_okomari ul li img{
	width: 20%;
	height: auto;
}
.top_okomari ul li p{
	width: 78%;
	text-align: left;
}
.triangledown{
  width: 100%;
  height: 70px;
  border-left: 610px solid transparent;
  border-right: 610px solid transparent;
  border-top: 100px solid #EFF9FD;
}
@media screen and (max-width: 767px) {
	.top_okomari{
		background: #EFF9FD;
		padding: 25% 5% 10%;
	}
	.top_okomari h2{
		font-size: 1.8rem;
		line-height: 2.8rem;
	}
	.top_okomari h2 img{
		margin-top: -1rem;
		margin-right: -0.2rem;
		width: 1.7rem;
	}
	.top_okomari ul{
		margin-top: 10%;
	}
	.top_okomari ul li{
		width: 100%;
		padding: 1rem 1rem;
		margin-bottom: 1rem;
	}
	.triangledown{
	  width: 100%;
	  height: 60px;
	  border-left: 200px solid transparent;
	  border-right: 200px solid transparent;
	  border-top: 60px solid #EFF9FD;
	}
}


/* ----------- トップ/サービス案内 -------- */
.top_service{
	text-align: center;
	width: 90%;
	margin: 5% 5% 10%;
}
.top_s1{
	gap: 2%;
	margin-top: 5%;
}
.top_s1 .top_s11{
	width: calc(96% /3);
	background-color: #fff;
	box-shadow: 0px 0px 8px #33333314;
	padding: 2rem;
	border-radius: 5px;
}
.top_s1 .top_s11 h3{
	font-size: 1.8rem;
	border-bottom: 1px solid #00A9E3;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	width: 100%;
	text-align: center;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
.top_s1 .top_s11 p{
	text-align: left;
}
.top_s1 .top_s11 img{
	margin-bottom: 1.5rem;
	width: 100%;
	height: auto;
}
.top_s1 .top_s12{
	width: calc(96% /3);
	gap: 6%;
	flex-wrap: wrap;
}
.top_s1 .top_s12 .top_s121{
	width: calc(94% /2);
	background-color: #fff;
	box-shadow: 0px 0px 8px #33333314;
	border-radius: 5px;
	padding: 1rem;
	position: relative;
}
.top_s1 .top_s12 .top_s121 h3{
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
	font-size: 1.8rem;
	margin-top: 1rem;
}
.top_s1 .top_s12 .top_s121 .top_s122{
	position: absolute;
	width: 100%;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}
@media screen and (max-width: 767px) {
	.top_service{
		text-align: center;
		width: 90%;
		margin: 20% 5% 30%;
	}
	.top_service p{
		text-align: left;
	}
	.top_service .ttl_b p{
		text-align: center;
	}
	.top_s1 .top_s11{
		width: 100%;
		margin-top: 2rem;
	}
	.top_s1 .top_s12{
		width: 100%;
		margin-top: 2rem;
		margin-bottom: 4rem;
	}
	.top_s1 .top_s12 .top_s121{
		padding:4rem 1rem;
	}
	.top_s1 .top_s12 .top_s121 .top_s122{
		position: relative;
	}
}


/* ----------- トップニュース -------- */
.top_news{
	margin: 7% 0 10% 5%;
	gap: 3%;
	align-items: flex-start;
	align-content: flex-start;
}
.top_news .top_news_ttl{
	color: #fff;
	width: 15%;
	text-align: left;
}
.top_news .top_news_ttl h2{
	color: #000;
	margin-top: 0.2rem;
}
.top_news .top_news_ttl a{
	display: block;
	font-weight: 400;
	font-size: 1.5rem;
	background-color: #fff;
	color: #F3AE1B;
	padding: 1rem 0;
	width: 100%;
	margin-top: 3rem;
}
.top_news .top_news{
	align-items: center;
	align-content: center;
}
.top_news .news_cnt{
	width: 82%;
	align-items: center;
	align-content: center;
	margin-top: 1rem;
	background-color: #EFF9FD;
	padding: 3rem 5rem;
	border-radius: 20px 0 0 0;
}
.top_news .news_cnt li a .date{
	color: #00A9E3;
	font-size: 1.6rem;
	font-weight: 400;
}
.top_news .news_cnt li a h3{
	font-size: 1.6rem;
	text-align: left;
	align-self: center;
	font-weight: 400;
	width: 90%;
}
.top_news .news_cnt li a{
	justify-self: flex-start;
	border-bottom: 1px solid #F4F4F4;
	padding-top: 1rem;
	padding-bottom: 1rem;
	gap: 3rem;
	border-bottom: 1px solid #fff;
	margin-bottom: 1.5rem;
}
.top_news .btn_area{
	padding-top: 0;
}
.top_news .btn_area a:hover{
background-color: #FFF4DD;
opacity: 1;
}

@media screen and (max-width: 767px) {
	.top_news{
		margin: 25% 0 20% 5%;
	}
	.top_news .top_news_ttl{
		width: 100%;
	}
	.top_news .news_cnt{
		width: 100%;
		padding: 3rem 5% 3rem 10%;
	}
	.top_news .news_cnt li a {
		gap: 0;
		padding: 0rem 0 1.5rem;
		margin-top: 0rem;
	}
	.top_news .news_cnt li a .date{
		font-size: 1.2rem;
		margin-bottom: 0.3rem;
	}
	.top_news .news_cnt li a h3{
		font-size: 1.4rem;
	}
}


/* -------------トップ製作事例 -----*/
.top_works{
	padding: 8% 10%;
	position: relative;
	background-color: #EFF9FD;
}
.top_works .flex_wrap{
	gap: 3%;
	margin-top: 5%;
	margin-bottom: 1rem;
}
.top_works .flex_wrap a{
	width: calc(94% / 3);
	background-color: #fff;
	box-shadow: 0px 0px 8px #33333314;
	border-radius: 10px;
	padding: 3rem 0 0;
}
.top_works .flex_wrap a img{
	width: 100%;
	margin: auto 2rem 2rem;
	width: calc(100% - 4rem);
	height: 150px;
	object-fit: cover;
}
.top_works .flex_wrap a h3{
	font-size: 1.6rem;
	font-weight: 500;
	margin: auto 2rem 1rem;
}
.top_case_p{
	gap: 0;
	border: 1px solid #FFAD2B;
	font-weight: 500;
	margin: auto 2rem;
	background-color: #fff;
}
.top_case_p .top_case_p2{
	background-color: #FFAD2B;
	padding: 1rem;
	color: #fff;
	width: 40%;
	font-size: 1.5rem;
	text-align: center;
}
.top_case_p .top_case_p3{
	padding: 1rem;
	width: 60%;
	font-size: 1.6rem;
}
.topcase_a{
	background-color: #00A9E3;
	color: #fff;
	margin-top: 3rem;
	width: 100%;
	text-align: center;
	padding: 1rem;
	border-radius: 0 0 10px 10px;
	font-size: 1.6rem;
	position: relative;
}
.topcase_a p{
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
.topcase_a::after {
	content: '';
	position: absolute;
	right: 25px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(0, -50%) rotate(45deg);
  }

@media screen and (max-width: 767px) {
	.top_works{
		padding: 25% 10%;
	}
	.top_works .flex_wrap{
		gap: 3%;
		margin-top: 15%;
		margin-bottom: 1rem;
	}
	.top_works .flex_wrap a{
		width: 100%;
		margin-bottom: 2rem;
	}
	.top_works .flex_wrap .top_case_p.flex_wrap{
		flex-wrap: nowrap;
		text-align: center;
		margin-top: 2rem;
	}
	.top_works .flex_wrap a img{
		height: 170px;
		object-fit: cover;
	}
}


/* -------------- トップ/料金 ---------------- */
.top_price{
	position: relative;
	padding: 7% 10%;
	text-align: center;
}
.top_price .ttl_b p{
	color: #FFAD2B;
}
.top_price .mesimg1{
	position: absolute;
	top: 0;
	z-index: -1;
	right: 0;
}
.top_price .mesimg2{
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.top_price a{
	background-color: #FFAD2B;
	padding: 2rem;
	justify-content: center;
	gap: 5%;
	align-items: center;
	align-content: center;
	border-radius: 10px;
	width: 50%;
	margin: auto 25%;
	position: relative;
	color: #fff;
}
.top_price a img{
	width: 6rem;
	height: auto;
}
.top_price a p{
	font-size: 2rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
.top_price a::after {
	content: '';
	position: absolute;
	right: 10%;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(0, -50%) rotate(45deg);
  }
  .top_price a:hover{
	background-color: #FFE8C4;
	color: #FFAD2B;
  }
  @media screen and (max-width: 767px) {
	.top_price{
	position: relative;
	padding: 35% 5%;
	text-align: center;
}
.top_price a{
	padding: 2rem 4rem;
	gap: 10%;
	width: 100%;
	margin: 10% 0% auto;
	justify-content: flex-start;
}
.top_price a img{
	width: 4.5rem;
	height: auto;
}
.top_price a p{
	font-size: 1.8rem;
}
  }


/* -------------- マンション、戸建の方 ---------------- */
.top_link{
	gap: 0;
}
  .top_banner {
	position: relative;
	overflow: hidden;
	width: 50%;
	height: 300px
	}
	.top_banner:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	background: url(images/top/kodate.png) no-repeat center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	background-size: cover;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
	}
	.top_banner2:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	background: url(images/top/mantion.png) no-repeat center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	background-size: cover;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
	}
	.top_banner:hover{
		opacity: 1;
	}
	.top_banner:hover:after {
	opacity: 1;
	-moz-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
	}
	.top_banner a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	height: 100%;
	opacity: 1;
	text-decoration: none;
	font-size: 2rem;
	color: #fff;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
	}
	@media screen and (max-width: 767px) {
		.top_banner {
		  position: relative;
		  overflow: hidden;
		  width: 100%;
		  height: 200px;
		  margin-bottom: 3px;
		  }
	}

/* -------------- フッターコンタクト ---------------- */
.top_contact{
	gap:0;
	border-top: 3px solid #00A9E3;
	border-bottom: 3px solid #00A9E3;
}
.top_contact .top_con1{
	width: 50%;
	text-align: center;
	align-items: center;
	align-content: center;
	align-self: center;
}
.top_contact .top_con1 .ttl_b{
	margin-bottom: 1rem;
}
.top_contact .top_con2{
	width: 50%;
}
.top_contact .top_con2 a{
	background-color: #00A9E3;
	color: #fff;
	padding: 2rem 3rem;
	justify-content: flex-start;
	margin-bottom: 0.3rem;
	gap: 2.5rem;
	font-size: 1.8rem;
}
.top_contact .top_con2 a:last-child{
	margin-bottom: 0;
}
.top_contact .top_con2 a img{
	width: 3rem;
	height: auto;
	object-fit: contain;
}
.top_contact .top_con2 a span{
	font-size: 1.3rem;
}
.top_contact .top_con2 a:last-child p{
	line-height: 1.8rem;
}
.top_contact .top_con2 a:last-child p span{
	margin-bottom: 0;
}
.top_contact .top_con2 a:last-child{
	padding: 2rem 3rem 1.5rem;
}
@media screen and (max-width: 767px) {
	.top_contact .top_con1{
		width: 100%;
		padding: 3rem;
	}
	.top_contact .top_con1 p{
		font-size: 1.2rem;
	}
	.top_contact .top_con2{
		flex-wrap: nowrap;
	}
	.top_contact .top_con2 {
		display: flex;
		width: 100%;
		gap: 0.5%;
		text-align: center;
	}
	.top_contact .top_con2 a{
		width: calc(99% / 3);
		text-align: center;
		padding: 2rem 1rem;
		margin-bottom: 0rem;
		gap: 1rem;
		justify-content: center;
	}
	.top_contact .top_con2 a img{
		height: 2.2rem;
		width: 2.2rem;
		object-fit: contain;
	}
	.top_contact .top_con2 a p{
		text-align: center;
		width: 100%;
		font-size: 1.2rem;
		line-height: 1.5rem;
	}
	.top_contact .top_con2 a:last-child{
		padding: 2rem 1rem 2rem;
	}
	.top_contact .top_con2 a:last-child p{
		line-height: 1.3rem;
	}
	.top_contact .top_con2 a:last-child p span{
		font-size: 0.8rem;
	}
}



/* -------------- よくある質問 ---------------- */
.top_faq{
	padding-bottom: 0;
}
  #menu {
	width: 100%;
	padding: 10% 8%;
	min-width: 250px;
	background-color: #EFF9FD;
  }
  @media screen and (max-width: 600px) {
	#menu {
	  padding: 20% 5%;
	}
  }
  .accordion {
	background-color: #fff;
	box-shadow: 0px 0px 8px #33333314;
	cursor: pointer;
	padding: 1.5rem 3rem;
	border: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 5px;
	font-size: 1.5rem;
	gap:2rem;
	color: #00A9E3;
  }
  .accordion.active{
	background-color: #00A9E3;
	color: #fff;
	border-radius: 5px 5px 0 0;
  }
  .accordion .flex_wrap{
	gap: 2rem;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
	flex-wrap: nowrap;
  }
  .accordion .flex_wrap .faq_q{
	font-weight: 500;
	font-size: 1.6rem;
	background-color: #00A9E3;
	padding: 0.1rem 0.8rem;
	border-radius: 45px;
	color: #fff;
	margin: 0;
	width: 3rem;
	height: 3rem;
	font-family: lato, sans-serif;
font-weight: 400;
font-style: normal;
  }
  .accordion.active .flex_wrap .faq_q{
	background-color: #fff;
	color: #00A9E3;
  }
  
  .symbol {
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
  }
  .symbol span {
	display: block;
	background-color: #AEB2B5;
	width: 20px;
	height: 2px;
	transition: all 0.4s ease;
  }
  .symbol span:nth-of-type(1) {
	transform: translateX(15px);
  }
  .symbol span:nth-of-type(2) {
	transform: rotate(-90deg);
  }
  .accordion.active .symbol span:nth-of-type(2) {
	transform: rotate(0deg);
	background-color: #fff;
  }
  @media screen and (max-width: 767px) {
	.symbol span {
	  display: block;
	  transition: all 0.4s ease;
	}
	.symbol span:nth-of-type(1) {
	  transform: translateX(15px);
	}
	.symbol span:nth-of-type(2) {
	  transform: rotate(-90deg);
	}
	.accordion .flex_wrap .faq_q{
	  font-size: 1.2rem;
	  padding: 0.1rem 0.6rem;
	  width: 2.2rem;
	  height: 2.2rem;
	}
	.accordion {
	  padding: 1.5rem 1.5rem;
	}
  }
  
  .panel {
	list-style-type: none;
	margin: 0;
	padding: 0 3rem;
	background-color: #fefcf3;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease;
	margin-bottom: 2rem;
	font-size: 1.5rem;
	display: flex;
	gap: 0rem;
	justify-content: flex-start;
	align-items: flex-start;
	align-content: flex-start;
  }
  .accordion.active + .panel {
	background-color: #fff;
	border-radius: 0 0 5px 5px;
  }
  .panel .panel1{
	margin: 2rem 2rem 0 0;
	padding-bottom: 3rem;
  }
  .panel .faq_a{
	font-family: "barlow";
	font-weight: 400;
	font-size: 1.5rem;
	background-color: #F3AE1B;
	padding: 0rem 1rem;
	border-radius: 45px;
	color: #fff;
	margin: 0;
	width: 3rem;
	height: 2.8rem;
  }
  .panel2{
	margin: 2.5rem 0 2rem;
	line-height: 2.2rem;
  }
  .panel2 span{
	font-size: 1.5rem;
	color: #00A9E3;
  }
  @media screen and (max-width: 767px) {
	.top_faq{
	margin-top: 5%;
}
.panel {
  padding: 0 1.5rem;
  font-size: 1.4rem;
}
.panel2 span{
  font-size: 1.4rem;
}
  }
/*タブ切り替え全体のスタイル*/
.tabs {
	width: 100%;
	margin: 0 auto;
}
  /*タブのスタイル*/
  .tab_item {
	width: calc(86% / 3);
	border: 2px solid #F3AE1B;
	background-color: #fff;
	line-height: 35px;
	font-size: 1.5rem;
	font-weight: 500;
	text-align: center;
	color: #F3AE1B;
	display: block;
	float: left;
	text-align: center;
	transition: all 0.2s ease;
	margin-right: 2%;
	margin-bottom: 4rem;
  }
  .tab_item:hover{
	  background-color: #FFF4DD;
	  opacity: 1;
  }
  .tab_item.tab1{
	margin-left: 5%;
  }
  /*ラジオボタンを全て消す*/
  input[name="tab_item"] {
	display: none;
  }
  /*タブ切り替えの中身のスタイル*/
  .tab_content {
	display: none;
	clear: both;
	overflow: hidden;
  }
  @media screen and (max-width: 767px) {
	.tabs {
		width: 100%;
		margin: 5% 0 auto;
	}
	.tab_item {
	  width: 90%;
	  margin-left: 5%;
	  margin-right: 5%;
	  margin-bottom: 1rem;
	}
	.tab_item.tab1{
		margin-left: 5%;
	}
	.tab_item.tab3{
	  margin-bottom: 7%;
	}
  }
  
  
  /*選択されているタブのコンテンツのみを表示*/
  #all:checked ~ #all_content,
  #programming:checked ~ #programming_content,
  #design:checked ~ #design_content {
	display: block;
  }
  
  /*選択されているタブのスタイルを変える*/
  .tabs input:checked + .tab_item {
	background-color: #F3AE1B;
	color: #fff;
	position: relative;
  }
  /* 三角アイコン - 左右の中心 */
  .tabs input:checked + .tab_item::before{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: 0;
	right: 0;
	bottom: -10px;
	margin: 0 auto;
	border-top: 10px solid #F3AE1B;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
  }
  @media screen and (max-width: 767px) {
	.tabs input:checked + .tab_item::before{
		display: none;
	}
  }
/* -------------- アクセス ---------------- */
.top_access{
	padding-bottom: 0;
}
.top_access .top_a_t{
	width: 40%;
	margin: auto 30%;
	background-color: #F3AE1B;
	text-align: center;
	padding: 2.5rem;
	margin-top: 10%;
}
.top_access .top_a_t .top_a_p{
	color: #fff;
}
.top_access .top_a_t .ttl_b2{
	margin-top: -6.5rem;
}
.top_access .top_a_t .ttl_b2 span{
	font-size: 5.6rem;
}
.top_access .top_a_t .ttl_b2 h2{
	margin-bottom: 1.5rem;
}
.top_access iframe{
	width: 100%;
	height: 55vh;
	margin-bottom: -3px;
	padding-bottom: 0;
}
@media screen and (max-width: 767px) {
	.top_access{
		margin-top: 30%;
	}
	.top_access .top_a_t{
		width: 90%;
		margin: 20% 5% 0;
		background-color: #F3AE1B;
		text-align: center;
		padding: 2.5rem;
		margin-top: 10%;
	}
}

/* ===================================================================
// 下層ページ
// ===================================================================*/
#content{
	margin-top: 0rem;
	width: calc(100% - 230px);
	margin-left: 230px;
}
#mainttl{
	margin: 0;
	width: 100%;
	padding:0 0% 5%;
	text-align: center;
	position: relative;
}
#mainttl h1{
	font-size: 1.7rem;
	line-height: 1.7rem;
	font-weight: 400;
	font-style: normal;
	margin-top: 1rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 400;
font-style: normal;
}
#mainttl p{
	margin-top: 5%;
	font-size: 3.6rem;
	line-height: 3.6rem;
	color: #00A9E3;
	font-family: lato, sans-serif;
font-weight: 400;
font-style: normal;
}
#mainttl h1.content_ttl{
	font-size: 2.4rem;
	color: #00A9E3;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 400;
font-style: normal;
}
#mainttl img{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
}
@media screen and (max-width: 767px) {
	#mainttl h1{
		font-size: 1.4rem;
		line-height: 1.4rem;
		margin-bottom: 2rem;
	}
	#mainttl p{
		line-height: 2.8rem;
		font-size: 2.8rem;
		margin-top: 5rem;
	}
	#mainttl img{
		position: absolute;
		top: 0;
		right: 0;
		width: 20%;
	}
#content{
	width: 100%;
	padding-top: 5rem;
	margin-left: 0;
}
#mainttl h1.content_ttl{
	font-size: 2rem;
}
}

.titleline {
    display: flex;
    justify-content: center;
    align-items: center;
	font-size: 2.2rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
margin-bottom: 4%;
}
.titleline::after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #00A9E3;
}
.titleline::after {
    margin-left: 15px;
}

.ttl_blueline{
	width: 100%;
	height: 25px;
	background-color: #EFF9FD;
}
@media screen and (max-width: 767px) {
	.titleline {
		font-size: 1.8rem;
	}
}

/* 
===================================================================
// ABOUTページ
// ===================================================================*/
.about_page #mainttl{
	background: url(images/about/head.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.about_page .about_img{
	height: 70vh;
	padding: 0;
}
.about_page .about_img img{
	height: 70vh;
	width: 100%;
}
.about_page .ttl_b{
	margin-top: 2rem;
	margin-bottom: 3rem;
}

/* 
===================================================================
// サービス案内ページ
// ===================================================================*/
.service_page .page_anker{
	gap: 7%;
	justify-content: center;
	background-color: #EFF9FD;
	padding: 3rem;
}
.service_page .page_anker a{
	width: auto;
	text-align: center;
	position: relative;
	padding-right: 2rem;
	font-size: 1.6rem;
	font-weight: 400;
}
.service_page .page_anker a::after {
	content: '';
	position: absolute;
	right: 0px;
	top: 40%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #00A9E3;
	border-right: 2px solid #00A9E3;
	transform: translate(0, -50%) rotate(135deg);
  }
@media screen and (max-width: 767px) {
	.service_page .page_anker{
		padding: 2rem;
		justify-content: flex-start;
		margin-bottom: 25%;
	}
	.service_page .page_anker a{
		width: 45%;
		margin-bottom: 1rem;
		margin-top: 1rem;
		font-size: 1.5rem;
		text-align: right;
	}
}

.service_sec1{
	margin: 0% 8%;
	padding-top: 10%;
}
.service_sec1 .service_sec11{
	margin-top: 5%;
}
.service_sec1 .service_sec11 h3{
	font-size: 1.8rem;
	font-weight: 400;
}
.service_sec1 .service_sec11 h3 span{
	color: #00A9E3;
	margin-bottom: 2rem;
}
.service_sec1 .service_sec11 .flex_wrap{
	background-color: #EFF9FD;
	padding: 3rem;
	margin-top: 2rem;
	gap: 3%;
}
.service_sec1 .service_sec11 .flex_wrap .s_1img{
	width: 25%;
}
.service_sec1 .service_sec11 .flex_wrap .s_1txt{
	width: 72%;
}
.service_sec1 .service_sec11 .flex_wrap .s_1img img{
	width: 100%;
}
.service_sec1 .service_sec11 .flex_wrap .s_1txt .btn_area{
	justify-content: flex-start;
	padding-top: 2rem;
}
@media screen and (max-width: 767px) {
	.service_sec1{
		margin: -15% 8%;
		padding-top: 25%;
	}
	.service_sec1 .titleline{
		margin-bottom: 10%;
	}
	.service_sec1 .service_sec11{
		margin-top: 20%;
	}
	.service_sec1 .service_sec11 h3{
		font-size: 1.6rem;
		line-height: 1.3rem;
	}
	.service_sec1 .service_sec11 h3 span{
		font-size: 1.3rem;
		line-height: 1.3rem;
	}
	.service_sec1 .service_sec11 .flex_wrap .s_1img{
		width: 100%;
		margin-bottom: 2rem;
	}
	.service_sec1 .service_sec11 .flex_wrap .s_1txt{
		width: 100%;
	}
	.service_sec1 .service_sec11 .flex_wrap .s_1txt .btn_area{
		justify-content: center;
		padding-top: 0;
		padding-bottom: 1rem;
	}
}

/* タイトル点線 */
.tentitle {
	color: #00A9E3;
	font-size: 1.6rem;
	font-weight: 400;
	display: flex;
	align-items: center;
}
.tentitle:before, .tentitle:after {
	content: "";
	flex-grow: 1;
	border-top: 2px dotted #00A9E3;
	display: block;
}
.tentitle:before {
	margin-right: 2.5rem;
}
.tentitle:after {
	margin-left: 2.5rem;
}

.other_service{
	margin-top: 8%;
}
.other_service .flex_wrap{
	margin: 5% auto;
	gap: 5%;
	flex-wrap: wrap;
}
.other_service .flex_wrap .s_other{
	width: 47.5%;
	margin-bottom: 5%;
	position: relative;
}
.other_service .flex_wrap .s_other h4{
	font-weight: 400;
	font-size: 1.8rem;
	margin-bottom: 2rem;
}
.other_service .flex_wrap .s_other h4 span{
	color: #00A9E3;
}
.other_service .flex_wrap .s_other img{
	position: absolute;
	right: 0;
	bottom: -3rem;
	z-index: -1;
	width: 13rem;
	height: auto;
}
@media screen and (max-width: 767px) {
	.other_service{
		margin-top: 25%;
	}
	.tentitle:before {
		margin-right: .5rem;
	}
	.tentitle:after {
		margin-left: .5rem;
	}
	.other_service .flex_wrap{
		margin: 15% auto;
	}
	.other_service .flex_wrap .s_other{
		width: 100%;
		margin-bottom: 15%;
	}
	.other_service .flex_wrap .s_other h4{
		font-size: 1.6rem;
	}
	.other_service .flex_wrap .s_other img{
		position: absolute;
		right: -2rem;
		top: -3rem;
		z-index: -1;
		width: 13rem;
	}
}

/* 私たちの強み */
.strong{
	gap: 3%;
	margin: -3% 8% 12%;
	padding-top: 12%;
}
.strong .strong1{
	width: calc(94% / 3);
	margin-top: 3rem;
}
.strong .strong1 .strong_num{
	color: #C6EFFF;
	font-size: 4rem;
	text-align: left;
	font-family: lato, sans-serif;
font-weight: 400;
font-style: normal;
line-height: 3.5rem;
}
.strong .strong1 .strong_num span{
	font-size: 1.6rem;
}
.strong .strong1 img{
	width: 50%;
	margin: -4rem 20% auto 30%;
}
.strong .strong1 .strong2{
	background-color: #EFF9FD;
	padding: 6rem 3rem 4rem;
	margin-top: -7rem;
	border-radius: 15px;
}
.strong .strong1 .strong2 h3{
	font-size: 1.8rem;
	color: #00A9E3;
	font-weight: 500;
	text-align: center;
	margin-bottom: 2.5rem;
	line-height: 3rem;
}
@media screen and (max-width: 767px) {
	.strong{
		margin: -13% 8% 32%;
		padding-top: 22%;
	}
	.strong .strong1{
		width: 100%;
		margin-top: 3rem;
	}
	.strong .strong1 img{
		width: 50%;
		margin: -4rem 25% auto 25%;
	}
	.strong .strong1 .strong2 h3{
		margin-bottom: 2rem;
	}
}

/* サービスの流れ */
.serviceflow{
	margin: -10% 8% 10%;
	padding-top: 15%;
}
.flow_design05 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 7%;
  }
  .flow05 {
	padding-left: 0;
  }
  .flow05 > li {
	list-style-type: none;
	position: relative;
	padding-left: 150px;
  }
  .flow05 > li:not(:last-child) {
	padding-bottom: 9rem;
  }
  .flow05 > li .icon05 {
	width: 10.3rem;
	height: 10.3rem;
	text-align: center;
	border-radius: 100vh;
	display: inline-block;
	background: #fff;
	border: #00A9E3 1px solid;
	color: #fff;
	position: absolute;
	left: 0;
	color: #00A9E3;
	font-size: 4rem;
	line-height: 3rem;
	font-family: lato, sans-serif;
font-weight: 400;
font-style: normal;
padding-top: 0.5rem;
  }
  .flow05 > li .icon05 span{
	font-size: 1.6rem;
	color: #00A9E3;
  }
  .flow05 > li:not(:last-child)::before {
	content: '';
	background: #F6F3F0;
	width: 2px;
	height: 100%;
	position: absolute;
	top: calc(50% - -30px);
	left: 50px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
  }
  .flow05 li dl{
	align-items: center;
	align-self: center;
	align-content: center;
  }
  .flow05 > li dl dt {
	font-size: 2.2rem;
	font-weight: 500;
	color: #00A9E3;
	margin-bottom: 1.3rem;
  }
  .flow05 > li dl dd {
	margin-left: 0;
	line-height: 2.5rem;
  }
  .flow05 li dl dt p{
	padding-top: 1rem;
  }
  @media screen and (max-width: 767px) {
	.serviceflow{
		margin: -20% 8% 10%;
		padding-top: 25%;
	}
	.flow05 > li .icon05 {
	  width: 6.3rem;
	  height: 6.3rem;
	  font-size: 2.3rem;
	  line-height: 1.8rem;
	  padding-top: 0.3rem;
	}
	.flow05 > li .icon05 span{
	  font-size: 0.9rem;
	}
	.flow05 > li:not(:last-child)::before {
	  left: 30px;
	}
	.flow05 > li {
	  list-style-type: none;
	  position: relative;
	  padding-left: 80px;
	}
	.flow05 > li dl dt {
	  font-size: 1.6rem;
	  margin-bottom: 0.8rem;
	}
	.flow05 li dl dt p{
	  padding-top: 0;
	}
	.flow05 > li:not(:last-child) {
	  padding-bottom: 5rem;
	}
  }

  /* 改修後の流れ */
  .afterflow{
	margin: 5% 8% 15%;
	padding-top: 10%;
  }
  .afterflow p{
	margin-bottom: 5%;
  }
  .afterflow img{
	width: 100%;
  }
  @media screen and (max-width: 767px) {
	/* 改修後の流れ */
	.afterflow{
	  margin: 15% 8% 35%;
	  padding-top: 20%;
	}
	.afterflow .titleline{
		margin-bottom: 10%;
	}
	.afterflow p{
	  margin-bottom: 10%;
	}
  }


/* 
===================================================================
// 会社概要ページ
// ===================================================================*/
.company_page .service_sec1 .flex_wrap{
	align-items: center;
	align-content: center;
}
.company_page .service_sec1 .service_sec11{
	margin-top: 3rem;
}
.company_row{
	margin: 0% 8% 10%;
	padding-top: 10%;
}
.company_row dl{
	flex-wrap: wrap;
	gap: 1%;
}
.company_row dl dt{
	width: 19%;
	background-image : linear-gradient(to right, #57C7ED 2px, transparent 2px);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	background-position: left bottom;
	padding: 2rem 1rem 2rem 3rem;
	color: #57C7ED;
	font-weight: 400;
	font-size: 1.5rem;
	align-self: center;
}
.company_row dl dd{
	width: 80%;
	background-image : linear-gradient(to right, #AEB2B5 2px, transparent 2px);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	background-position: left bottom;
	padding: 2rem 1rem 2rem 3rem;
	font-weight: 400;
	font-size: 1.5rem;
}
.company_row dl dd a{
	border-bottom: #333 1px solid;
}
.company_row ul{
	gap: 2%;
	margin-top: 8%;
}
.company_row ul li{
	width: calc(94% /4 );
}
.company_row ul li img{
	width: 100%;
	height: auto;
	object-fit: cover;
}
@media screen and (max-width: 767px) {
	.company_page .page_anker{
		padding: auto 25%;
	}
	.company_page .page_anker a{
		width: 40%;
	}
	.service_sec1#area{
		padding-top: 20%;
	}
	.company_row{
		margin:10% 8% 10%;
		padding-top: 40%;
	}
	.company_row dl{
		margin-top: 15%;
		gap: 3%;
	}
	.company_row dl dt{
		width: 29%;
		padding: 2rem 1rem 2rem 1rem;
		font-size: 1.5rem;
	}
	.company_row dl dd{
		width: 68%;
		padding: 2rem 1rem 2rem 1rem;
	}
	.company_row ul{
		margin-top: 15%;
	}
	.company_row ul li{
		width: calc(94% /2 );
		margin-bottom: 1.5rem;
	}
}

#permit{
	margin-bottom: 10%;
	padding-top: 10%;
	margin-top: -10%;
}
.permit1{
	margin: 5% 8%;
}
.permit1 .service_sec11{
}
.permit1 .service_sec11 .flex_wrap{
	width: 100%;
	gap: 3%;
	background-color: #fff;
	padding: 0;
	margin-top: 3%;
}
.permit1 .flex_wrap .permit_1{
	width: calc(94% / 3);
	background-color: #EFF9FD;
	text-align: left;
	padding: 3rem;
}
.permit1 .flex_wrap .permit_1 p{
	font-size: 1.4rem;
	font-weight: 400;
}
.permit1 .flex_wrap .permit_1 img{
	width: 70%;
	margin: 12% 15% 2%;
}

.access_map{
	padding-top: 10%;
	margin-top: -10%;
}
.access_map iframe{
	width: 100%;
	margin-top: 3%;
	height: 70vh;
	margin-bottom: 15%;
}
@media screen and (max-width: 767px) {
	#permit{
		margin-bottom: 10%;
		padding-top: 30%;
		margin-top: -10%;
	}
	.permit1 .titleline{
		margin-bottom: 15%;
	}
	.permit1 .flex_wrap .permit_1{
		width: 100%;
		padding: 3rem;
		margin-bottom: 2rem;
	}
	.company_page .service_sec11 h3{
		font-size: 1.6rem;
		line-height: 2.5rem;
		margin-bottom: 3rem;
	}
	.access_map{
		padding-top: 30%;
		margin-top: -10%;
	}
	.access_map .titleline{
		margin-bottom: 15%;
	}
	.access_map .service_sec11 h3{
		margin-bottom: 0rem;
	}
	.access_map iframe{
		height: 25vh;
		margin-bottom: 65%;
	}
}
/* 
===================================================================
// 価格表ページ
// ===================================================================*/
.price_sec1{
	margin: 0% 8% 5%;
	padding-top: 10%;
}
.price_sec1 p{
	margin-bottom: 3%;
}
.price_sec1 table,
.price_sec1 table tr{
	width: 100%;
}
.price_sec1 table tr td{
	border: 3px solid #fff;
	text-align: center;
}
.price_sec1 table tr .pricettl{
	background-color: #00A9E3;
	color: #fff;
	padding: 1.5rem 1rem;
	width: 30%;
	font-size: 1.6rem;
	font-weight: 400;
}
.price_sec1 table tr .sub_ttl{
	background-color: #EFF9FD;
	color: #333333;
	padding: 1.5rem 1rem;
	width: 40%;
	font-size: 1.6rem;
	font-weight: 400;
}
.price_sec1 table tr .price01{
	background-color: #EFF9FD;
	color: #00A9E3;
	padding: 1.5rem 1rem;
	width: 30%;
	font-size: 1.6rem;
	font-weight: 500;
}
#transportation{
	margin-bottom: 10%;
}

@media screen and (max-width: 767px) {
	.price_sec1{
		margin: 0% 8% 5%;
		padding-top: 25%;
	}
	.price_sec1 .titleline{
		margin-bottom: 15%;
	}
	.price_sec1#prices{
		margin: -10% 8% 5%;
		padding-top: 25%;
	}
	.price_sec1#transportation .titleline{
		margin-bottom: 10%;
	}
	.service_page .page_anker a{
		text-align: right;
	}
	.price_sec1 table tr .pricettl{
		width: 100%;
		font-size: 1.5rem;
		align-items: center;
		align-content: center;
	}
	.price_sec1 table tr{
		display: flex;
		flex-wrap: wrap;
		background-color: #EFF9FD;
	}
	.price_sec1 table tr .sub_ttl{
		width: 70%;
		font-size: 1.5rem;
	}
	.price_sec1 table tr .price01{
		width: 30%;
		font-size: 1.5rem;
		position: relative;
		border-left: 1px solid #fff;
	}
	.price_sec1 table tr .price01 p{
		position: absolute;
		top:50%;
		left:50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	.price_sec1 p{
		margin-bottom: 7%;
	}
	#transportation{
		margin-bottom: 40%;
	}
}

/* 
===================================================================
// ニュース
// ===================================================================*/

.news_page .news_cnt{
	background-color: #EFF9FD;
	margin: 5% 8%;
	padding: 3% 5% 4%;
}
.news_page .news_cnt a{
	text-align: left;
	padding: 2.5rem 0;
	border-bottom: #fff 1px solid;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
	font-size: 1.8rem;
	line-height: 1.8rem;
}
.news_page .news_cnt a p{
	margin-right: 2rem;
	color: #00A9E3;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.2rem;
}
.news_page .news_cnt a h3{
	font-weight: 400;
	font-size: 1.6rem;
}
.news_page .btn_area{
	justify-content: center;
}
.news_page .news_cnt a:hover{
	opacity: 1;
}
.news_page .news_cnt a:hover h3{
	border-bottom:  1px solid #000;
}
.news_page .news_cnt a:hover p{
	border-bottom:  1px solid #00A9E3;
}

@media screen and (max-width: 767px) {
	.news_page .news_cnt{
		margin: auto 0% 15%;
		padding: 3% 5% 20%;
	}
	.news_page .news_cnt a p{
		margin-bottom: 1rem;
		font-size: 1.5rem;
	}
	.news_page .news_cnt a h3{
		font-size: 1.5rem;
		line-height: 2.3rem;
	}
	.news_page .pagenavi{
		margin-bottom: 20%;
	}
}



/* ===================================================================
// アーカイブ
// ===================================================================*/
#content .archive_list.news_archive{
 margin: auto 10%;
}
#content .archive_list .flex_wrap a{
	position: relative;
	width: 30%;
	height: 40vh;
	margin-bottom: 5%;
	box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.25);
}
#content .archive_list h3{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(20, 20, 20, 0.75);
	padding: 2rem 2rem 2rem 3rem;
	color: #fff;
	font-weight: 700;
	font-family: yuji-syuku, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size:2rem;
}
#content .archive_list.news_archive h3{
	position: relative;
	color: #000;
	padding: 1rem 2rem 2rem 3rem;
	background: #fff;
	height: 8rem;
}
#content .archive_list.news_archive p.date{
	padding: 1rem 2rem 0 3rem;
	color: #8C8C8C;
	background: #fff;
}
#content .archive_list.news_archive a{
	margin-bottom: 5%;
	box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.25);
	height: auto;
}
#content .archive_list .flex_wrap{
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 5%;
	padding: 0;
}

#content .archive_list.news_archive .flex_wrap a img{
	height: 25vh;
	width: 100%;
	object-fit: cover;
}
#content .archive_list .flex_wrap a img{
	height: 40vh;
	width: 100%;
	object-fit: cover;
}
#content .archive_list .arc_btn{
	text-align: center;
	justify-content: center;
	display: block;
	margin-bottom: 10%;
	padding-top: 0;
	margin-top: 0;
}
#content .archive_list .arc_btn.btn_area{
	padding-top: 0;
}
#content .archive_list .arc_btn a{
	border: #C09E5E 1px solid;
	padding: 2rem 4rem;
	border-radius: 30px;
}
#content .archive_list .arc_btn a:hover{
	background: #C09E5E;
	color: #fff;
}
@media screen and (max-width: 1100px) {
	#content .archive_list .flex_wrap a{
	position: relative;
	width: 45%;
	margin-bottom: 5%;
}
}
@media screen and (max-width: 767px) {
	#content .archive_list .flex_wrap a{
	position: relative;
	width: 100%;
		height: auto;
}
	#content .archive_list .flex_wrap a img{
	width: 100%;
		height: 60vh;
}
	.archive_list .arc_btn{
		margin-top: 5%;
	}
	#content .archive_list.news_archive .flex_wrap a img{
	height: 50vh;
	width: 100%;
	object-fit: cover;
}
	#content .archive_list.news_archive .flex_wrap a{
		text-align: left;
	}
	#content .archive_list .flex_wrap a h3{
		font-size: 2rem;
	}
}

@media screen and (max-width: 450px) {
	#content .archive_list .flex_wrap a{
	position: relative;
	width: 100%;
		height: auto;
	margin-bottom: 15%;
}
	#content .archive_list .flex_wrap a img{
	height: 20vh!important;
	width: auto;
}
}
/* ページネーション　*/
.pagenavi{
	margin-bottom: 10%;
	margin-top: 7%;
}
.pagenavi .wp-pagenavi {
  text-align: center;
  font-size: 1.6rem;
}

.pagenavi .wp-pagenavi a,
.pagenavi .wp-pagenavi span {
  color: #AEB2B5;
  border: 1px solid #AEB2B5;
  background-color: #ffffff;
  padding: 1rem 1.2rem;
  border-radius: 3px;
  margin-right: 1rem;
}
.pagenavi .wp-pagenavi .pages {
  border: 0px solid var(--thema-color);
  background-color: #fff;
}

.pagenavi .wp-pagenavi span.current {
  color: #fff;
  background-color: #00A9E3;
  border: 1px solid #00A9E3;
}

.arc_btn {
	text-align: center;
	padding-bottom: 10%;
	justify-content: center;
	gap: 1%;
	padding-top: 0;
	font-size: 1.4rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
.arc_btn a{
	padding: 1rem 2rem;
	width: 20%;
	border-radius: 5px;
	color: #fff;
	background-color: #00A9E3;
	position: relative;
}
.arc_btn a.back_btn{
	position: inherit;
}
.arc_btn a:first-child::before {
	content: '';
	position: absolute;
	left: 20px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(0, -50%) rotate(-135deg);
  }
  .arc_btn a:nth-child(3)::after {
	  content: '';
	  position: absolute;
	  right: 20px;
	  top: 50%;
	  width: 8px;
	  height: 8px;
	  border-top: 2px solid #fff;
	  border-right: 2px solid #fff;
	  transform: translate(0, -50%) rotate(45deg);
	}


@media screen and (max-width: 767px) {
	.btn_area.space{
	margin-bottom: 10%;
}
.pagenavi{
	margin-bottom: 47%;
	margin-top: 27%;
}
.pagenavi .wp-pagenavi {
  text-align: center;
  font-size: 1.4rem;
}
.arc_btn{
	justify-content: space-around;
	width: 90%;
	margin: auto 5% 20%;
	gap: 5%;
}
.arc_btn a{
	width: 47.5%;
	position: relative;
}
.arc_btn a:nth-child(2){
	position: relative;
}
.arc_btn a.back_btn{
	width: 100%;
	margin: 3% 0;
	position: inherit;
}
.arc_btn a:first-child::before {
	content: '';
	position: absolute;
	left: 20px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(0, -50%) rotate(-135deg);
  }
  .arc_btn a:nth-child(2)::after {
	  content: '';
	  position: absolute;
	  right: 20px;
	  top: 50%;
	  width: 8px;
	  height: 8px;
	  border-top: 2px solid #fff;
	  border-right: 2px solid #fff;
	  transform: translate(0, -50%) rotate(45deg);
	}
}


.news_page.news_single_page{
}
.news_page.news_single_page .news_single{
	background-color: #fff;
	margin: 5% 10% 5%;
}
.news_page.news_single_page .news_single.infonews{
	margin: 5% 10% 8%;
}
.news_page.news_single_page .news_single h2{
	font-size: 2rem;
	text-align: left;
	margin: 1% auto 4%;
	font-weight: 400;
	font-style: normal;
	border-bottom: 1px solid #00A9E3;
	padding-bottom: 2rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
.news_page.news_single_page .bread {
  padding: 2rem 2rem 8rem;
	background-color: #EFF9FD;
}
.news_page.news_single_page .news_single .date{
	font-size: 1.4rem;
	color: #8D8D8D;
}
.news_page.news_single_page .news_single .date.newsdate{
	text-align: left;
	color: #00A9E3;
}
.news_single figure{
	width: 60%;
	margin: 5% 20%;
}
.news_page.news_single_page .news_single .flex_wrap.case_p00{
	gap: 0;
	margin-top: 6%;
}
.news_page.news_single_page .news_single .flex_wrap .top_case_p{
	width: 40%;
	margin: 0;
	text-align: center;
}
.news_page.news_single_page .news_single .flex_wrap .top_case_p.case_p0{
	width: 30%;
	border: 1px solid #00A9E3;
}
.news_page.news_single_page .news_single .flex_wrap .top_case_p.case_p01{
	margin-left: 0.5rem;
}
.news_page.news_single_page .news_single .flex_wrap .top_case_p.case_p0 .top_case_p2{
	background-color: #00A9E3;
}
.news_page.news_single_page .news_single .date{
	text-align: right;
	font-size: 1.4rem;
	font-weight: 400;
	margin-top: 1.5rem;
	color: #333333;
}
.news_single .news_content{
	background-color: #EFF9FD;
	border-radius: 10px;
	padding: 5% 7%;
}
.news_single .news_content p{
	margin-bottom: 2%;
}
.news_single .news_content h2{
	background: #eee;
	color:  var(--bodyback-color);
	padding: 1% 2%;
	font-weight: 400;
	font-style: normal;
}
.news_single.single22 .news_single,
.news_single.single22 .news_single .date{
	text-align: right;
}
.news_single .news_content h3{
	border-bottom: 4px solid #eee;
	border-top: 4px solid #eee;
	padding: 1% 2%;
	margin-top: 3%;
	font-size: 2.5rem;
	margin-bottom: 2%;
	font-weight: 400;
	font-style: normal;
}
.news_single .news_content h4{
	border-left: 8px solid #eee;
	padding: 1% 2%;
	margin-top: 3%;
	font-size: 1.8rem;
	margin-bottom: 2%;
	font-weight: 400;
	font-style: normal;
}
.news_single .news_content figure{
	width: 100%;
}
@media screen and (max-width: 767px) {
	.news_page.news_single_page .news_single{
		margin: 10% 5% 10%;
		padding: 15% 0%;
	}
	.news_page.news_single_page .news_single.infonews{
		margin: 5% 5% 8%;
	}
	.news_page.news_single_page .news_single .date{
		text-align: right;
		font-size: 1.4rem;
	}
	.news_page.news_single_page .news_single h2{
		margin-bottom: 4rem;
		font-size: 1.6rem;
		line-height: 2.3rem;
		padding-bottom: 1rem;
	}
	.news_page.news_single_page .news_single img{
		margin: 3rem auto;
	}
	.news_single .news_content h2{
		font-size: 2.5rem;
	}
	.news_single .news_content h3{
		font-size: 2rem;
	}
	.news_single .news_content h4{
		font-size: 1.8rem;
	}
	.news_page.news_single_page .btn_area{
		width: 100%;
		padding-bottom: 20%;
	}
	.news_page.news_single_page .btn_area a{
		width: 60%;
}
.news_single .news_content{
	padding: 10% 7%;
}
.news_single .news_content p{
	margin-bottom: 10%;
}
.news_single figure{
	width: 100%;
	margin: 3% 0% 8%;
}
.news_page.news_single_page .bread {
  padding: 2rem 2rem 4rem;
	background-color: #EFF9FD;
}
.news_page.news_single_page .news_single .flex_wrap .top_case_p{
	width: 100%;
	margin-bottom: 0.5rem;
}
.news_page.news_single_page .news_single .flex_wrap .top_case_p.case_p0{
	width: 100%;
}
.news_page.news_single_page .news_single .flex_wrap .top_case_p.case_p01{
	margin-left: 0rem;
}
}

/* ===================================================================
// お問い合わせページ
// ===================================================================*/
.contact_page .service_sec1 ul{
	justify-content: flex-start;
	gap: 2%;
	margin-top: 2rem;
}
.contact_page .service_sec1 p.con_lead{
	margin-bottom: 0.7rem;
}
.contact_page .service_sec1 ul li{
}
.contact_page .service_sec1 ul li a{
	background-color: #00A9E3;
	color: #fff;
	padding: 0.3rem 2rem;
	font-size: 1.3rem;
	line-height: 1.3rem;
	align-items: center;
	align-content: center;
	border-radius: 45px;
}
.contact_page .service_sec1 ul li a p{
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
margin-top: 3px;

}
.contact_page .service_sec1 ul li a img{
	margin-right: 1rem;
	width: 1.5rem;
	height: 1.5rem;
}
#content.contact_page .form{
	background-color: #EFF9FD;
	padding: 5% 5% 6%;
	margin: 5% 8% 15%;
}
#content.contact_page .form .form_message{
	color: #000;
	margin: 5% 10% -5%;
	width: 70%;
	text-align: center;
}
.contact_form table {
  width: 100%;
  margin: 80px auto;
	font-weight: 200;
}
.contact_form table tr {
  border-bottom: 1px solid #BCBCBC;
}
.contact_form table{
}
.contact_form table th {
  font-weight: bold;
  text-align: left;
  width: 30%;
	padding: 3.8rem 0 3rem;
	font-weight: 400;
	vertical-align:top;
}

.contact_form table th span {
  text-align: center;
  padding: .1em .4em;
  margin-left: 1em;
  font-weight: normal;
  border-radius: 4px;
  font-size: 1.2rem;
}
.contact_form table th span.red {
  color: #fff;
  background-color: #FFAD2B;
  border-radius: 2px;
  padding: 0.2rem 1rem;
  font-weight: 300;
  font-size: 1.2rem;
}
.contact_form table th span.block {
  display: block;
  margin-left: 0;
  padding: 0;
  color: #E50012;
  font-size: 1.1rem;
  text-align: left;
}

.contact_form table.contact_tbl {
  margin: 0 auto 2rem;
}
.contact_form table td {
  text-align: left;
	width: 70%;
	padding:3rem 0;
}
.contact_form table td input{
	width: 65%;
	height: 5vh;
	background: none;
	border: 0px;
	border: 1px solid #BCBCBC;
	border-radius: 3px;
	padding: 1rem;
	background-color: #fff;
}
.contact_form table td.nameinput input{
	width: 35%;
	margin-left: 1rem;
}
.wpcf7-form-control.wpcf7-radio{
	display: flex;
	justify-content: flex-start;
}
.contact_form table td .wpcf7-form-control.wpcf7-radio .wpcf7-list-item{
	width: auto;
	margin-right: 2rem;
}
.contact_form table td .wpcf7-form-control.wpcf7-radio .wpcf7-list-item label{
	align-items: center;
	align-content: center;
}
.contact_form table td.address1 p{
	margin-bottom: 1rem;
	font-weight: 400;
}
.contact_form table td input.postnum{
	width: 20%;
	margin-left: 1rem;
}
.contact_form table td input.city2{
	width: 57%;
	margin-left: 1rem;
}
.contact_form table td input.city3{
	width: 57%;
	margin-left: 1rem;
}
.contact_form table td input.mainlcheck{
	margin-bottom: 1rem;
}
.contact_form table td .mailcheckp{
	font-weight: 400;
}
.contact_form table td.address1 select{
	padding: 0.5rem 1rem;
	border: 1px solid #BCBCBC;
	margin-left: 1rem;
	border-radius: 3px;
}
.contact_form table td.address1 select option:first-child{
	color: #BCBCBC!important;
}
.contact_form table td .wpcf7-list-item input{
	height: 1.5vh;
	width: auto;
}
.wpcf7-form-control.wpcf7-file{
	background-color: #EFF9FD;
	border: 0px;
	padding: 0;
	margin-top: 0.5rem;
}
.contact_form table td .wpcf7-list-item span{
	font-weight:500;
}
.contact_form table td .wpcf7-list-item{
	width: 100%;
}
.contact_form table td textarea{
	width: 97%;
	height: 20vh;
	background: none;
	border: 0px;
	border: 1px solid #BCBCBC;
	border-radius: 3px;
	padding: 1rem;
	background-color: #fff;
}
.contact_form .btn_area{
	justify-content: center;
	width: 30%;
	margin: 8% 35% 3%;
	display: block;
	padding: 0;
	position: relative!important;
}
.contact_form .btn_area .sub-btn{
	background: #FFAD2B;
	padding: 0.5rem 4rem;
	text-align: center;
	width: 100%;
	border-radius: 45px;
	border: 0px;
	color: #fff;
	margin: 0;
	font-size: 1.4rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
.contact_form .btn_area .sub-btn:hover{
	opacity: 0.6;
}
.contact_form .btn_area::after {
	content: '';
	position: absolute;
	right: 20px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(0, -50%) rotate(45deg);
  }

.contact_form .wpcf7-spinner{
	display: none;
}
.policycontact0{
}
.policycontact0 .policycontact1{
	margin-top: 1rem;
	justify-content: flex-start;
	font-weight: 400;
}
.policycontact0 .policycontact1 p a{
	margin-left: 1rem;
	border-bottom: 1px solid #000;
}
@media screen and (max-width: 767px) {
	.contact_page .service_sec1{
		margin-top: 0;
		margin-bottom: 20%;
	}
	.contact_page .service_sec1 ul{
		margin-top: 10%;
	}
	.contact_page .service_sec1 ul li {
		width: 60%;
	}
	.contact_page .service_sec1 ul li a{
		text-align: left;
		justify-content: flex-start;
		margin-bottom: 1.5rem;
	}
	.contact_form table td.nameinput input{
		width: 70%;
		margin-right: 20%;
		margin-left: 1rem;
		margin-top: 1rem;
	}
	#content.contact_page .form .sev_model{
		margin-bottom: 15%;
	}
	#content.contact_page .form{
		margin-bottom: 0;
		padding: 5% 8% 6%;
		margin: 5% 0% 0%;
		width: 100%;
	}
	.contact_form0{
		padding: 12% 5%;
		margin-bottom: 0;
	}
	#content.contact_page .form .contact_form{
		margin: 10% 0;
		padding-bottom: 25%;
	}
	#content.contact_page .form .form_message{
		margin: 5% 0% -5%;
		width: 100%;
	}
	#content.contact_page .call_sec .ttl_b{
		margin-top: 0;
	}
	#content.contact_page .call_sec .ttl_b h2{
		margin-bottom: -2rem;
	}
	#content.contact_page .call_sec .flex_wrap div p{
	font-size: 1.6rem;
}
	#content.contact_page .call_sec .flex_wrap{
	flex-direction: column;
		margin-bottom: 0%;
}
#content.contact_page .call_sec .flex_wrap div a {
	margin-bottom: 3%;
	font-size: 3rem;
}
#content.contact_page .call_sec .flex_wrap div:first-child{
	margin-bottom: 10%;
}
	#content.contact_page .call_sec .flex_wrap div{
	width: 100%;
	margin-bottom: 10%;
}
	.contact_form table {
    width: 100%;
    margin: 40px auto;
  }
  .contact_form table th, table td {
    display: block;
    width: 100%;
	  margin: 0;
  }
	.contact_form table td {
  text-align: left;
	width: 100%;
	padding:1rem 0 3rem;
	}
  .contact_form table th {
	  padding: 3rem 0 0rem;
  }
  .contact_form table td input.postnum{
	  width: 50%;
	  margin-left: 1rem;
  }
  .contact_form table td input.city2{
	  width: 100%;
	  margin-left: 0;
	  margin-top: 1rem;
  }
  .contact_form table td.address1 select{
	width: 45%;
	margin-top: 1rem;
	  margin-left: 1rem;
  }
  .contact_form table td input.city3{
	  width: 100%;
	  margin-top: 1rem;
	  margin-left: 0;
  }
	.contact_form table td input{
		width: 100%;
		margin: 0;
	}
	.contact_form table td textarea{
	width: 100%;
	margin-left: 0%;
}

.contact_form table td .wpcf7-form-control.wpcf7-radio{
	flex-wrap: wrap;
}
.contact_form table td .wpcf7-form-control.wpcf7-radio .wpcf7-list-item{
	width: auto;
	margin-right: 2rem;
}
.contact_form table td .wpcf7-form-control.wpcf7-radio label{
	height: 1rem;
}
.contact_form .btn_area{
	width: 70%;
	margin: 15% 15% 5%;
}
	.contact_form .sub-btn{
	padding: 1.5rem 4rem;
	text-align: center;
	width: 100%;
	margin: auto 0;
		font-size: 1.4rem;
}
	.contact_form .form_txt{
	margin-left: 0%;
	margin-right: 0%;
		font-size: 1.2rem;
}
.policycontact0 .policycontact1{
	margin-top: -0.5rem;
}
.policycontact0 .policycontact1 p a{
	margin-left: 1rem;
}
.policycontact0 .wpcf7-list-item{
	margin: 0;
}
}

.contactthanks_page.service_detail_page .serv_content2{
	margin-top: 8%;
	margin-bottom: 0;
}
.contactthanks_page.service_detail_page .serv_content2 .sev_ttl p{
	font-size: 2rem;
}
.contactthanks_page.service_detail_page .serv_content2 .sev_model p{
	margin-bottom: 2rem;
}
.contactthanks_page.service_detail_page .btn_area{
	justify-content: flex-start;
	margin: -0 5% 10% 0;
	width: 100%;
	justify-content: flex-start;
}
@media screen and (max-width: 767px) {
	.contactthanks_page.service_detail_page .serv_content2{
		margin-top: 25%;
	}
	.contactthanks_page.service_detail_page .btn_area{
		justify-content: center;
		margin: 15% 0 25%;
	}
	.contactthenks{
		padding-top: 35%;
	}
}



/* ===================================================================
// プライバシーポリシー
// ===================================================================*/

.policy_page .privacy1{
	margin: auto 5% 5%;
}
.privacy_sec{
	margin: 7% 8% 12%;
	background-color: #EFF9FD;
	padding: 6% 3% 3%;
}
.policy_page .privacy2{
	font-weight: 400;
	margin: auto 5% 5%;
}
.policy_page .privacy2 h2{
	font-size: 1.6rem;
	font-weight: 400;
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	color: #00A9E3;
	border-bottom: 1px solid #fff;
}
.policy_page .privacy2.privacylast{
	margin-bottom: 10%;
}
@media screen and (max-width: 767px) {
	.policy_page .privacy1{
		margin: 15% 5% 5%;
	}
	.policy_page .privacy2{
		margin: 25% 5% 5%;
	}
	.policy_page .privacy2.privacylast{
		margin-bottom: 25%;
	}
	.privacy_sec{
		margin: 20% 5% 32%;
		background-color: #EFF9FD;
		padding: 3% 3% 3%;
	}
	.policy_page .privacy2 h2{
		font-size: 1.5rem;
		border-bottom: 3px solid #fff;
		padding-bottom: 1rem;
	}
}


/*==================================================
ふわっ
===================================*/


/*動きのきっかけの起点となるクラス名 はじめは非表示に*/
.fadeInUpTrigger,
.fadeInDownTrigger,
.fadeInUpTriggerOnce{
    opacity:0;
}

/*========= アニメーションの指定 ===============*/


/* アニメーションの回数を決めるCSS*/

.count2{  
  animation-iteration-count: 2;/*この数字を必要回数分に変更*/
}

/* アニメーションスタートの遅延時間を決めるCSS*/

.delay-time{  
  animation-delay: 0.5s;
}

/* アニメーション自体が変化する時間を決めるCSS*/

.change-time{  
  animation-duration: 4.5s;/*この数字を変化させたい時間に変更*/
}

.txt {
    margin-bottom: 800px;
}
/* フェードインさせる要素 */
.block2 {
    width: 250px;
    height: 250px;
    background-color: #333;
    margin-bottom: 100px;
    opacity: 0; /* 最初は非表示にしておく */
    transition: all 2s; /* 動きを滑らかに */
}
/* フェードイン用のクラス */
.fadeIn {
    opacity: 1;
}


.header-sec {
  height: 126px;
  padding: 0 5%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-logo {
  width: 107px;
  height: auto;
}

.header-ul {
  list-style: none;
  position: relative;
  display: flex;
}

.header-ul li {
  font-size: 1.7rem;
font-weight: 700;
font-style: normal;
	margin-top: 2.2rem;
	margin-bottom: 2rem;
	float: left;
	position: relative;
}

.header-ul li a {
  display: block;
  color: #333;
  font-weight: bold;
  padding-bottom: 3px;
  font-weight: 400;
  font-style: normal;
  display: block;
  display: block;
  padding: 1rem 2rem;
}

.header-ul li a:hover {
  color: #999;
  transition: 0s;
}

.header-ul li:last-child {
  margin-right: 0px;
}
/*子階層以降共通*/
.header-ul li ul{
	position: absolute;
	z-index: 100;
	top: 100%;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 0;
}
.header-ul li li {
	overflow: hidden;
	width: 130%;
	height: 0;
	transition: .2s;
	margin: 0;
}
.header-ul li li a {
	background: #CAC9E0;
	text-align: left;
	font-weight: normal;
	margin: 0;
	font-size: 1.4rem;
}
.header-ul li li a:hover{
	opacity: 1;
	color: #fff;
}
.header-ul > li:hover li:hover > a {  background: #5764AD }
.header-ul > li:hover > ul > li {
  overflow: visible;
  height: 36px;
}
.header-ul li ul li ul {
  top: 0;
  left: 100%;
}
.header-ul li:last-child ul li ul {
  left: -100%;
  width: 100%;
}
.header-ul li ul li ul:before {
  position: absolute;
  content: "";
  top: 13px;
  left: -20px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
}
.header-ul li:last-child ul li ul:before {
  position: absolute;
  content: "";
  top: 13px;
  left: 200%;
  margin-left: -20px;
  border: 5px solid transparent;
}
.header-ul li ul li:hover > ul > li {
  overflow: visible;
  height: 38px;
}
.header-ul li ul li ul li a {  background: #616d0b }
.header-ul li:hover ul li ul li a:hover {  background: #535d09 }


.photo-sec {
  margin-top: 5%;
  margin-bottom: 5%;
}

.photo-box {
  width: 47.5%;
  margin-top: 5%;
}

.photo-box img {
  width: 100%;
  margin-bottom: 3.5%;
}


/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
  top:0;
    right: -500px;
  width:500px;
    height: 100vh;/*ナビの高さ*/
  background:#00A9E3;
    /*動き*/
  transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 500px;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 767px) {
	#g-nav{
		right: -120%;
		height: 105vh;/*表示する高さ*/
	  width:100%;
	}
	#g-nav.panelactive #g-nav-list{
		width: 100%;
		height: 105vh;/*表示する高さ*/
	}

}

/*ナビゲーション*/
#g-nav ul.mainmeu_sp {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    width: 100%;
    top:35%;
    left:50%;
    transform: translate(-50%,-50%);
}
@media screen and (max-width: 767px) {
	#g-nav ul.mainmeu_sp {
		/*ナビゲーション天地中央揃え*/
		position: absolute;
		z-index: 999;
		width: 85%;
		top:35%;
		left:50%;
		transform: translate(-50%,-50%);
	}
}

#g-nav ul.mainmeu_sp li.mainmeu_sp1{
    width: 100%;
}
#g-nav ul.mainmeu_sp li.mainmeu_sp1 a{
	padding-left: 5%;
	border-bottom: 1px solid #fff;
}
#g-nav ul.mainmeu_sp li.mainmeu_sp1 a p{
	font-size: 1.6rem;
	font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
#g-nav ul.mainmeu_sp li.mainmeu_sp1 a:hover,
#g-nav ul.mainmeu_sp li:hover a{
	opacity: 1;
}
#g-nav ul.mainmeu_sp li.mainmeu_sp1 a span{
	font-size: 1rem;
	line-height: 3rem;
	color: #fff;
	font-family: lato, sans-serif;
font-weight: 500;
font-style: normal;
}
#g-nav ul li{
	border-bottom: 0px;
}
#g-nav ul.mainmeu_sp li.mainmeu_sp1 ul li a{
	font-size: 1.4rem;
	margin-bottom: 0;
	padding-top: 0.5rem;
	font-weight: 400;
	padding-bottom: 0.5rem;
	margin: 0;
}

/*リストのレイアウト設定*/

#g-nav li{
  list-style: none;
    text-align: center;
	background-color: #00A9E3;
}

#g-nav li a{
  color: #fff;
  text-decoration: none;
  display: block;
  background-color: #00A9E3;
  opacity: 1;
  position: relative;
}
#g-nav li a::after {
	content: '';
	position: absolute;
	right: 20px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(0, -50%) rotate(45deg);
  }

/*========= ボタンのためのCSS ===============*/
  
/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn4{
	position:fixed;
	  z-index: 9999;/*ボタンを最前面に*/
	top:0;
	right: 0;
	background:#00A9E3;
	cursor: pointer;
	  width: 50px;
	  height:50px;
  }
  
  /*ボタン内側*/
  .openbtn4 span{
	  display: inline-block;
	  transition: all .4s;/*アニメーションの設定*/
	  position: absolute;
	  left: 14px;
	  height: 1px;
	  border-radius: 5px;
	background: #fff;
	  width: 45%;
	}
  
  
  .openbtn4 span:nth-of-type(1) {
	top:12px; 
  }
  
  .openbtn4 span:nth-of-type(2) {
	top:18px;
  }
  
  .openbtn4 span:nth-of-type(3) {
	top:24px;
  }
  
  .openbtn4 span:nth-of-type(1)::after {
	content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	top:20px;
	left: -3px;
	color: #fff;
	font-family: "barlow";
	font-size: 0.9rem;
	text-transform: uppercase;
	color: #fff;
  }
  
  /*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/
  
  .openbtn4.active{
	top: 2rem;
	right: 2rem;
  }
  .openbtn4.active span:nth-of-type(1) {
	  top: 10px;
	  left: 13px;
	  transform: translateY(6px) rotate(-30deg);
	  width: 50%;
  }
  
  .openbtn4.active span:nth-of-type(2) {
	opacity: 0;
  }
  
  .openbtn4.active span:nth-of-type(3){
	  top: 22px;
	  left: 13px;
	  transform: translateY(-6px) rotate(30deg);
	  width: 50%;
	  opacity: 1;
  }
  
  .openbtn4.active span:nth-of-type(1)::after {
	content:"Close";/*3つ目の要素のafterにClose表示を指定*/
	  transform: translateY(0) rotate(30deg);
	top:14px;
	left:-12px;
  }
  .nav_contactsp{
	  position: absolute;
	  bottom: 0%;
	  width: 85%;
	  left:50%;
	  transform: translate(-50%,-50%);
	  z-index: 999;
  }
  .nav_contactsp ul{
	  padding: 5% 8%;
  }
  .nav_contactsp ul li{
  }
  .nav_contactsp ul li a{
	display: flex!important;
	background-color: #fff!important;
	  color: #00A9E3;
	  justify-content: flex-start!important;
	  text-align: left;
	  gap: 1rem;
	  padding: 1rem 1rem 1rem 3rem;
	  border-radius: 45px;
	  margin-bottom: 0.5rem;
	  position: relative;
	  align-items: center!important;
	  align-content: center!important;
	  margin-bottom: 1rem;
  }
  .nav_contactsp ul li a img{
	  width: 2rem;
	  height: 2rem;
	  object-fit: contain;
  }
  .nav_contactsp ul li a p{
	  color: #00A9E3;
	  line-height: 1.5rem;
	  font-size: 1.5rem;
	  text-align: left;
	  font-weight: 400;
	  margin-top: 0.2rem;
  }
  .nav_contactsp ul li a:hover{
	  opacity: 0.6;
  }
  .nav_contactsp ul li.menu2_contact{
	  background-color: #fff;
	  border-bottom: 0px solid #DCDDDD;
	  color: #F3AE1B;
	  padding: 0.5rem 2rem;
	  font-family: "barlow";
	  font-weight: 500;
  }
  .nav_contactsp ul li:last-child{
	  border-bottom: 0px solid #DCDDDD;
  }
  @media screen and (min-width: 450px) {
	.nav_contactsp{
		position: absolute;
		bottom: 0%;
		width: 85%;
		left:50%;
		transform: translate(-50%,-50%);
	}
  }
/* 
===================================================================
// 設備紹介
// ===================================================================*/
.news_page.facility_page{
	margin-bottom: 10%;
}
.facility_page #mainttl{
	background: url(images/facility.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.facility_page{
	background-color: #fff;
	margin-bottom: 0;
}
.facility_page#content .archive_list .flex_wrap a{
	position: relative;
	width: 47.5%;
}
.facility_page#content .archive_list .flex_wrap a:hover{
	opacity: 0.5!important;
}
.facility_page#content .archive_list{
	padding-bottom: 5%;
	margin-bottom: 0;
}
.facility_page#content .archive_list .flex_wrap a h3{
	background-color: #666;
	color: #fff;
	height: auto;
	font-size: 2.5rem;
	padding:2rem 3rem;
	font-weight: 400;
	font-style: normal;
	text-align: center;
}
.facility_page#content .archive_list .flex_wrap a{
	padding: 2rem 2rem 0;
	margin-bottom: 7%;
}
.facility_page#content .archive_list .flex_wrap a .facility_content{
	margin: 2rem 3rem;
}
.facility_page#content .bread ul li,
.facility_page#content .bread ul li a{
	color: #000;
	font-weight: 400;
	font-style: normal;
}
@media screen and (max-width: 767px) {
	.news_page.facility_page{
		margin-bottom: 0%;
	}
	.facility_page#content .archive_list .flex_wrap a{
		width: 100%;
	}
	.facility_page#content .archive_list .flex_wrap a{
		padding: 2rem 2rem 0;
		margin-bottom: 12%;
	}
	.facility_page#content .archive_list .flex_wrap a .facility_content{
		margin: 2rem 1rem;
	}
	.facility_page#content .archive_list .flex_wrap a h3{
		font-size: 2rem;
		padding:2rem 1.5rem;
	}
}

/* 
===================================================================
// 導入事例
// ===================================================================*/
.works_page{
	background-color: #fff;
	margin-bottom: 0;
}

.works_page .top_works{
	margin: 5% 10%;
	background-color: #fff;
	padding: 0;
}
.works_page .top_works .flex_wrap.top_works2{
	flex-wrap: wrap;
	justify-content: flex-start;
}
.works_page .top_works .flex_wrap a{
	width: calc(94% / 3);
	border-radius: 10px;
	margin-bottom: 4rem;
	background-color: #EFF9FD;
	overflow: hidden;
	box-shadow: 0px 0px 0px #fff;
}
@media screen and (max-width: 767px) {
	.works_page .works_sec .flex_wrap{
		margin-bottom: 15%;
	}
	.works_page .works_sec .flex_wrap a{
		width: 100%;
		margin-bottom: 3rem;
	}
	.works_page .works_sec .pagenavi{
		margin-bottom: 25%;
	}
	.works_page .top_works .flex_wrap.top_works2{
		margin-top: 25%;
	}
	.works_page .top_works .flex_wrap.top_works2 a{
		width: 100%;
	}
}
.news_single_page .news_single figure img{
	text-align: left;
	width: 100%;
	max-width: none;
}
.news_single_page .news_single .single_category{
	display: inline-block;
	padding: 0.2rem 1rem;
	font-size: 1.2rem;
	background-color: #000;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.news_single_page .news_single .single_category{
		margin-bottom: 1rem;
	}
	.news_page.news_single_page .btn_area{
		width: 100%;
		padding-bottom: 30%;
		margin-top: 17%;
	}
}

/* ===================================================================
// コンテンツ記事
// ===================================================================*/

.news_page.news_single_page .news_single.contents .news_content{
	margin: 0 0 15%;
	background: #fff;
	padding: 0;
}
.news_page.news_single_page.content_page .bread {
  padding: 2rem 2rem 8rem;
	background-color: #fff;
}
.news_page.news_single_page.content_page .news_content h2{
	background: #fff;
	color:  var(--bodyback-color);
	padding: 4rem 0 1.5rem;
	font-weight: 400;
	font-style: normal;
}
.news_page.news_single_page.content_page .news_content img{
	background: #EFF9FD;
	width: 100%;
	padding: 4rem 30%;
}
@media screen and (max-width: 767px) {
	.news_page.news_single_page .news_single.contents .news_content{
		margin: -20% 0 15%;
	}
	.news_page.news_single_page.content_page .news_content img{
		background: #EFF9FD;
		width: 100%;
		padding: 2rem 5%;
	}
	.news_page.news_single_page.content_page .news_content h2{
		font-size: 1.8rem;
		font-weight: 700;
	}
}



/* ===================================================================
// 404
// ===================================================================*/



.errpage{
	padding-top:10%;
	margin-bottom:5%;
	text-align:center;
	width: calc(100% - 230px);
	margin-left: 230px;
}
.errpage h2{
	text-align:center;
	font-size:5rem;
}
.clearfix{
	text-align: center;
}
.clearfix .btn_area{
	justify-content: center;
	margin-bottom: 5%;
}
.clearfix li{
	margin-top:5%;
}
@media screen and (max-width: 767px) {
	.errpage{
	padding-top:30%;
	margin-bottom:10%;
	text-align:center;
	width: 100%;
	margin-left: 0;
}
	.errpage h2{
	text-align:center;
	font-size:3rem;
}
}
