@charset "UTF-8";

/*共通
---------------------------------------------------------------------------*/
:root {
--themecolor: #f9be00;
--maincolor: #333333;
--bgcolor: #f7f4ef;
}

/*==============
調整
==============*/
html {
  scroll-padding-top: 200px;
}
	
/*	title
/* ------------------------------------- */
#title {
width:100%;
margin: 0 auto 40px auto;
padding: 0;
display: flex;
justify-content: space-between;
align-items: center;
max-width: 1000px;
}
#title .main-bg-box {
flex: 1;
margin-right: calc(50% - 50vw);
margin-left: 30%;
}
#title .inner {
width: fit-content;
padding: 0 0 0 6%;
text-align: left;
position:absolute;
color: var(--maincolor);
}
#title h2 {
font-size: 18px;
font-size: 1.8rem;
line-height: 1.4;
letter-spacing: .04em;
text-align:left;
font-weight:normal;
text-transform:capitalize;/* 英語先頭大文字*/
}
#title h2 span{
display: block;
font-weight: normal;
font-size: 16px;
line-height: 1.6;
color: var(--themecolor);
}
/* 共通　*/
#title .main-bg-box .t_other {
background-image: url(../img/page/t_other.jpg);
background-size:  cover;
height: 180px;
width: auto;
border-radius:50px 0 0 50px;
}

/* お問い合わせ */
#title .main-bg-box .t_contact {
background-image: url(../img/page/t_contact.jpg);
background-size:  cover;
height: 180px;
width: auto;
border-radius:50px 0 0 50px;
}

/* お知らせ */
#title .main-bg-box .t_news {
background-image: url(../img/page/t_news.jpg);
background-size:  cover;
height: 180px;
width: auto;
border-radius:50px 0 0 50px;
}



@media screen and (min-width: 1024px) {
#title .main-bg-box {
margin-left: 20%;
}
#title .main-bg-box .t_other, 
#title .main-bg-box .t_contact,
#title .main-bg-box .t_news{
height: 300px;
}
#title .inner {
padding: 0 ;
}
#title h2 {
font-size: 25px;
font-size: 2.5rem;
}
#title h2::before {
font-size: 9px;
font-size: 0.9rem;
}

}

/*	tex
/* ------------------------------------- */
.tex{
clear: both;
padding-top: 6%;
padding-bottom: 10%;
line-height:1.8;
font-size:1em;
text-align:left;
overflow: hidden
}
.tex img {
border: 0;
max-width: 100%;
height: auto;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
}
.tex a {
	text-decoration: underline;
	color: var(--themecolor);
	transition: 0.3s;
}

.tex a:hover {
	opacity: 0.5;
	text-decoration: underline;
}
.tex img {
border-radius:50px
}
.tex img a{
	border: 0;
}
.tex a:hover img {
  opacity: 0.6;
  transition: 0.5s;
}
.tex p {
line-height:2.1em;
}
@media screen and (min-width:1024px) {
.tex {
padding: 60px 0
}
}

/* midasi
/* ------------------------------------- */
h3.midasi {
padding: 1rem 2rem;
background-color: #f7f4ef;
color: var(--maincolor);
font-weight: normal;
font-size: 1.3em;
margin-bottom: 2%;
clear: both;
border-radius: 100vh;
}
h4.midasi {
position: relative;
padding: .8em 0;
font-size: 1.2em;
font-weight: normal;
}

h5.midasi {
padding: 0;
font-size: 1.1em;
line-height:	2em;
font-weight: normal;
}
	
h3.midasi:after,
h4.midasi:after,
h5.midasi:after{
content: "";
clear: both;
height: 0;
display: block;
visibility: hidden;
}

@media screen and (min-width:768px) {
h3.midasi{font-size: 1.4em;}
h4.midasi{font-size: 1.3em;}
h5.midasi{font-size: 1.2em;}
}


/*	hr
/* ------------------------------------- */

hr {
	border-width: 1px 0px 0px 0px; /* 太さ */
	border-style: dotted; /* 線種 */
	border-color: #f7f4ef; /* 線色 */
	height: 1px; /* 高さ */
max-width: 100%;
clear:both;
margin: 4% 0px;
}

/*arvhive
/* ------------------------------------- */
.i_date{
margin: 0 10px 0 0;
font-size:80%;
min-width: 100px;
}
/* 区切り線 */
.i_date .cat_info::before {
content: "";
display: inline-block;
width: 1px;
height: 10px;
background: #b5b5b5;
margin: 0 20px;
vertical-align: middle;
}
.i_text{
margin: 0;
text-decoration: none;
font-weight: normal;
font-size: 100%;
line-height: 150%;
color: #555;
padding:5px 0;
width: 100%;
}
.i_title{
color: #3F3F3F;
font-size: 1.3em;
line-height: 1.3;
font-weight:400;
margin: 10px 0 20px 0;
padding: 0;
}
@media screen and (min-width:768px) {
.i_title{
font-size: 1.6em;
line-height: 1.6;
margin: 1% 0 30px 0;
}
}

/* 前へ
---------------------------------------------------- */
.kiji_link{
display:flex;
justify-content:center;
}
.kiji_link a.btn_read_more{
display:flex;
justify-content:center;
align-items:center;
width:200px;
padding:.2em 1.3em;
border:1px solid var(--themecolor);
border-radius:25px;
color:var(--themecolor);
transition:.3s;
text-decoration:none
}
.kiji_link a.btn_read_more:hover{
background:var(--themecolor);
color:#fff;
}



/* back edit
---------------------------------------------------- */
.i_back{
max-width: 100%;
font-size:80%;
margin:10px 0;
}
.i_back a {
text-decoration: none;
}
.i_back a:visited {
text-decoration: underline;
}
.i_back a:hover {
text-decoration: underline;
}
.edit{
width:100%;
font-size:80%;
clear:both;
}



/* 等分
---------------------------------------------------------------------------*/
.boxA {
display: block;
}
@media screen and (min-width: 768px) {
.boxA {
display: flex;
justify-content: space-between;
gap: 5%;
}
.box2 {
flex: 1;
}
.boxB{width: 60%;}
.boxC{width: 35%;}
}
@media (max-width:767px){
.box2,.boxB{margin-bottom: 5%
}
}

/* ボックス*/
.box_nuri {
padding: 3em 1em;
margin: 0;
background: #f7f4ef;/*背景色*/
border-radius: 30px;
}
.box_nuri p,
.box_waku p{
margin: 0; 
padding: 0;
}
.box_waku{
padding: 3em 1em;
margin: 0;
border: 1px solid #d08d04;
border-radius: 30px;
}
.box_waku:after,
.box_nuri:after{
content: "";
display: block;
clear: both}
@media (max-width:767px){
.box_nuri,
.box_waku{
padding: 2em 1em;
}
}

/*pagination
---------------------------------------------------------------------------*/
.pagination {
clear: both;
padding: 20px 0;
position: relative;
font-size: 12px;
line-height: 12px;
text-align: center;
margin-bottom:3%
}
.pagination-box {
display: inline-block;
}
.pagination span, .pagination a {
display: block;
float: left;
margin: 2px 2px 2px 0;
padding: 8px 10px 8px 10px;
text-decoration: none;
width: auto;
color: var(--maincolor);
background: #f7f4ef;
}
.pagination a:hover {
color: var(--maincolor);
background: #d08d04;
}
.pagination .current {
padding: 8px 10px 8px 10px;
background: #d08d04;
color: var(--maincolor);
}
.page_box {
float: left;
width: 100%;
margin-top:20px
}

@media screen and (min-width: 768px) {
.pagination {
font-size: 14px;
line-height: 14px;
}
.pagination span, .pagination a {
padding: 10px 15px 10px 15px;
}
.pagination .current {
padding: 10px 15px 10px 15px;
}}

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

/* 次へ　戻る　前へ
---------------------------------------------------- */
.kiji_link{
display: flex;
align-items: flex-end;
height: 150px;
width: 350px;
margin: 0 auto
}
.kiji_link>div{
width: calc(100% / 3);
text-align: center;
vertical-align: middle;
}
.kiji_link a{
text-decoration: none;
color: var(--maincolor);
font-size: 1em;
}
.kiji_link a:hover{
opacity: 0.6;
transition: 0.5s;
}


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

　 table

--------------------------------------------------------------------------------------------- */
/* 必須マーク */
.must {
background: #ea5514;
}
/* 任意マーク */
.free {
background: #ccc;
}
.must,
.free {
color: #FFF;
font-size: 10px;
margin-right: 10px;
padding: 5px;
letter-spacing: 0.2em;
}
/* 入力確認のチェックボックスを大きく */
form .wpcf7-acceptance input[type="checkbox"] {
transform: scale(2.0);
margin-right: 0.5em;
}
/* CF7チェックボックスを縦並びに */
.wpcf7-checkbox .wpcf7-list-item {
margin-top:5px;
display: block;
}
/* CF7ラジオボタンを縦並びに */
.wpcf7-radio .wpcf7-list-item {
margin-top:5px;
display: block;
}
.font-s {
font-size: 80%
}

/* input・textarea */
.wpcf7 td input[type="text"],
.wpcf7 td input[type="tel"],
.wpcf7 td input[type="email"],
.wpcf7 td textarea {
width: 100%;
padding: 20px;
background: #F4F4F4;
box-sizing: border-box;
border: 1px solid #F4F4F4;
outline: none;
font-size: 100%;
}

.wpcf7 td textarea {
font-size: 100%;
font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

.wpcf7 td input[type="text"]:focus,
.wpcf7 td input[type="tel"]:focus,
.wpcf7 td input[type="email"]:focus,
.wpcf7 td textarea:focus {
background: #F4F4F4;
border: 1px solid #333;
outline: 0;
}

/* table */
table {
width: 100%;
border-collapse: collapse;
margin: 10px 0;
border-style: solid;
border-width: 0;
border-bottom: 1px solid #eee;
text-align: left;
}
table th,table#otoiawase th {
vertical-align: middle;
box-sizing: border-box;
}
table th,
table td {
font-weight:normal;
padding: 8px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
vertical-align: middle;
}
table#otoiawase th {
font-weight:normal;
padding: 8px;
border-bottom: 1px solid #eee;
}
table#otoiawase td {
font-weight:normal;
padding: 8px 0;
border-bottom: 1px solid #eee;
}
table.mobile-block {
border-left: none;
}
table.mobile-block th {
color:#333;
}
table td img {
margin: 0 0 10px 0;
margin-bottom: 0;
}
.red {
color: red;
}
.form_moji {
font-size: 130%;
}
/* 画像用 */
table.topwaku td,
table.topwaku {
font-weight:normal;
padding: 0px 10px;
border: none;
border-top: none;
}
textarea{
width:100%;
padding:5px;
box-sizing:border-box;
}
input[type="text"] ,input[type="email"] ,input[type="tel"] {
width:100%;
padding:5px;
box-sizing:border-box;
}
/* お問い合わせボタン */
.buttonContainer {
text-align: center;
padding: 20px 0 0 0;
}
#button {
width: 98%;
display: inline-block;
font: normal normal 300 1.3em '';
text-decoration: none;
color: var(--themecolor);
border: 1px solid var(--themecolor);
padding: 1em 0;
margin: 5px;
background-size: 200% 100%;
background-color: #fff;
transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
}
#button:hover {
color: rgba(255, 255, 255, 1);
background-color: var(--themecolor);
background-position: -100% 100%;
}
.contactform-width {
max-width: 100%;
}
/* 確認赤枠 */
.red_line {
margin: 2em 0;
padding:2em;
border: solid 1px red;
text-align: center;
font-weight:normal
}
.red_line p {
margin: 0; 
padding: 0;
}

@media screen and (min-width: 768px) {
table#otoiawase {
border-top: 1px solid #eee;
}
table#otoiawase th,
table#otoiawase td {
padding: 20px;
}
table#otoiawase th {
width:30%;
}
#button {
width: 240px;}
}
@media all and (max-width: 767px) {
table.mobile-block,
table.mobile-block th,
table.mobile-block td{border:none;}
table.mobile-block th,
table.mobile-block td{width:100%;display:block;}
table.mobile-block th,
table#otoiawase th,
table#otoiawase td{border-bottom:none;}
table#otoiawase td{margin-bottom: 15px}
}

/* simple-table */
.simple-table {
width: 100%;
border-collapse: collapse;
}
.simple-table td {
padding: 16px 0 16px 12px;
border-bottom: 1px solid #eee;
}

/*ギャラリー
---------------------------------------------------------------------------*/
.gallery {
display: flex;
flex-wrap: wrap;
gap: 16px; /* 隙間 */
margin-bottom: 20px !important;
}
.gallery br {
display: none;
}

/* =========================
 各アイテム
========================= */
.gallery-item {
margin: 0 !important;
}
/* 画像 */
.gallery-icon img {
width: 100%;
height: auto;
display: block;
}
/* キャプション */
.gallery-caption,
.wp-caption-text {
color: #222;
font-size: 14px;
margin-top: 6px;
text-align: center;
}

/* =========================
 カラム設定（PC）
========================= */
.gallery-columns-1 .gallery-item {
width: 100%;
}
.gallery-columns-2 .gallery-item {
width: calc((100% - 16px) / 2);
}
.gallery-columns-3 .gallery-item {
width: calc((100% - 32px) / 3);
}
.gallery-columns-4 .gallery-item {
width: calc((100% - 48px) / 4);
}
.gallery-columns-5 .gallery-item {
width: calc((100% - 64px) / 5);
}
@media (max-width: 767px) {
.gallery-columns-3 .gallery-item,
.gallery-columns-4 .gallery-item {
width: calc((100% - 16px) / 2);
}
/* 3カラム → 2 or 3調整 */
.gallery-columns-5 .gallery-item {
width: calc((100% - 16px) / 2);
}
}
/* ホバー */
.gallery-icon {
overflow: hidden;
}
.gallery-icon img {
transition: 0.3s;
}
.gallery-icon:hover img {
transform: scale(1.05);
}


/*キャプション
---------------------------------------------------------------------------*/
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;}
}