@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@700;900&display=swap');
/*Reset*/
*,
*::before,
*::after {
  box-sizing: border-box
}
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none
}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul {
	margin: 0;
	padding:0;
}
ul[role='list'],
ol[role='list'] {
  list-style: none
}
li {
  list-style-type: none;
}
body {
  min-height: 100vh;
  line-height: 1.5;
	background: #f2f1ed;
}
h1,h2,h3,h4,button,input,label {
  line-height: 1.4
}
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor
}
img,
picture {
  max-width: 100%;
  display: block;
	height: auto;
}
input,
button,
textarea,
select {
  font: inherit
}
textarea:not([rows]) {
  min-height: 10em
}
:target {
  scroll-margin-block: 5ex
}
/*-----*/

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

html,
button,
input,
select,
textarea,
.font_defo{ 
	font-family:"Lato","Noto Sans JP", sans-serif;
	font-weight: 500;
	font-feature-settings: "palt";
	text-align: justify;
	color: #43423a;
}

body {
	margin: 0;
    padding: 0;
    font-size: 1.55rem;
    line-height: 1.9;
	position:relative;
}

a:focus,a {
    outline: none;
}

a:active,
a:hover {
    outline: none;
}

h1 {
    font-size: 2.9rem;
    margin: 0;
}

h2,h3,h4{
    font-size: 2.6rem;
    margin: 0;
	font-weight: 500;
}
b,
strong {
    font-weight: bold;
}
small {
    font-size: 80%;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
a{
	text-decoration:none;
	color:#43423a;
}
a:hover{
	filter: brightness(1.1)
}

header .pcnav{
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	justify-content: end;
}

.site-header {
    width: 100%;
    background-color: #f2f1ed;
    border-bottom: 1px solid #edeae3;
	position: fixed;
	z-index: 9;
	top: 0;
	left: 0;
}
.header-logo{
	position:relative;
	z-index: 3;
}
.header-inner {
    margin: 0 auto;
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-logo img {
    height: 50px;
    width: auto;
    display: block;
}
.header-nav ul {
    display: flex;
    list-style: none;
    gap: 15px;
}

.header-nav a {
    text-decoration: none;
    color: #43423a;
    transition: color 0.3s;
}

.header-nav a:hover {
    color: #fe7932; /* ホバー時の色 */
}

/* 右側：アクションエリア */
.header-action {
    display: flex;
    align-items: center;
    gap: 16px;
	margin-left: 16px;
}

/* 電話番号部分 */
.tel-box {
    text-align: right;
    line-height: 1.3;
}

.tel-number {
    color: #fe7932;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
}

.tel-hours {
    font-size: 1.2rem;
    font-weight: bold;
    color: #43423a;
}

/* お問い合わせボタン */
.contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fe7932;
    color: #f2f1ed;
    text-decoration: none;
    padding: 10px 24px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 14px;
    transition: opacity 0.3s;
    gap: 5px;
}

.contact-btn:hover {
    /*opacity: 0.8;*/
}

/* ボタン内のアイコン微調整 */
.mail-icon {
    position: relative;
    top: 1px;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 0;
  top   : 0;
  background: #fe7932;
  width : 60px;
  height: 60px;
  cursor: pointer;
  text-align: center;
}
.hamburger:after{
	content:"メニュー";
	position:absolute;
	bottom:4px;
	left:0;
	right:0;
	margin:auto;
	color:#f2f1ed;
	font-size:1.2rem;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 0;
  right:0;
  margin:auto;
  background : #f2f1ed;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 12px;
}
.hamburger span:nth-child(2) {
  top: 22px;
}
.hamburger span:nth-child(3) {
  top: 32px;
}


.hamburger.active span:nth-child(2){
  width: 0px;
}
.hamburger.active span:nth-child(1),
.hamburger.active span:nth-child(3){
  background :#f2f1ed;
  transition-delay: 0.3s;
}
.hamburger.active span:nth-child(1){
  transform: translateY(10px) rotate(45deg);
}

.hamburger.active span:nth-child(3){
  transform: translateY(-10px) rotate(-45deg);
}

.sptelbtn{
	position: fixed;
    z-index: 3;
    right: 60px;
    top: 0;
    width: 60px;
    height: 60px;
    cursor: pointer;
    text-align: center;
	padding: 6px;
	display: none;
}

nav.globalMenuSp {
	position: fixed;
	z-index : 2;
	top  : 0;
	left : 0;
	color: #f2f1ed;
	background:#f2f1ed;
	text-align: center;
	width: 100%;
	height: 100vh;
	display: none;
	align-items: center;
	padding: 24px;
}


nav.globalMenuSp .spnavin{
	height:100%;
	margin-top: 80px;
}

nav.globalMenuSp .spnavin .tel-box{
	text-align: center;
    background-color: #fe7932;
    color: #f2f1ed;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 14px;
    transition: opacity 0.3s;
}
nav.globalMenuSp .spnavin .tel-box .tel-hours{
	color:#f2f1ed;
}
nav.globalMenuSp .spnavin .tel-number{
	color:#f2f1ed;
}
nav.globalMenuSp .spnavin .contact-btn{
	margin:40px auto 10px;
	font-size: 1.8rem;
}

nav.globalMenuSp .spnav01 li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp .spnav01 li:last-child {
  padding-bottom: 0;
}

nav.globalMenuSp .spnav01 li a {
  display: block;
  color: #43423a;
  padding: 1em 0;
  text-decoration :none;
  font-size: 1.8rem;
  text-align:left;
	border-bottom: 1px solid #fe7932;
}
nav.globalMenuSp .spnav01 li{
	opacity: 0;
}
nav.globalMenuSp.active ul li:nth-child(1) {
  animation: tatata 0.5s ease .1s forwards;
}
nav.globalMenuSp.active ul li:nth-child(2) {
  animation: tatata 0.5s ease .2s forwards;
}
nav.globalMenuSp.active ul li:nth-child(3) {
  animation: tatata 0.5s ease .3s forwards;
}
nav.globalMenuSp.active ul li:nth-child(4) {
  animation: tatata 0.5s ease .4s forwards;
}
nav.globalMenuSp.active ul li:nth-child(5) {
  animation: tatata 0.5s ease .5s forwards;
}
nav.globalMenuSp.active ul li:nth-child(6) {
  animation: tatata 0.5s ease .6s forwards;
}
nav.globalMenuSp.active ul li:nth-child(7) {
  animation: tatata 0.5s ease .7s forwards;
}
nav.globalMenuSp.active ul li:nth-child(8) {
  animation: tatata 0.5s ease .8s forwards;
}
nav.globalMenuSp.active ul li:nth-child(9) {
  animation: tatata 0.5s ease .9s forwards;
}
@keyframes tatata {
	0% {
	  opacity:0;
	  transform:translateX(5%)
	}
	
	100% {
	  opacity: 1;
	}
}

nav.globalMenuSp .spnav02{
	display:flex;
}

.hamburger{
	display:none;
}

#f_btn{
	background: none;
    width: 60px;
    height: 60px;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 6;
}
#f_btn:before{
	content:"";
	position:absolute;
    left: 0;
	right:0;
	top:25px;
	margin:auto;
    width: 20px;
    height: 20px;
    border-top: 2px solid #fe7932;
    border-right: 2px solid #fe7932;
    transform: rotate(-45deg);
}

@media screen and (max-width:770px){
	header .pcnav{
		display:none;
	}
	.header-inner{
		padding: 5px 10px;
	}
	.hamburger,
	.sptelbtn{
		display:block;
	}
	.inner{
		width:100%;
	}
}
/*---------------------------------------------------*/
.pc{display: block}
.sp{display: none}
@media screen and (max-width:1000px){
	.pc{display: none}
	.sp{display: block}
}

#Mv{
	margin: 70px 0 0 0;
}
#Mv .mvinner{
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
	max-width: 1800px;
	margin: 0 auto
}
#Mv .mvleft{
	width: 50%;
	padding: 4%;
}
#Mv .mvleft figure {
	display: table;
	margin:40px auto;
}
#Mv .mvleft figure img{
	width: 170px;
	height: auto;
}
#Mv .mvleft h1{
	font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	margin: 48px 0 24px;
	line-height: 1.6;
	font-size: clamp(1.9rem, 2.2rem + .98vw, 3.9rem);
}
#Mv .mvleft h1 span{
	font-size:80%;
}
#Mv .mvright{
	width: 50%;
	padding: 20px;
}
#Mv .mvright ul{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap:6px;
}
#Mv .mvright ul li{
	width: calc(50% - 3px);
}
#Mv .mvright ul li img{
	border-radius:8px;
}

@media screen and (max-width:1000px){
	#Mv .mvleft,
	#Mv .mvright{
		width: 100%;
	}
	#Mv .mvleft h1{
		margin:24px 0;
	}
	#Mv .mvleft figure{
		margin:24px auto;
	}
	#Mv .mvleft figure img{
		width: 140px;
		height: auto;
	}
}

.main_h2{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 3.2rem;
	font-weight: bold;
}

#About{
	padding: 0 20px 20px 20px;
}
.inner_a{
	background: #a39a7f;
	border-radius: 16px;
	padding: 40px;
	max-width: 1800px;
	margin: 0 auto;
	color: #f2f1ed;
}
#About .copyarea{
	display: flex;
	align-items: center;
	justify-content:space-between;
	margin: 40px auto 32px;
}
#About .img_a{
}
#About .img_a img{
	width: 450px;
	height: auto;
}
#About .img_b{
}
#About .img_b img{
	width: 380px;
	height: auto;
	animation:waai 1.5s steps(2, end) infinite;
}
@keyframes waai{
	0%{transform:rotate(5deg)}
	100%{transform:rotate(-5deg)}
}
#About .zenbu{
	display: flex;
	align-items: center;
	justify-content:space-around;
	flex-wrap: wrap;
	gap:20px;
	margin: 40px 0;
}
#About .zenbu li{
	width:calc(33.33% - 20px);
	background: #f2f1ed;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 240px;
	border-radius: 16px;
}
#About .zenbu li:nth-child(1) img,
#About .zenbu li:nth-child(3) img{
	width: 110px;
	height: auto;
}
#About .zenbu li:nth-child(2) img{
	width: 136px;
	height: auto;
}
#About .main_h2{
	margin: 80px 0 40px;
}
#About .samazama{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	gap:20px;
	margin: 0 0 80px 0;
}
#About .samazama li{
	width: calc(25% - 20px);
}
#About .samazama li img{
	border-radius:8px;
}
#About .samazama li h3{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 2rem;
	font-weight: bold;
	margin: 16px 0;
}
.btn_a{
    background-color: #fe7932;
    color: #f2f1ed;
    text-align: center;
    padding: 20px 24px;
	margin: 0 auto;
	width: 100%;
	max-width: 350px;
	display: block;
    border-radius: 100px;
    font-size: 2rem;
    transition: opacity 0.3s;
}
#About .btn_a{
	position: relative;
	margin:40px auto;
}
#About .btn_a:before{
	content: "";
	position: absolute;
	top: -50px;
	left: calc(50% - 8px);
	color: #f2f1ed;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
	width: 16px;
	height: 16px;
	border: 1px solid ;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-25%) rotate(135deg);
}
#About .add{
	text-align: center;
	margin: 0 0 40px 0;
}

@media screen and (max-width:1000px){
	.inner_a{
		padding:20px;
	}
	#About .main_h2{
	    font-size: 2.8rem;
	}
	#About .copyarea{
		flex-flow: column;
	}
	#About .img_b{
		padding:20px 20px 0;
	}
	#About .zenbu li{
		width: 100%;
		height: 140px;
	}
	#About .samazama{
		gap: 10px;
	}
	#About .samazama li{
		width: calc(50% - 5px);
	}
	#About .samazama li h3{
		font-size: 1.6rem;
	}
}


#Jirei{
	margin: 0;
}
.inner_b{
	max-width: 1800px;
	margin: 0 auto;
	padding: 20px 60px;
}
#Jirei .inner_b{
	padding: 100px 60px;
}
#Jirei .main_h2{
	margin: 0 0 24px 0;
}
.jirei_list{
	display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.jirei_list li{
	width: calc(25% - 20px);
}
.jirei_list li img{
	border-radius: 8px;
}
.jirei_list li p{
	margin:16px 0;
}
.jirei_list li a:hover{
	color: #fe7932;
}
.jirei_list li h3{
	font-size:1.6rem;
	margin: 16px 0;
}
#Jirei .jirei_list{
	margin: 40px 0 80px;
}
.btn_b{
	background-color: #fe7932;
    color: #f2f1ed;
    text-align: center;
    padding: 16px 24px;
    margin: 0 auto;
    width: 100%;
    max-width: 350px;
    display: block;
    border-radius: 100px;
    font-size: 1.8rem;
    transition: opacity 0.3s;
	position: relative;
}
.btn_b:after{
	content:"";
	position: absolute;
	top: calc(50% - 8px);
	right: 20px;
	width: 16px;
	height: 16px;
	background: url("img/common/icon_arrow.svg") center no-repeat;
	background-size: contain
}
@media screen and (max-width:1000px){
	.inner_b{
		padding: 0 20px;
	}
	#Jirei .inner_b{
		padding: 80px 20px;
	}
	#Jirei .jirei_list{
		margin: 40px 0;
	}
	.jirei_list li{
		width: calc(50% - 10px);
	}
}

#Step{
	padding: 0 20px;
}
#Step .inner_a{
	padding: 80px 80px;
	max-width: 1500px;
}
#Step .main_h2{
	margin: 0 0 40px 0;
}
#Step .stepwrap{
}
#Step .stepwrap dl{
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
}
#Step .stepwrap dt{
	width: 200px;
	padding: 20px 40px 20px 0;
}
#Step .stepwrap dd{
	width: calc(100% - 200px);
	border-bottom: 1px solid #f2f1ed;
}
#Step .stepwrap dd h3{
	margin: 20px 0;
	font-weight: bold;
}
#Step .stepwrap dd p{
	margin: 20px 0;
}

@media screen and (max-width:1000px){
	#Step .inner_a{
		padding:80px 20px;
	}
	#Step .stepwrap dt{
		width: 100px;
		padding: 0;
	}
	#Step .stepwrap dd{
		width: 100%;
		margin-bottom: 28px;
	}
}

#Faq{
	padding: 80px 0;
}
#Faq .inner_b{
	max-width: 1450px;
}
#Faq .faq-wrapper{
	max-width: 1000px;
	margin: 40px auto;
}
#Faq .faq-wrapper dt{
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.6;
}
#Faq .faq-wrapper dd {
    position: relative;
    margin: 20px 0 40px 0;
    padding: 0 20px 0 30px; /* 線の分だけ余白 */
}

/* 擬似的な左線 */
#Faq .faq-wrapper dd::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 0;
    background: #fe7932;
    transition: height 1.5s ease;
}

/* 表示されたら伸びる */
#Faq .faq-wrapper dd.is-visible::before {
    height: 100%;
}

#Company{
	padding: 0 20px;
}
#Company .inner_a{
	padding: 80px 40px 40px;
}
#Company .main_h2{
	margin: 0 0 40px 0;
}
#Company .com_list{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	gap:20px;
}
#Company .com_list p{
	margin:24px 0;
}
#Company .com_list li{
	width: calc(50% - 10px);
}
#Company .com_list table{
	border-collapse:  collapse;
	width: 100%;
}
#Company .com_list table a{
	text-decoration:underline;
}
#Company .com_list table th,
#Company .com_list table td{
	border-bottom:1px solid #f2f1ed;
	padding: 20px 0;
	vertical-align: top;
}
#Company .com_list th{
	min-width: 84px;
}
#Company .com_list iframe{
	border-radius:4px;
}
@media screen and (max-width:1000px){
	#Company .com_list li{
		width: 100%;
	}
	#Company .inner_a{
		padding:80px 20px 10px;
	}
	#Company .com_list table th,
	#Company .com_list table td{
		width: 100%;
		display: block;
	}
	#Company .com_list table th{
		border: none;
		padding: 20px 0 8px 0;
	}
	#Company .com_list table td{
		padding: 0 0 20px 0;
	}
}

#Contact{
	margin:0;
	padding: 120px 20px;
}
#Contact .contact_in{
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}
#Contact h2{
	margin:0 0 40px 0;
}
#Contact h3{
	font-size: 2rem;
	font-weight: bold;
	color: #fe7932;
	margin: 32px 0;
}
#Contact .odenwa{
	display: block;
	margin: 0 auto 60px;
	background: #fe7932;
	color: #f2f1ed;
	font-size: 3.2rem;
	line-height: 0.8;
	padding: 24px;
	max-width: 400px;
	border-radius: 8px;
}
#Contact .odenwa span{
	font-size: 1.4rem;
}
#Contact .main_h2{
}
#Contact table{
	text-align: left;
}

#Contact table{
	text-align:left;
	width:100%;
}
#Contact table p{
	margin:0;
}
#Contact th{
	margin-top:1rem
}
#Contact th,
#Contact td {
    padding: .4rem 0;
    display:block
}
#Contact .hiss{
	background:#fe7932;
	color:#f2f1ed;
	font-size: 1.2rem;
	padding: 1px 5px;
	margin-left: 5px;
	border-radius: 3px;
}
#Contact input{
	width:100%;
	padding:5px 10px;
}
#Contact textarea{
	width:100% !important;
	min-height:250px;
	padding:5px;
}
#Contact input,
#Contact textarea{
	background: #f9f9f9;
    border: 1px solid #aaaaaa;
	border-radius: 4px;
}
#Contact .submitbutton {
    text-align: center;
    margin-top: 10px;
}
#Contact .submitbutton input[type='submit'],
.mfp_element_submit, .mfp_element_reset, .mfp_element_button{
	background: #fe7932;
    color: #f2f1ed;
    border: 1px solid #fe7932;
    padding: 20px 24px;
    max-width: 300px;
    display: block;
    text-align: center;
    position: relative;
    border-radius: 40px;
    transition: .3s;
	cursor: pointer;
	margin: 40px auto 0;
	font-size:1.8rem;
}
#Contact .submitbutton input[type='submit']:hover,
.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover{
	background: none;
	border: 1px solid #fe7932;
	color: #fe7932;
}

#Contact .submitbutton{
}
#Contact .policy{
}
#Contact .policy h5{
	font-size:1.5rem;
}
#Contact .scrollarea{
	text-align: left;
	max-width: 800px;
    height: 180px;
    overflow-y: scroll;
    padding: 20px;
    border: 1px solid #959595;
    margin: 20px auto;
    font-size: 1.5rem;
}

@media screen and (max-width:1000px){
	#Contact{
		padding: 80px 20px 60px;
	}
}

footer{
	background:#a39a7f;
	color: #f2f1ed;
}
footer .f_inner{
	max-width: 500px;
	margin: 0 auto;
	text-align: center;
	padding: 60px 0 40px;
}
footer .f_inner figure{
	width:100px;
	height: auto;
	margin: 0 auto 24px;
    display: block;
}
footer .f_inner a{
	font-size:2.4rem;
}
footer .f_inner a span{
	font-size: 2rem;
}
footer .f_time{
	font-size: 1.4rem;
}
footer .copy{
	text-align: center;
	font-size: 1.2rem;
	font-weight: normal;
	padding: 0 0 8px;
}

.jireipage{
	margin: 140px 0 100px;
}
.jireipage .main_h2{
	margin: 0 0 24px 0;
}
.jireipage .jirei_list{
	margin: 40px 0 80px;
}
@media screen and (max-width:1000px){
	.jireipage{
		margin: 120px 0 100px;
	}
	.jireipage .main_h2{
		font-size: 2.4rem;
	}
	.jirei_list li h3{
		
	}
}

.wp-pagenavi .navigation{
	border-top: 1px solid #111;
	margin-top: 50px;
	padding: 80px 0 10px;
	text-align:center;
}
.wp-pagenavi .page-numbers{
	width: 25px;
    height: 25px;
    padding: 0;
    line-height: 2.5rem;
	text-align: center;
    margin: 0 5px;
	border-radius: 50%;
}
.wp-pagenavi a:hover{
	color:#fe7932;
}
.wp-pagenavi .page-numbers.current{
	background: #fe7932;
    display: inline-block;
	color: #fff;
}

.inner_c{
	max-width: 940px;
	margin: 0 auto;
	padding: 0 20px;
}

.post_wrapper{
}
.post_wrapper h3{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight: bold;
	margin: 40px 0 20px 0;
	padding: 0 0 12px 0;
	border-bottom: 1px solid;
}
.post_wrapper figure,
.post_wrapper p{
	margin: 20px 0;
}
.post_wrapper .btn_a{
	margin:80px auto;
}

.pagenav{
	border-top: 1px solid #43423a;
}
.pagenav ul{
	display: flex;
	justify-content: space-between;
	margin: 50px 0;
}
.pagenav ul li{
	text-align: center;
	width: 33.3%;
}
.pagenav ul li:nth-child(1){
	text-align:left;
}
.pagenav ul li:nth-child(3){
	text-align:right;
}
.pagenav ul li a{
}
.pagenav ul li a:hover{
	color: #fe7932;
}
@media screen and (max-width:1000px){
	.post_wrapper h3{
		font-size: 2rem;
	}
}

#Four04{
}
#Four04 .inner{
	height: calc(100vh - 200px);
    padding: 0 20px;
}
#Four04 ul{
	display: flex;
    align-items: center;
	justify-content: center;
    height: 100%;
}
#Four04 ul li{
}
.grecaptcha-badge{
	display:none !important;
}