@charset "UTF-8";

/* body
---------------------------------------------------------------------------*/
body {
background: url(../img/bg_page.jpg) repeat;
color: #7C461E;
}
#svg-bg-page {
position: absolute;
width: 100%;
height: 250px;
top: 0;
left: 0;
z-index: 1;
}
#svg-bg-content-bottom {
position: absolute;
width: 100%;
height: 150px;
top: 0;
left: 0;
z-index: 1;
}
@media only screen and (max-width: 1023px) {
#svg-bg-page {
height: 150px;
}
}
@media screen and (min-width: 1024px) {
.container{
width: 1000px;
margin: 0 auto;
padding: 0;
}
}


/*ページ内リンクずれ
---------------------------------------------------------------------------*/
html {
scroll-padding-top: 200px;
}


/*hr
---------------------------------------------------------------------------*/
hr {
border: none; 
border-top: 1px dotted #7C461E;
height: 1px;
clear: both;
margin: 15px 0;
}


/*title
---------------------------------------------------------------------------*/
#title {
width: 100%;
text-align: center;
position: relative;
overflow:hidden;
margin: 60px 0 30px 0;
}
#title h2 {
text-align:center;
font-size: 150%;
font-weight: bold;
line-height: 1.2;
color: #7C461E;
white-space: nowrap;
padding: 0
}
#title h2 span{
font-size: .5em;
display: block;
letter-spacing:.05em;
color: #F08300;
padding-bottom: 10px;
}
@media screen and (min-width:768px) {
#title {
margin: 120px 0 20px 0;
}
#title h2 {
font-size: 180%;
}
}

/*tex
---------------------------------------------------------------------------*/
.tex{
width: 100%;
line-height: 2em;
text-align:justify;
text-justify:inter-ideograph;
overflow: hidden;
padding: 40px 0
}
.tex img {
border: 0;
max-width: 100%;
height: auto;
box-sizing: border-box;
}
.tex p{
margin: 0;
padding: 0;
}
.tex img a {
border: 0;
}
.tex a:hover img,
.tex a:hover {
opacity: 0.8;
transition: 0.8s;
}
.tex a {
text-decoration: underline;
text-decoration-style:solid;
text-decoration-color:#7C461E;
color: #7C461E;
}
@media screen and (min-width:768px) {
.tex{
padding: 60px 0
}
}


/* 等分
---------------------------------------------------------------------------*/
.boxA:after{content: "";
display: block;
clear: both}
@media screen and (min-width: 768px) {
.box2{float: left;width: 47%;}
.box3{float: right;width: 47%;}
}
@media (max-width:767px){
.box2{margin-bottom: 10%}
}

/* ボックス*/
.box_nuri {
padding: 2.5em 3.5em;
margin: 1em 0;
background: #f5f5f5;/*背景色*/
}
.box_nuri p,
.box_waku p{
margin: 0; 
padding: 0;
}
.box_waku {
padding: 2em;
margin: 1.5em 0 0 0;
border: 1px solid #7C461E;
}
@media (max-width:767px){
.box_nuri {
padding: 1.5em 2em;
}
.box_waku{
padding: 1.5em;
}
}


/* ---------------------------------------------------------------------------------------------

　 table

--------------------------------------------------------------------------------------------- */
table {
width: 100%;
border-collapse: collapse;
margin: 10px 0;
border-style: solid;
border-width: 0;
border-bottom: 1px dotted #7C461E;
text-align: left;
}
table th,
table td {
padding: 1em;
border-top: 1px dotted #7C461E;
border-bottom: 1px dotted #7C461E;
vertical-align: middle;
}
table td img {
margin: 0 0 10px 0;
margin-bottom: 0;
}

/* 横線のデザイン */
.table_design {
border-collapse: collapse;
width: 100%;
}
.table_design td {
border-top: 2px solid #e6e6e6;
padding: 1em 0 1em 2em;
}
.table_design td:first-child {
border-top: 2px solid #EB6100;
width: 30%;
padding: 1em;
}
@media only screen and (max-width:768px) {
 .table_design td:first-child {
padding: 1em 0;
}
}

/*ギャラリー
---------------------------------------------------------------------------*/
.gallery {
width: 100%;
margin-bottom: 20px;
display: flex;
flex-wrap: wrap;
gap: 2%;
}
.gallery br {
display: none;
}
.gallery-item {
margin-bottom: 10px;
flex-grow: 0;
}
/* カラムごとの幅（gapを引いた幅を設定） */
.gallery-columns-1 .gallery-item {
flex: 0 0 100%;
}
.gallery-columns-2 .gallery-item {
flex: 0 0 calc(50% - 1%); /* gap 2% ÷ 2 = 1% */
}
.gallery-columns-3 .gallery-item {
flex: 0 0 calc(33.3333% - 1.3333%);
}
.gallery-columns-4 .gallery-item {
flex: 0 0 calc(25% - 1.5%);
}
.gallery-columns-5 .gallery-item {
flex: 0 0 calc(20% - 1.6%);
}
/* 画像 */
.gallery-icon {
text-align: center;
}
.gallery-icon img {
width: 100%;
height: auto;
margin-bottom: 10px;
}
/* キャプション */
.gallery-caption,
.wp-caption-text {
color: #333;
font-size: 14px;
margin: 0 0 10px;
text-align: center;
}
/* レスポンシブ対応 */
@media (max-width:767px) {
.gallery-columns-4 .gallery-item,
.gallery-columns-5 .gallery-item {
flex: 0 0 calc(50% - 1%);
}
}

/*キャプション
---------------------------------------------------------------------------*/
figure {
background-color: #fff;
padding: 5px;
display: table;
overflow: hidden;
}
figure img {
width:100%;
max-width: 100%;
height: auto;
}
figcaption {
display: table-caption;
caption-side: bottom;
background: #fff;
}
@media only screen and (max-width:60em) {
figure {
text-align:center;
clear:both;
overflow:hidden;
padding:0;
margin:0 auto
}
figure .alignright img,
figure .alignleft img{float:none;}
}


/* editボタン
---------------------------------------------------- */
.postmetadata{
margin: 10px 0;
width:100%;
clear:both;
}
.edit-link{
width:100%;
clear:both;
}
a.post-edit-link {
display: inline-block;
padding: 0 1.6em;
font-size: 0.8em;
color: #fff;
text-decoration: none;
user-select: none;
background: #999;
transition: 0.2s ease;
}
a.post-edit-link:hover {
opacity: .6;
color: #fff;
}
.edit-link:after{
content: "";
clear: both;
height: 0;
display: block;
visibility: hidden;
}


/* フォーム
---------------------------------------------------- */
/* 入力確認のチェックボックスを大きく */
form .wpcf7-acceptance input[type="checkbox"] {
transform: scale(2.0);
margin-right: 0.5em;
}

/* 確認赤枠 */
.red_line {
margin: 2em 0;
padding:2em;
border: solid 1px #EB6100;
text-align: center;
}
.red_line p {
margin: 0; 
padding: 0;
}
.red {
color: #EB6100;
font-weight: 500
}


/* fontサイズ
---------------------------------------------------- */
p.f-small{
font-size: .8em;
line-height: 1.6;
padding-top: 10px;
}


/*　申し込みフォーム
---------------------------------------------------- */
.cf7__list {
display: flex;
flex-direction: column;
gap: 20px; /* 行間 */
margin-bottom: 60px;
}
.cf7__row {
display: flex;
gap: 5%;/* dtとddの横間隔 */
border-bottom: 1px solid #7C461E; /* 下線は行単位 */
padding: 0.5em 0 1.5em 0;
}
.cf7__row dt {
width: 35%;
font-weight: bold;
}
.cf7__row dd {
width: 60%;
}

/* 必須・任意 */
.cf7__required,
.cf7__optional {
display: inline-block;
margin-right: 15px;
padding: 0 14px;
color: #fff;
font-size: 12px;
vertical-align: 1px;
}
.cf7__required {
background: #EB6100;
}

.cf7__optional {
background: #878D8E;
}

/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
width: 100%;
padding: 15px 20px;
background: #F4F4F4;
box-sizing: border-box;
border: 1px solid #d0d0d0;
outline: none;
font-size: 100%;
}
.cf7__list dd textarea {
font-size: 100%;
font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
.cf7__list dd input[type="text"]:focus,
.cf7__list dd input[type="tel"]:focus,
.cf7__list dd input[type="email"]:focus,
.cf7__list dd textarea:focus {
background: #fafadc;
border: 1px solid #EB6100;
outline: 0;
}
/* ドロップダウンメニュー */
.wpcf7-select {
  width: 100%;
  padding: 16px 20px; /* 右に矢印用スペース */
  background: #F4F4F4;
  color: #000;
  border: 1px solid #d0d0d0;
  font-size: 15px;
  line-height: 1.4;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  box-sizing: border-box;
}

/* フォーカス時の見た目 */
.wpcf7-select:focus {
  outline: none;
}

/* チェックボックス・ラジオボタン */
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
display: block;
padding: 15px 0 10px;
}

/* 縦並び（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item {
display: block;
margin: 0;
}

.cf7__list dd .wpcf7-list-item:nth-child(n + 2) {
margin-top: 18px;
}

/* マウスカーソル（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item label {
cursor: pointer;
}

/* チェックボックス・ラジオボタン */
input[type="checkbox"],
input[type="radio"] {
position: relative;
width: 18px;
height: 18px;
margin-right: 8px;
border: 1px solid #bcbcbc;
vertical-align: -3px;
cursor: pointer;
-webkit-appearance: none;
 -moz-appearance: none;
appearance: none;
}

/* チェックボックス */
input[type="checkbox"] {
background: #fff;
}
input[type="checkbox"]:checked {
border: 1px solid #7C461E;
background: #7C461E;
}
input[type="checkbox"]:checked:before {
position: absolute;
top: 2px;
left: 5px;
transform: rotate(50deg);
width: 6px;
height: 10px;
border-right: 2px solid #fff;
border-bottom: 2px solid #fff;
content: '';
}
/* ラジオボタン */
input[type="radio"] {
border-radius: 50%;
}
input[type="radio"]:checked:before {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 9px;
height: 9px;
border-radius: 50%;
background: #7C461E;
content: '';
}

/* プレースホルダー */
/* Google Chrome / Safari / Mozilla Firefox / Opera */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
color: #a5a5a5;
}

/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
color: #a5a5a5;
}

/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
color: #a5a5a5;
}

/* 送信ボタン */
.cf7__button p {
width: 40%;
margin: 0 auto;
text-align: center;
}

.cf7__button input[type="submit"] {
width: 100%;
height: 60px;
background: #7C461E;
color: #fff;
transition: opacity .6s;
outline: none;
border: none;   /* 枠を削除 */
box-shadow: none;   /* 影も削除 */
cursor: pointer;
border-radius: 30px;
}

.cf7__button input[type="submit"]:hover {
opacity: .6;
background-color:#ffffff;
border: 2px solid #7C461E;
color:#7C461E;
}

/* ajax-loader */
.wpcf7-spinner {
vertical-align: middle;
}
.wpcf7-spinner {
display: none!important;
}
@media screen and (max-width: 767px) {
 .cf7__row {
flex-direction: column; /* dtとddを縦並び */
gap: 5px;   /* 縦の間隔を少しに調整 */
}
.cf7__row dt,
.cf7__row dd {
width: 100%;/* 幅いっぱいに */
}
.cf7__list dd:nth-of-type(n + 2) {
margin-top: 0;
}
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
padding: 15px 0 0;
}

/* 送信ボタン */
.cf7__button p {
width: 60%;
}
}

/* label横並びにする */
.name-fields p,
.name-fields{
display: flex; /* 横並びにする */
gap: 1rem; /* ラベル間の隙間 */
}

.name-fields label {
flex: 1;
display: flex;
align-items: center; /* 縦位置を中央に */
gap: 0.5rem; /* 「姓」と入力欄の間に少し隙間 */
white-space: nowrap; /* 「姓」「名」を改行させない */
}

.name-fields input {
flex: 1;
box-sizing: border-box;
}
.name-fields select {
flex: 1; 
min-width: 156px;
box-sizing: border-box;
width: 100%;
}

@media (max-width: 767px) {
.cf7__list dt {
border-bottom: none;
}
.name-fields p,
.name-fields,
.name-fields label{
gap: 0.3rem;
}
.name-fields select {
width: 100%;
min-width: 110px;
}
}



/*　PCで改行
---------------------------------------------------- */
.br-sp {
display: none;
}
.br-pc {
display: block
}

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

.br-sp {
display: block
}
}


/*　AR photo frame
---------------------------------------------------- */
a.button-ar {
display: flex;
justify-content: center;
align-items: center;
width: 250px;
margin:20px auto;
padding: .9em 2em;
border: 2px solid #7C461E;
border-radius: 30px;
color: #7C461E;
font-size: 1em;
text-decoration: none;
}
a.button-ar:hover {
background-color: #7C461E;
color: #fff;
}

/*見出し
---------------------------------------------------------------------------*/
h3.midasi {
padding: .4em .7em;
border-left: 5px solid #7C461E;
color: #7C461E;
font-size: 150%;
font-weight: bold;
line-height: 1.2; 
}
@media screen and (max-width: 767px) {
h3.midasi {
font-size: 120%;
line-height: 1.1; 
}
}
