@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	font-size: 16px;
	scroll-behavior: smooth;
    scroll-padding-top: 100px;
	font-feature-settings: "palt";	
}

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

div, p,ul li, a, h1, h2, h3, h4, svg {
	font-family: "Noto Sans JP", serif;	
	color: #333;
	list-style: none;
	text-decoration: none;
	line-height: 2em;	
	font-feature-settings: "palt";	
}
.font_b {
	font-weight: bold;
}
.txt_red {
	color: #cc1414;
}
.txt_c {
	text-align: center;
}
.top_inr {
	width: calc(100% - 40px);
	max-width: 1200px;
	margin: 0 auto;
}
.sp_br {
	display: none;
}
@media (max-width: 820px) {
	.top_inr {
		width: calc(100% - 20px);
	}	
}
@media (max-width: 480px) {
	html {
		font-size: 13px;
	}	
	.sp_br {
		display: block;
	}	
}
/* ===============================================
ヘッダーのスタイリング
=============================================== */
header {
	width: calc(100% - 40px);
	  height: 80px;
	margin: 20px auto;
	border-radius: 40px;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
	z-index:9999;
}
.header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: inherit;
  color: #fff;
  padding: 0 25px;
  margin-right: auto;
  margin-left: auto;
}
.hamburger {
	display: none;
}
.header__logo {
	padding-left: 20px;
}
.header__logo a {
  text-decoration: none;
  font-size: 1.3rem;
  line-height: 1;
  text-transform: uppercase;
  color: #333;
  font-weight: bold;
}
.header__logo > a > span {
	padding-bottom: 0.5em;
	display: block;
	font-size: 0.9rem;
}



/* ===============================================
メニューのスタイリング
=============================================== */
.nav__list {
	display: flex;
}
.nav__item {
	font-size: 1em;
	font-weight: bold;
}
.home_link {
	display: none;
}
.nav__item a {
	padding: 10px;
	font-size: 0.9em;
	font-weight: bold;
}
.nav__item a:hover {
	opacity: .7;
	transition: .5s;
}
@media (max-width: 820px) {
	.hamburger {
		display: block;
		width: 50px;
	  height: 50px;
	  position: relative;
	  appearance: none;
	  border: 0;
	  padding: 0;
	  margin: 0;
	  background: #fff;
	  cursor: pointer;
	}
	.hamburger span,
	.hamburger span::after,
	.hamburger span::before {
	  position: absolute;
	  display: block;
	  content: "";
	  width: 100%;
	  height: 2px;
	  background: #222;
	  transition: all 0.5s;
	}
	.hamburger span::before {
	  top: -10px;
	}
	.hamburger span::after {
	  bottom: -10px;
	}
	.hamburger.open span {
	  background-color: transparent;
	}
	.hamburger.open span::before {
	  top: 0;
	  transform: rotate(45deg);
	}
	.hamburger.open span::after {
	  bottom: 0;
	  transform: rotate(-45deg);
	}	
	.nav {
	  position: fixed;
		width: 40%;
	  height: 100vh;
		top: 120px;
	  right: -100%; 
	  background: #fff;
	  padding: 50px 0;
	  transition: all 0.5s;
	  border-radius: 20px 0 0 0;	
	  border-top: solid 1px #f3f0eb;  
	  border-left: solid 1px #f3f0eb;  	  
	}
	.nav__list {
		display: block;
	}
	.home_link {
		display: block;
	}	
	.nav__item a {
	  display: block;
	  font-size: 1rem;
	  line-height: 1;
	  padding: 20px 0 20px 30px;
	}
	.nav__item a:hover {
	  color: #222;
	  background: #fff;
	}
	.nav.open {
	  right: 0;
	  height: 100vh;	
		top: 110px;
	}	
}
@media (max-width: 480px) {
	header {
		width: calc(100% - 20px);
		height: 70px;
		margin: 10px auto;
	}
	.header__logo {
		padding-left: 0;
	}	
	.header__container {
		padding: 0 20px;
	}	
    .hamburger {
        width: 30px;
        height: 30px;
    }	
	.nav {
		width: 60%;		
		top: 90px;
	}	
    .nav.open {
        top: 90px;
    }	
}
/*===========================
スライダー
===========================*/
#slider_area {
	padding: 100px 0 30px;
	background: #F7F4F0;
}

/* スライド共通のスタイル */
.splide__slide img {
  transform: scale(.7); /* 左右のスライドを小さくする */
  transition: .7s; /* ゆっくり小さくさせる */
	border-radius: 50px;
}
/* アクティブなスライドのスタイル */
.splide__slide.is-active img {
  transform: scale(1); /* 中央のスライドは小さくしない */
  z-index: 1; /* 中央のスライドを一番上にする */
}
/* スライドのサイズ調整 */
.splide__slide a img {
  height: auto;
  width: 100%;
}
.splide__slide {
	position: relative;
}
/* テキストのスタイル */
.splide__slide_txt {
	display: block;
	font-size: 2rem;
	line-height: 2rem;
	letter-spacing: 0.1em;	
  	color: #fff;
  	font-weight: 300;
  	text-shadow: 0 0 10px #222;
  	position: absolute;
  	top: 50%;
  	left: 50%;
  	transform: translateY(-50%) translateX(-50%);
 	 -webkit- transform: translateY(-50%) translateX(-50%);
    font-family: "Noto Serif JP", serif;	
	text-align: center;
}
@media (max-width: 480px){
#slider_area {
	padding: 0 0 0;
}	
/* スライド共通のスタイル */
	.splide {
		width: 100%;
		margin: 0 auto;
	}
	.splide__slide a img {
		width: auto;		
		height: 500px;				
		border-radius: 0;	
		transform: scale(1); /* 左右のスライドを小さくする */		
	}	
	.splide__slide > a > img {
		width: 100%;		
		height: 500px;				
  		object-fit: cover;		
		object-position: 50% 50%;				
	}	
}
/*===========================
ニュース
===========================*/
#news {
	width: calc(100% - 40px);	
	margin: 20px auto;
	max-width: 1000px;	
}
.news_box {
	margin: 0 auto;
}
.news_box > h2 {
	width: 130px
}
.til_l,.til_l_btm {
	font-size: 1.5rem;
}
.til_l_btm {
	text-align: center;
}
.til_l::before {
	content: "";
	width: 10px;
	height: 22px;
	margin-right: 20px;
	display: inline-block;
	background: #FAAE34;
	vertical-align: middle;
	position: relative;
	bottom: 2px;
}
.til_l_btm::after {
	content: "";
	width: 22px;
	height: 10px;
	margin: 40px auto;
	display: block;
	background: #FAAE34;
}
.news_inr {
	width: calc(100% - 130px);
}
.module-Article_Item_Body, .module-Article_Item_Meta {
	display: flex;
	align-items: center;
}
.news_inr > article{
	width: 100%;
	padding: 1rem 0;
	display: block;
}
.news_inr > article:first-of-type {
	padding: 0 0 1rem;	
}
.news_inr > article:last-of-type {
	padding: 1rem 0 0;	
}
.news_inr > article:not(:last-of-type) {
	border-bottom: solid 1px #333;
}
.module-Article_Item_Cat {
	margin-right: 5px;
	padding: 0 10px;
	border-radius: 20px;
	border: solid 1px #333;
	font-size: 0.9em;
}
.module-Article_Item_Date, .module-Article_Item_Title {
	margin-right: 5px;	
	padding: 3px 10px;	
}
.new_mark {
	margin-left: 5px;
	padding: 2px 5px;
	font-size: 0.7em;
	color: #fff;
	background: #44AA6F;
}
.blink{
	-webkit-animation:blink 1s ease-in-out infinite alternate;
    -moz-animation:blink 1s ease-in-out infinite alternate;
    animation:blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@media (max-width: 480px){
	.news_box {
		padding: 0 0;
		display: block;
	}	
	.news_inr {
	 	width: 100%;
		margin-top: 20px;
	}
	.module-Article_Item_Body{
		display: block;
	}
	.news_inr > article:first-of-type {
		padding: 1rem 0;	
	}	
	.module-Article_Item_Title {
		margin-top: 10px;
	}
}
/*===========================
ご挨拶
===========================*/
#message {
	padding: 100px 0;
	background: #F7F4F0;
}
#message > div:first-of-type {
	width: calc(100% - 40px);
	margin: 0 auto 50px;
	max-width: 1080px;
	display: flex;
	gap: 30px;
}
.message_img img {
	width: 160px;
}
.link_btn a {
   	width: 250px;	
    margin: 0 auto;
    padding: 5px 30px;	
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;	
    border-radius: 30px;
    background: #fff;
    color: #333;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
    font-weight: 500;
	border: solid 2px #333;
}
.link_btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);	
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
}
.link_btn a:hover {
  background: #333;
  color: #FFF;
}
.link_btn a:hover:after {
  right: 1.4rem;
}
@media (max-width: 480px){
	#message  {
		padding: 80px 0;
	}	
	#message > div {
		flex-wrap: wrap-reverse;
		gap: 0;
	}	
	#news,#message > div:first-of-type {
		width: calc(100% - 20px);
	}	
	.message_img {
		margin: 20px auto;
	}
	.message_img img {
		width: 100px;
	}
	.news_box > h2 {
		width: 100%;
	}		
}
/*===========================
よくある質問
===========================*/
#faq {
	padding: 100px 0;	
}
.faq_area {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.card {
    width: 32%;
	padding: 30px 30px 0;
	border-radius: 20px;
    font-size: 1rem;
    background: #F7F4F0;
	flex-shrink: 0;	
	position: relative;	
}
.card > div > h4 {
	margin-bottom: 5px;	
	padding-bottom: 8px;
	font-size: 1.1rem;
	line-height: 1.5em;
	border-bottom: solid 2px #333;
}
.faq_img01, .faq_img02, .faq_img03 {
	bottom: 0;
}
.faq_img01 {
	width: 100px;
	position: absolute;	
	right: 30px;	
}
.faq_img02 {
	width: 130px;
	position: absolute;	
	left: 30px;		
}
.faq_img03 {
	width: 170px;
	margin: 0 auto;
	padding: 10px 0 0;	
}
@media (max-width: 820px){	
	.faq_area {
		overflow-x: scroll;	
	}	
	.card {
		width: 50%;	
		margin: 10px;
	}
}	
@media (max-width: 480px){
	.card {
		width: 80%;
		margin: 10px;
	}
}	


/*===========================
点検について
===========================*/
#tenken {
	padding: 100px 0 50px;
	background: #fff;
}
#tenken > .inr {
	width: calc(100% - 40px);
	margin: 0 auto 50px;
	max-width: 1080px;	
}
.tenken_box {
	display: flex;
	gap: 30px;
}
.tenken_img {
	width: 35%;
}
@media (max-width: 820px) {
	#tenken > .inr  {
		width: calc(100% - 20px);
	}	
}
@media (max-width: 480px){
	#tenken  {
		padding: 80px 0 0;
	}	
}
/*===========================
点検の流れ
===========================*/
.posting img {
	width: 250px;
	margin: 30px auto;
}
.tenken_fl {
	max-width: 910px;
	margin: 0 auto;
	display: flex;
	align-items: center;
}
.tenken_fl > ul li {
	margin: 10px 0 10px 2rem;
	list-style: square;
}
.nagare {
	display: flex;
	justify-content: space-between;
}
.nagare_box {
	width: 48%;
}
.nagare_box > h3 {
	padding: 15px 20px;
	border-radius: 40px;
	font-size: 1.1em;
	color: #fff;
	background: #435BA9;
	text-align: center;
}
.nagare_box > div,.nagare_box > ul {
	margin-bottom: 20px;
	padding: 10px 20px;
}
.nagare_box > p {
	padding: 12px 0;
}
.nagare2 {
	width: calc(100% - 20px);	
	margin: 20px auto;
	padding: 20px 0 0 20px;
	border-radius: 20px;
	max-width: 550px;
	background: #f0e68c;
	display: flex;
	align-items: center;
	justify-content: center;
}
.nagare2_txt {
	padding-bottom: 20px;
}
.nagare2_img {
	width: 30%;
	max-width: 140px;
}
.nagare3 {
	max-width: 1200px;
	margin: 50px auto;
	padding: 30px 40px 40px;
	border-radius: 50px;
	background: #F7F4F0;
}
.nagare3 > h3 {
	margin: 30px 0 0;
	font-size: 1.2rem;
	line-height: 2rem;
	text-align: center;	
}
.nagare3_box {
	width: calc(100% - 20px);
	margin: 10px auto 0;		
	max-width: 950px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: solid 2px #333;
}
.nagare3_img {
	width: 160px;
	padding-right: 10px;
}
.nagare4_fl {
	width: calc(100% - 20px);
	margin: 10px auto;	
	display: flex;
	align-items: center;
	justify-content: center;	
}
.nagare4_img {
	width: 80px;
	position: relative;
	left: 10px;
}
.inr_wide {
	width: calc(100% - 40px);
	margin: 0 auto 50px;
	max-width: 1280px;		
}
.scroll_box {
	margin-top: 30px;
  overflow-x: auto;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}
.tenken img {
  max-width: 100%;
  min-width: 700px;
  vertical-align: top;
}
	.slideinLeft img  {
		display: none;
	}

.accent {
	line-height: 1;
	padding: 3px 5px 4px;
	display: inline-block;
	color: #fff;
	background: #cc1414;
}

@media (max-width: 820px) {
	.tenken_fl,.nagare3_box {
		display: block;
	}	
	.nagare3 {
		margin: 50px auto;
		padding: 10px 10px 30px;
		border-radius: 20px;		
	}	
	.nagare3_box {
		margin: 0 auto;
	}
	.nagare3 > h3 {
		margin: 30px 0 10px;
	}	
	.nagare3_img {
		width: 110px;
		margin: 0 auto 10px;
		padding-right: 0;
	}
	.nagare3_txt {
		padding-bottom: 10px;
	}	
	.nagare_box > ul {
		padding: 10px 20px;
	}	
	.nagare {
		display: block;
	}
	.nagare_box {
		width: 100%;
	}	
}
@media (max-width: 480px){
	.tenken_img {
    	width: 100%;	
		margin-bottom: 12px;
	}
	.tenken_box  {
		display: block;
	}	
	.tenken_fl > ul li {
		margin: 10px 0 10px 1.5rem;
	}	

	.nagare2 {
		padding: 15px 0 0 15px;
	}
	.nagare2_img {
		width: 110px;
		position: relative;
		left: 10px;
	}	
	.nagare_box > h3 {
		padding: 10px 20px;
	}			
}

/*===========================
所在地
===========================*/
#address {
	padding: 50px 0;
    background: #fff;	
}
#address > .inr {
	width: calc(100% - 20px);
	margin: 0 auto;
	max-width: 1000px;
	display:flex;
}
.address_box {
	width: 48%;
	margin-right: 2%;
}
.address_box > h1 > a {
	padding-bottom: 10px;
	display: block;
	font-size: 1.2rem;
	line-height: 1;
}
.address_box > h1 > a > span{
	padding-bottom: 0.5em;
	display: block;
	font-size: 0.9em;
}
.address_box > p {
	padding-bottom: 10px;
}
.address_box_inr {
	padding: 20px;
	background: #44A96F;
}
.address_box_inr_txt {
	margin-bottom: 10px;
	border-bottom: solid 1px #fff;
	color: #fff;
}
.address_box_til {
	margin-right:10px;
	padding: 1px 5px 2px;
	background: #fff;
	border-radius:3px;
	color: #44A96F;
	font-size:0.9em;
	font-weight: 800;
}
.address_box_txt {
	margin-top: 10px;
	font-size: 0.9em;
	color: #fff;
}
.txt_no {
	font-size: 1.5rem;
	color: #fff;
	font-weight: bold;
}
.address_box_inr_holiday {
	font-size:0.8em;	
	color: #fff;
}
/* Googleマップ */
.map {
    position: relative;
    width: 50%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 300px;
}
@media (max-width: 820px) {
	#address {
		padding: 80px 0 40px;
	}	
	#address > .inr {
		display: block;
	}
	.address_box,.map {
		width: 100%;
		margin: 0 auto;
	}
	.address_box_inr {
		margin-bottom: 10px;
	}	
	.map iframe {
		height: 100%;	
	}
}	
/*===========================
footer
===========================*/
footer {
    background-color: #e6e2df;
}

footer > div {
	max-width: 1280px;
	margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 40px;
}

.footer_left {
  max-width: 50%;
}

.footer__logo a {
    font-size: 1.3rem;
	line-height: 1;
    color: #333;
    font-weight: bold;
}
.footer__logo > a > span {
	margin-bottom: 10px;
    display: block;
    font-size: 0.9rem;
}

.footer_right {
  min-width: 300px;	
  display: flex;
  align-items: flex-end;
	justify-content: space-between;
}


.footer_links li {
	margin-bottom: 5px;
	font-size:0.8em;
}

.footer_links a {
  text-decoration: none;
  color: #333;
}
.form_btn a {
    background: #44A96F;
    border-radius: 20px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 5px 40px 5px 30px;
    color: #fff;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-size: 0.8rem;
}
.form_btn a:hover {
    background: #006400;
    color: #FFF;
}
.form_btn a:after {
    content: '';
    width: 6px;
    height: 6px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button a:hover:after {
    border-color: #FFF;
}

@media (max-width: 820px) {
	footer > div {
		display: block;
		padding: 20px;
	}	
	.footer_left {
		max-width: 100%;
	}	
	.footer_right {
		padding-top: 20px;
		min-width: 100%;
	}	
}
/*===========================
組合について
===========================*/
.main_content > section {
	padding: 40px 0;
}
.main_content > section > .til_l {
	margin-bottom: 30px;
	text-align: left;
}
ol {
	margin-left: 1.2rem;
}
.member_list {
	max-width: 500px;
}
/*===========================
施工例
===========================*/
.page_til {
	padding: 60px 0 0;
    background: #f3f0eb;	
}
    .main_visual {
		margin: 0 auto;
		max-width: 1280px;
      display: flex;
      align-items: center;
      padding: 40px;

    }

    .main_visual > img {
      width: 50%;
      border-radius: 12px;
      margin-right: 40px;
    }

    .main_visual_text h2 {
      margin: 0;
    }
.main_visual_text {
      width: 50%;	
	position: relative;
}
.main_visual_text > div {
	width: 100%;
	display: flex;
	align-items: center;	
	justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);	
}
.main_visual_text > div > h2 {
	font-size: 1.5em;
}
.til_icon {
	width: 60px;
	margin-left: 20px;
}
    .main_content {
		width: calc(100% - 40px);
		margin: 0 auto;
		padding: 80px 0;
      max-width: 1000px;
      margin: auto;
    }

    .project_list {
      display: flex;
      flex-wrap: wrap;
    }

    .project_text {
      flex: 2;
	  margin-bottom: 20px;
    }
    .project_text > h3 {
		margin-bottom: 20px;
	}
    .project_text ul > li {
		width: 100%;
		margin: 0 auto 10px;		
		display: flex;
	}
	.year {
		width: 70px;
	}
	.li_txt {
		width: calc(100% - 70px);
		margin: 0 auto;
	}
    .project_images {
		min-width: 200px;
      flex: 1;
    }
   .project_images > p {
	min-width: 180px;
	margin: 0 0 10px 10px;
	font-size: 0.8em;
   }
    .project_images img {
      border-radius: 10px;
    }
@media (max-width: 820px) {
	.page_til {
		padding: 80px 0 0;		
	}
    .main_visual {
      padding: 20px;

    }
	.main_visual_text > div > h2 {
		font-size: 1.1rem;
	}	
	.main_visual > img {
		margin-right: 20px;
	}	
	.til_l::before {
		margin-right: 10px;
	}	
	.til_icon {
		width: 50px;
		margin-left: 10px;
	}
}	
@media (max-width: 480px) {
    .project_list {
      display: block;
    }	
	.project_images > p {
		margin: 0 0 10px 0;
	}	
    .page_til {
        padding: 80px 0 0;
    }
    .main_visual {
      padding: 10px 0 20px 10px;
    }
    .main_visual > img {
        margin-right: 10px;
    }
}	

/*----------------------------------------
お問合せ
----------------------------------------*/
.form_inr {
	width: calc(100% - 20px);
	margin: 0 auto;
	padding: 100px 0;
	max-width: 800px;
}
.form_inr > .til_l {
	margin-bottom: 30px;
}
.contents_box.inquiry {
  margin: 0 auto;
  width: 600px;
}

.pagetitle.inquiry {
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  min-height: 140px;
  padding-bottom: 20px;
  padding-top: 80px;
}
::marker {
    font-size: 1rem;
}
.pagetitle.inquiry h2 {
  margin: 0 auto;
  width: 600px;
}

.contents_box.inquiry .lead {
  margin-bottom: 40px;
}

/***** progress *****/
.inquiry_progress_wrapper {
  margin: 40px auto 60px;
  position: relative;
  width: 450px;
  z-index: 1;
}

.inquiry_progress_wrapper:before {
  background-color: #d2d2d2;
  content: "";
  height: 2px;
  left: 75px;
  position: absolute;
  top: 17px;
  width: 300px;
}

.inquiry_progress {
  display: flex;
  margin: 0 auto;
  position: relative;
  width: 100%;
  z-index: 2;
}

.inquiry_progress:before, .inquiry_progress:after {
  background-color: #333333;
  content: "";
  height: 2px;
  opacity: 0;
  position: absolute;
  top: 17px;
  transition: .8s ease;
  transform-origin: left center;
  width: 149px;
}

.inquiry_progress:before {
  left: 84px;
}

.inquiry_progress:after {
  left: 234px;
}

.inquiry_progress.second:before,
.inquiry_progress.third:after {
  animation: .8s ease 0.5s forwards progressbar;
}

@keyframes progressbar {
  0% {
    opacity: 0;
    transform: scalex(0);
  }
  100% {
    opacity: 1;
    transform-origin: left top;
    transform: scalex(1);
  }
}
.inquiry_progress.third:before {
  opacity: 1;
}

.inquiry_progress_item {
  color: #d2d2d2;
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 1.3rem;
  position: relative;
  width: 150px;
  z-index: 10;
}



.inquiry_progress_item.current,
.inquiry_progress_item.done {
  color: #333333;
}

.inquiry_progress_item.current:after {
  background-color: #e0e0e0;
  content: "";
  border-radius: 50%;
  display: block;
  height: 32px;
  left: center;
  position: absolute;
  top: 1px;
  width: 32px;
  z-index: 2;
}





.formbox dl {
  margin-bottom: 40px;
}

.formbox dl dt {
  align-items: center;
  display: flex;
  font-weight: bold;
  margin-bottom: 10px;
}

.formbox dl dt .must {
  background-color: #cc1414;
  color: #fff;
  font-size: 0.8em;
  line-height: 1;
  margin-left: 10px;
  padding: 3px 8px 4px;
}

.formbox dl dd {
  margin-bottom: 10px;
}

.formbox dl dd ul.checklist {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
}

.formbox dl dd ul.checklist li {
  margin-right: 40px;
}

.inquiry_postcode {
  display: flex;
}

.inquiry_postcode input {
  margin-right: 20px;
  width: 50%;
}

.inquiry_postcode a {
  align-items: center;
  border-radius: 6px;
  display: inline-flex;
  height: 100%;
  margin: 0;
  width: auto;
}

/* privacy */
.inquiry_privacy {
  border: solid #b5b5b6 1px;
  font-size: 1.3rem;
  height: 200px;
  margin: 20px auto;
  overflow-y: scroll;
  padding: 20px;
  background: #fafafa;
}

.inquiry_privacy h4 {
  font-size: 1.1rem;
  margin-bottom: 20px;
}

.inquiry_privacy h5 {
  border-left: 6px double #727272;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 1em;
  margin-top: 1.5em;
  padding-left: 14px;
  padding-right: 14px;
}



.inquiry_privacy p {
	font-size: 0.9rem;
	margin: 0 0 10px;
}





.inquiry_btnbox {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  padding: 0 30px;
}



.inquiry_privacy .kome {
  color: #FD4B66;
  margin-right: 6px;
}


.inquiry_btnbox input:after {
  content: "\f105";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  margin-left: 10px;
}

.inquiry_btnbox input:hover {
  cursor: pointer;
}




.enter_btn {
	width: 180px;
	padding: 10px 0;
	border-radius: 8px;
	display: block;
    border: none;	
	font-size: 1.5em;
	color: #fff;
	font-weight: bold;
	background: #FAAE34;
}
.enter_btn:hover {
	opacity: .7;
	transition: .5s;
}
/* form */
::placeholder {
  color: #b5b5b6;
}

input[type="text"]:focus,
textarea:focus {
  border: solid #1dc5e7 1px;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  border: solid #b5b5b6 1px;
  border-radius: 6px;
  padding: 20px;
  width: 100%;
}

.wpcf7-list-item {
  margin: 0 30px 0 0;
}

/* confirm */
.confirm_table {
  width: 100%;
}

.confirm_table tr {
  border-bottom: solid #DBDBDB 1px;
}

.confirm_table th {
  padding: 10px 20px;
  text-align: left;
}

.confirm_table td {
  padding: 10px 20px 10px 20px;
}

/*----------------------------------------
ニュース
----------------------------------------*/
.article_area {
	height: 100vh;
}
.article_inr {
	width: calc(100% - 20px);
	margin: 100px auto;
	padding: 40px;
	max-width: 900px;
	background: #fff;;
}

.article_til {
	margin-bottom: 20px;
	padding: 3px 10px;
	border-left: solid 10px #FAAE34;
	border-bottom: solid 2px #FAAE34;	
	font-size: 1.2rem;
}
.content-Meta, .content-Body {
	padding-left: 20px;
}
.content-Meta {
	margin-bottom: 10px;
}
.content-Meta > a:first-of-type {
	margin-right: 5px;
    padding: 0 10px;
    border-radius: 20px;
    border: solid 1px #333;
    font-size: 0.8em;
}
@media (max-width: 480px) {
	.article_inr {
		width: calc(100% - 20px);
		margin: 0 auto;
		padding: 15px;
	}	
	.article_til {
		margin-bottom: 10px;
		border-left: solid 5px #FAAE34;		
	}
	.content-Meta, .content-Body {
		padding-left: 15px;
	}		
}