/*
Theme Name: Arkhe Child
Template: arkhe
Description: Arkheの子テーマです。
Version: 1.0
*/
/****************************************************************
* フォント用
****************************************************************/

.cormorant-<uniquifier> {
  font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.shippori-mincho-regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.shippori-mincho-medium {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;
}

.shippori-mincho-semibold {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

.shippori-mincho-bold {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-style: normal;
}

.shippori-mincho-extrabold {
  font-family: "Shippori Mincho", serif;
  font-weight: 800;
  font-style: normal;
}


/****************************************************************
* 英語書体　cormorant
****************************************************************/
.c-drawerNav__a,
.c-gnav,
.fotter-contact-box h2,
.c-pageTitle__main,
.l-footer__nav li a,
.top-contents-h2,
.page-contents-h2{
	font-family: "Cormorant", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
}


/****************************************************************
* しっぽり明朝 レギュラー
****************************************************************/
.p-drawer__close,
.top-catch01,
.top-sub-txt,
.c-copyright,
.fotter-contact-box h3,
.top-contents-h3,
.page-contents-h3,
.top-contents-h4,
.page-contents-h5,
.view-more,
.jisseki-group p,
.contents-table,
.snow-monkey-form,
.privacy{
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
}

/****************************************************************
* 全体
****************************************************************/
body{
	background-color:#f5f0e7;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 2000px auto;
}
body.page-id-19{/* TOPページ */
	background-image: url("/wp-content/uploads/2026/02/background-01.jpg");
}
body.page-id-21{/* CONTACTページ */
	background-image: url("/wp-content/uploads/2026/02/background-03.jpg");
}
body:not(.page-id-19):not(.page-id-21){/* それ以外 */
	background-image: url("/wp-content/uploads/2026/02/background-02.jpg");
}
@media screen and (min-width: 1999px) {
body{
	background-size: 100vw auto;
}
}

@media screen and (max-width: 900px) {
body{
	background-size: 900px auto;
}
body.page-id-19{/* TOPページ */
	background-image: url("/wp-content/uploads/2026/02/background01-sp.jpg");
}
body.page-id-21{/* CONTACTページ */
	background-image: url("/wp-content/wp-content/uploads/2026/02/background03-sp.jpg");
}
body:not(.page-id-19):not(.page-id-21){/* それ以外 */
	background-image: url("/wp-content/wp-content/uploads/2026/02/background02-sp.jpg");
}
}

/****************************************************************
* ヘッダー
****************************************************************/
.l-container{
	width:95vw;
	max-width:1350px;
	padding-left:0!important;
	padding-right:0!important;
}
.c-gnav{
	color:#232323;
	font-size:17px;
	gap:25px;
}
.l-header{
	background-color: transparent;
}
[data-scrolled="true"] .l-header{
	background: linear-gradient(0deg, rgba(245, 240, 231, 0), rgba(245, 240, 231, 1) 50%);
}

/****************************************************************
* モバイルヘッダー
****************************************************************/
.p-drawer{
	background:#f5f0e7;
}
.c-drawerNav__a,
.p-drawer__close,
.c-iconBtn__icon svg{
	color:#252525;
}
.c-drawerNav,
.c-drawerNav .menu-item{
	border-color:#cdc5b5;
}
/****************************************************************
* トップ
****************************************************************/
.l-main__body{
	margin-left:3%;
	margin-right:3%;
}
.top-catch01{
	margin-top:300px!important;
	color:#232323;
	font-size:63px;
	line-height:1.5em;
}
.top-catch02{
	margin-top:25px!important;
}
.top-sub-txt{
	color:#232323;
	font-size:14px;
	line-height:2em;
}

.top-contents-columns{
	height:350px;
}
.top-contents-columns02{
	margin-right:-5%;
}
.top-contents-h2,
.c-pageTitle__main{
	font-size:87px;
	color:#b4926d;
	line-height:1em;
}
.top-contents-h3,
.page-contents-h3{
	margin-top:0!important;
	font-size:16px;
  position: relative;
  padding-bottom: 12px; /* 線との余白 */
}
.top-contents-h3::after {
  content: "";
  display: block;
  width: 56px;
  height: 1px;
  background-color: #232323;
  margin-top: 26px;
}

.top-contents-h4{
	font-size:50px;
	line-height:1.5em;
	margin-bottom:25px!important;
}
.view-more-group{
	width:fit-content;
	gap:10px;
}
.view-more{
	font-size:14px;
}
.view-more-arrow{
	width:50px;
}

/* 矢印画像の初期状態 */
.view-more-arrow {
  transition: transform 0.3s ease, filter 0.7s ease;

}

/* 親にホバーしたとき */
.view-more-group:hover .view-more-arrow,
.jisseki-group:hover .view-more-arrow {
  transform: translateX(5px);
  filter: brightness(1.3);
}

.jisseki-group{
	background-color:#fff;
	border:1px solid #232323;
	padding:18px 10px;
	font-size:20px;
	line-height:1.5em;
	gap:30px;
}
@media screen and (max-width: 900px) {
.top-contents-columns{
	flex-wrap:wrap!important;
}
.top-contents-columns .wp-block-column {
        flex-basis: 100% !important;
}
.top-contents-columns{
	height:auto;
}
.top-contents-columns02{
	margin-right:0;
}
.jisseki-group{
	font-size:18px;
	gap:20px;
}
}
@media screen and (max-width: 600px) {
.top-catch-group{
	height:90vh;
  display: flex;
  flex-direction: column; /* 縦並び */
  justify-content: flex-end; /* 下揃え */
}
.top-catch01{
	margin-top:0!important;
	font-size:15vw;
}
.top-contents-h2,
.c-pageTitle__main{
	font-size:16vw;
}
.top-contents-h4{
	font-size:10vw;
}
.view-more-arrow{
	width:40px;
}
}

/****************************************************************
* コンテンツページ
****************************************************************/
.p-page__title {
	margin-bottom:10px;
}
.contents-top-columns{
	margin-left:3%;
}
.max800{
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
}

.page-contents-h2{
	font-size:60px;
	line-height:1.25em;
	color:#b4926d;
	margin-top:0;
}
.page-contents-h5{
	font-size:25px;
	line-height:2em;
}
.contents-table{
	border-top:solid 1px #cdc5b5;
	margin-top:0!important;
	gap:0!important;
	max-width:500px;
}
.contents-table02{
	max-width:430px;
}
.contents-table .left01,
.contents-table .right01{
	padding:20px 10px;
}

.contents-table .left01{
	color:#b4926d;
	padding-left:5%;
	flex-basis:150px!important;
	flex-grow:0!important;
	font-size:14px;
}
.contents-table .right01{
	color:#232323;
	font-size:14px;
}

.contents-table .left02,
.contents-table .right02{
	padding:10px 0;
}
.contents-table .left02{
	color:#b4926d;
	padding-left:3%;
	flex-basis:75px!important;
	flex-grow:0!important;
	font-size:36px;
	line-height:1.3em;
}
.contents-table .right02{
	color:#232323;
	font-size:24px;
	line-height:2.2em;
}
.contents-table-end{
	border-bottom:solid 1px #cdc5b5;
}

@media screen and (max-width: 781px) {
.contents-table .left01{
	padding-top:15px;
	padding-left:0;
	padding-bottom:0;
}
.contents-table .right01{
	padding-left:0;
	padding-top:4px;
	padding-bottom:15px;
}
}
@media screen and (max-width: 600px) {
.page-contents-h2{
	font-size:12vw;
	padding-bottom:2vw;
}
.contents-top-columns{
	margin-left:0;
}
.page-contents-h5{
	font-size:5vw;
}
.contents-table02{
	max-width:100%;
}
.contents-table .left02{
	flex-basis:15vw!important;
}
.contents-table .left02{
	font-size:7vw;
	font-size:min(7vw,36px)!important;
}
.contents-table .right02{
	font-size:5vw;
	font-size:min(5vw,25px)!important;
}
}
/****************************************************************
* フッター
****************************************************************/
.l-footer__widgets{
	padding-top:0;
	padding-bottom:15px;
}
.l-footer__inner{
	background-color:#232323;
}
.l-footer__nav {
	gap:2.5%;
	margin-bottom:30px;
}
.l-footer__nav li a{
	color:#fff;
	font-size:17px;
	text-decoration:none;
}
.c-copyright{
	color:#fff;
	font-size:12px;
}
@media screen and (max-width: 600px) {
.l-footer__nav {
	gap:10%;
	margin-bottom:30px;
	line-height:2em;
}
}

/****************************************************************
* フッター コンタクト
****************************************************************/
.fotter-contact-box{
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none; /* 念のため */
  transition: filter 0.3s ease;
}

.fotter-contact-box:hover {
  filter: brightness(1.1);
}

.contact-group{
	padding:12px 30px 12px 30px;
	gap:20px;
}
.fotter-contact-box h2{
font-size:72px;
color:#fff;
}
.fotter-contact-box h3{
	color:#fff;
	font-size:16px;
}
.fotter-contact-box .arrow{
	width:50px;
}
/* 矢印画像の初期状態 */
.fotter-contact-box .arrow {
  transition: transform 0.3s ease;
}

/* 親にホバーしたときに右へ移動 */
.fotter-contact-box:hover .arrow {
  transform: translateX(10px);
}

@media screen and (max-width: 600px) {
.contact-group{
	flex-wrap:wrap!important;
	padding:18px 30px 23px 30px;
}
.contact-group .wp-block-column {
	flex-basis: 100% !important;
}
.fotter-contact-box h2{
font-size:15vw;
line-height:1em;
margin-bottom:-15px;
}
.fotter-contact-box .arrow{
	width:40px;
}
}

/****************************************************************
 *コンタクト　個人情報保護方針
****************************************************************/
.privacy{
	border:1px #cdc5b5 solid;
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
	padding:40px;
}
.privacy h2{
	font-size:17px;
	font-weight:500;
}
.privacy p{
	font-size:14px;
	line-height:2em;
}
@media screen and (max-width: 600px) {
.privacy{
	padding:30px;
}
}

/****************************************************************
 *お問い合わせフォーム
****************************************************************/
.snow-monkey-form{
	max-width:730px;
	margin-left:auto;
	margin-right:auto;
}
.smf-form--simple-table .wp-block-snow-monkey-forms-item:not(:last-child) .smf-item__col:first-child{
	display: flex!important;
	align-items: center;
	justify-content: start;
}
.wp-block-snow-monkey-forms-item{
	font-size:14px;
	color:#232323;
	padding:4px 0!important;
	margin-bottom:2px!important;
}
.smf-form .smf-text-control__control{
	padding:18px;
}
.smf-item__col{
	padding-right:10px!important;
}
.smf-action .smf-button-control__control {
	font-size:14px;
    background-color: #232323;
    background-image: none;
    border-radius: 0;
    color: #fff;
	transition: 0.3s;
}
.smf-action .smf-button-control__control:hover {
    background-color: #b4926d;
	transition: 0.3s;
}

/* Snow Monkey Formsに必須マークをつける */
.smf-item__label__text {
    position: relative;
}
.smf-item__controls p{
	margin-top:5px;
}
.smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
  position: absolute;
  top: 50%;
  right: -50px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 40px;
  height: 23px;
  border-radius: 0px;
  content: "必須";
  font-size: 12px;
  color: #fff;
  background: rgb(180, 146, 106);
}

@media screen and (max-width: 639px) {
.smf-item__col{
	padding-top:10px;
	padding-bottom:0!important;
}
}