@charset "UTF-8";
/*
Theme Name: 1osMC
Theme URI: https://web.1os.co.jp/
Author: One OS inc.
Author URI: https://1os.co.jp/
Description: このテーマは株式会社ワンオーエス(サービス名：クオリティWebデザイン)によって作成されました。高品質でカスタマイズ可能なデザインを提供し、ユーザーに素晴らしいエクスペリエンスをもたらします。
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 1os_mc
Tags: レスポンシブ, マルチ, 1カラム, 2カラム, 翻訳対応
*/

/**********  カスタマイズCSS **********/

.faq_question{
	position: relative;
	cursor:pointer
}

.faq_question::after{
  content: "+";
  position: absolute;
  right: .8em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  transition: transform .3s ease;
}

.faq_question[aria-expanded="true"]::after{
  content: "−";
}

.faq_answer{
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease, opacity .3s ease;
  opacity: 0;
	border-top:none;
}

.faq_item.is-open .faq_answer{
  opacity: 1;
}

.privacyArea{
	max-height:30vh;
	overflow-y:scroll
}

#wpcf7-f175-p3-o1{
	.hidden-fields-container,
	.wpcf7-not-valid-tip,
	.screen-reader-response{
		display:none;
	}
	.contact_form .wpcf7-not-valid-tip{
		display:block;
		font-size:.8rem
	}
}
.wpcf7 .wpcf7-not-valid{background:#edd1aa;border:1px solid #c06b6b;color:#444}
.wpcf7-response-output{text-align:center;font-size:.9em;}
.wpcf7-not-valid{
  border-color: #d63638;
  background: #fff5f5;
}
/* ==============================
   Contact Form 基本
============================== */
form.wpcf7-form .contact_form {

  dt,
  dd {
    margin: .2em 0 !important;
  }

  dt {
    border-radius: .25em;
  }

  input,
  textarea {
    border: 1px solid #ccc;
    padding: .8em !important;
    border-radius: .25em;
	width:100%;
  }

  input:focus,
  textarea:focus {
    border: 1px solid #444;
    outline: none;
  }

}


/* ==============================
   date input
============================== */
input[type="date"] {
  padding: 12px 14px;
  font-size: 16px; /* iOS拡大防止 */
  border-radius: 8px;
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
  cursor: pointer;
}

input[type="date"]:focus {
  border-color: #333;
  outline: none;
}

/* ==============================
   Radio（CF7）
============================== */
.wpcf7-radio {
  display: flex;
  gap: 12px;
}

.wpcf7-radio .wpcf7-list-item {
  margin: 0;
}

.wpcf7-radio .wpcf7-list-item label {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: .4em;
  font-size: 16px;
  cursor: pointer;
}

/* 元のradioを隠す */
.wpcf7-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
}

/* ラベル */
.wpcf7-radio .wpcf7-list-item-label {
  position: relative;
  padding-left: 2em;
  display: inline-block;
}

/* 外枠（○） */
.wpcf7-radio .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1.6em;
  height: 1.6em;
  border: 1px solid #999;
  border-radius: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
}

/* 中の● */
.wpcf7-radio .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: .3em;
  top: 50%;
  width: 1em;
  height: 1em;
  background: #333;
  border-radius: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform .2s ease;
}

/* checked */
.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label::after {
  transform: translateY(-50%) scale(1);
}

.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label::before {
  border-color: #333;
}
/* ==============================
   Select
============================== */
.wpcf7-select {
  padding: 12px 40px 12px 14px;
  font-size: 16px; /* iOSズーム防止 */
  border-radius: .25em;
  border: 1px solid #ddd;
  background-color: #fff;
  color: #777;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  line-height: 1.5;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
/* フォーカス時 */
.wpcf7-select:focus {
  outline: none;
  border: 1px solid #333;
}
.wpcf7-form-control-wrap {
  position: relative;
}

.wpcf7-form-control-wrap:has(select)::after {
  content: "\f0d7" !important;
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  pointer-events: none;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-size: 16px;
  color: #666;
}

.design_box-01{
	border-top-right-radius: 2rem;
	border-bottom-left-radius: 2rem;
	overflow: hidden;
}
.design_box-02{
	border-top-right-radius: 2rem;
	border-bottom-left-radius: 2rem;
	margin: 0;
	position: relative;
	z-index: 0;
}
.design_box-02::before {
	border-top:3px solid #efd7a2;
	border-left:3px solid #efd7a2;
	content: '';
	display: block;
	position: absolute;
	top: -2px;
	left: -2px;
	width: 20px;
	height: 20px;
	z-index: 1;
}
.home_bg_image_box{
  position: relative;
  overflow: hidden;
  border-top-right-radius: 2rem;
  border-bottom-left-radius: 2rem;
}
.home_bg_image_box::before{
  content:"";
  position:absolute;
  inset:0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: .3;                 /* ← 画像だけ半透明 */
  z-index: 0;
}
/* 背景画像レイヤー */
#home_bg_image_box-01::before{
  background-image: url("/wp-content/uploads/a-room-with-white-walls-and-shelves-filled-with-books-jop88ibsjdi.webp");
}
#home_bg_image_box-02::before{
  background-image: url("/wp-content/uploads/a-long-white-hallway-with-plants-in-the-middle-owk-qmgd0vg.webp");
}
#home_bg_image_box-03::before{
  background-image: url("/wp-content/uploads/a-bathroom-with-a-tub-sink-and-toilet-in-it-1bgsdtsklgq.webp");
}

/* 中のコンテンツは前面 */
.home_bg_image_box > *{
  position: relative;
  z-index: 1;
}

.bg_color_img-01{
  position: relative;
  overflow: hidden;
}
.bg_color_img-01::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: url("/wp-content/uploads/a-room-with-a-table-and-chairs-ettc5yslog4.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity:.3;
  z-index:0;
}
.bg_color_img-01 > *{
  position: relative;
  z-index:1;
}
#home_history_text{
	margin-top:-32px;
	border-top-right-radius: 2rem;
	border-bottom-left-radius: 2rem;
	background-color:rgba(0,0,0, .7)
}

#global_nav #menu-item-11{
	display:none;
}
@media all and (min-width:1024px){
	#global_nav #menu-item-11{
		display:flex;
		margin-left:2rem;
	}
	#global_nav #menu-item-11 > .menu_link{
		border-radius:.2em;
		border:1px solid #fff;
		margin-top:-.3em;
		line-height:1;
		font-weight:700;
		padding:1.2em 1.8em;
		background-color:rgba(0,0,0, .2);
	}
	#global_nav #menu-item-11 > .menu_link:hover{
		border:1px solid #efdbbf;
		background-color:rgba(0,0,0, .6);
	}
	#global_nav #menu-item-11 > .menu_link::before,
	#global_nav #menu-item-11 > .menu_link::after{
		display:none!important;
	}
	#home_history_text{
		margin:0;
		border-radius: 0 2rem 2rem 0;
	}
	.privacyArea{
		max-height:20vh;
	}
}