/*
Theme Name: underscore
Theme URI: 
Text Domain: underscore
*/
/* CSS Document */
/* RESET_START */



@charset "UTF-8";
html {
font-size: 100%;
}
@media (max-width: 1330px) {
html {
font-size: 1.2030075188vw;
}
}
@media screen and (max-width: 767px) {
html {
font-size: 100%;
}
}
@media (max-width: 375px) {
html {
font-size: 4.2666666667vw;
}
}



body {
font-family: "Noto Sans JP", sans-serif;
color: #333;
}

a,
button {
-webkit-transition: 0.3s;
transition: 0.3s;
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
list-style: none;
padding: 0;
}

/* Set core root defaults */
html:focus-within {
scroll-behavior: smooth;
}

/* Set core body defaults */
body {
min-height: 100vh;
text-rendering: optimizeSpeed;
line-height: 1.5;
overflow-x:hidden;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
text-decoration-skip-ink: auto;
}

a {
text-decoration: none;
color: inherit;
}

/* Make images easier to work with */
img,
picture {
max-width: 100%;
display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
font: inherit;
}

button {
border: none;
padding: 0;
background-color: transparent;
background-color: initial;
}



.clear {
clear: both;
}
/*IMAGEリンク*/
a img {
border: none;
}
img {
max-width: 100%;
height: auto;
border: none;
vertical-align: top;
image-rendering: -webkit-optimize-contrast;
-webkit-backface-visibility: hidden;
}
img.alignright {
display: block;
margin: 0 0 0 auto;
}
img.alignleft {
display: block;
margin: 0 auto 0 0;
}
img.aligncenter {
display: block;
margin: 0 auto;
text-align: center;
}
/* RESET_END */
body {
color: #333;
font-family: -apple-system, BlinkMacSystemFont, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif","Verdana";
/*font-family: -apple-system, BlinkMacSystemFont, 'Josefin Sans', "Noto Sans Japanese", "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;*/
/*font-family: 'Monda',"Helvetica Neue", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;*/
/*
-webkit-user-select:none;
-webkit-touch-callout:none;
	*/
}
.sawarabi {
font-family: "Sawarabi Mincho", serif;
}
.w100 {
font-weight: 100;
}
.w200 {
font-weight: 200;
}
.w300 {
font-weight: 300;
}
.w400 {
font-weight: 400;
}
.w500 {
font-weight: 500;
}
.w700 {
font-weight: 700;
}
.w900 {
font-weight: 900;
}


/* ===================
リンク
====================== */

a.blacker:link {
text-decoration: none;
color: #000;
}
a.blacker:visited {
text-decoration: none;
color: #000;
}
a.blacker:hover {
text-decoration: none;
color: #fff;
background-color: #0054a6;
}
/*
.hover:hover {
opacity: 0.7;
}
*/
a.whiter:link {
text-decoration: none;
color: #fff;
}
a.whiter:visited {
text-decoration: none;
color: #fff;
}
a.blacker_bold:link {
text-decoration: none;
color: #000;
font-weight: bold;
}
a.blacker_bold:visited {
text-decoration: none;
color: #000;
font-weight: bold;
}
.clear {
clear: both;
}
.red {
color: #FF0000
}
.blue {
color: #09F
}
.green {
color: #9C0;
font-size: 12px;
}
.yellow {
color: #FC0;
font-size: 15px;
}
.bu {
color: #09F;
font-size: 18px;
}

/* ===================
改行
====================== */
@media (min-width: 1025px) { 
.pc-br {
display: block;
}
.tab-br{
display: none;
}
.sp-br {
display: none;
}
}
 @media (min-width:769px) and (max-width:1024px) {
.pc-br {
 display: none;
}
.tab-br{
display: block;
}
.sp-br {
display: none;
}


}
@media (max-width: 768px) { 
.pc-br {
display: none;
}
.tab-br{
display: none;
}
.sp-br {
display: block;
}
}




/* ===================
トグル
====================== */
@media (min-width: 769px) {
.pc-toggle {
display: block;
}
.sp-toggle {
display: none;
}
}


@media (max-width: 768px) {
.pc-toggle {
display: none;
}
.sp-toggle {
display: block;
}
}
@media (min-width: 769px) {
/* ===================
PC スペース
====================== */
.sp1em {
height: 1em;
}
.sp2em {
height: 2em;
}
.sp3em {
height: 3em;
}
.pc_sp1em {
height: 1em;
}
.pc_sp2em {
height: 2em;
}
.pc_sp3em {
height: 3em;
}
.sp_sp1em {
display: none;
}
.sp_sp2em {
display: none;
}
.sp_sp3em {
display: none;
}
}
@media (max-width: 768px) {
/* ===================
SP スペース
====================== */
.sp1em {
height: 1em;
}
.sp2em {
height: 2em;
}
.sp3em {
height: 3em;
}
.pc_sp1em {
display: none;
}
.pc_sp2em {
display: none;
}
.pc_sp3em {
display: none;
}
.sp_sp1em {
height: 1em;
}
.sp_sp2em {
height: 2em;
}
.sp_sp3em {
height: 3em;
}
}


.inview { 
opacity: 0;
}






/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
html:focus-within {
scroll-behavior: auto;
}
*,
*::before,
*::after {
-webkit-animation-duration: 0.01ms !important;
animation-duration: 0.01ms !important;
-webkit-animation-iteration-count: 1 !important;
animation-iteration-count: 1 !important;
-webkit-transition-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
.l-btn-center a {
margin-inline: auto;
}

.l-inner {
width: 100%;
margin-right: auto;
margin-left: auto;
max-width: 1330px;
padding-right: 1.5625rem;
padding-left: 1.5625rem;
text-align: center;
}
@media screen and (max-width: 767px) {
.l-inner {
padding-right: 1.25rem;
padding-left: 1.25rem;
max-width: 31.25rem;
}
}

.l-mt60 {
margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
.l-mt60 {
margin-top: 3rem;
}
}

.l-text-center {
text-align: center;
}

.c-back-blue {
background-color: #FFF;
}

.c-btn {
font-size: max(1.25rem, 12px);
font-weight: bold;
color: #fff;
padding: 0.9375rem 4.25rem;
width: 20rem;
max-width: 100%;
border-radius: 3.125rem;
border: 1px solid #fff;
display: block;
font-style: italic;
position: relative;
}
@media screen and (max-width: 767px) {
.c-btn {
font-size: max(0.875rem, 12px);
padding: 0.375rem 0.375rem 0.375rem 2.375rem;
width: 11.25rem;
}
}
.c-btn:hover {
color: #fff;
background-color: #144B64;
opacity: 0.8;
}
.c-btn::before {
content: "";
position: absolute;
width: 0.5625rem;
aspect-ratio: 9/19;
right: 1.75rem;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
background: url(/wpv2/images/icon-arrow.svg) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
.c-btn::before {
width: 0.375rem;
right: 0.75rem;
}
}

.c-btn--white:hover {
background-color: #fff;
color: #144B64;
}
.c-btn--white:hover::before {
background: url(/wpv2/images/icon-arrow-blue.svg) no-repeat center center/cover;
}

.c-fadeInMv {
opacity: 0;
-webkit-animation-name: fadeIn;
animation-name: fadeIn;
-webkit-animation-duration: 2s;
animation-duration: 2s;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
-webkit-animation-delay: 0.3s;
animation-delay: 0.3s;
}

@-webkit-keyframes fadeIn {
100% {
opacity: 1;
}
}

@keyframes fadeIn {
100% {
opacity: 1;
}
}
.c-hamburger {
display: block;
width: 1.4375rem;
height: 1.125rem;
position: relative;
cursor: pointer;
-webkit-transition: 0.3s all;
transition: 0.3s all;
z-index: 3;
}

.c-hamburger span {
display: inline-block;
-webkit-transition: ease 0.5s all;
transition: ease 0.5s all;
position: absolute;
height: 5px;
background-color: #fff;
width: 100%;
margin: 0 auto;
left: 0;
right: 0;
top: calc(50% - 1px);
}

.c-hamburger span:nth-child(1) {
-webkit-transform: translateY(-11px);
transform: translateY(-11px);
}

.c-hamburger span:nth-child(3) {
-webkit-transform: translateY(11px);
transform: translateY(11px);
}

/*OPEN時の動き*/
.js-open.p-header__hamburger {
margin-left: auto;
}

.js-open .c-hamburger span {
-webkit-transition: ease 0.5s;
transition: ease 0.5s;
}

.js-open .c-hamburger span:nth-child(1) {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

.js-open .c-hamburger span:nth-child(2) {
opacity: 0;
}

.js-open .c-hamburger span:nth-child(3) {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
width: 100%;
left: 0;
right: 0;
}

.c-hoverRun {
text-decoration: none;
background-image: -webkit-gradient(linear, left top, right top, from(#fff), to(#fff));
background-image: linear-gradient(90deg, #fff, #fff);
background-repeat: no-repeat;
display: inline;
background-position: left bottom;
background-size: 0 1px;
-webkit-transition: background-size 0.5s;
transition: background-size 0.5s;
}

.c-hoverRun:hover {
background-size: 100% 1px;
}

.c-hoverRun--black {
background-image: -webkit-gradient(linear, left top, right top, from(#333), to(#333));
background-image: linear-gradient(90deg, #333, #333);
}

.c-section-title {
font-size: max(1.625rem, 12px);
color: #555;
font-weight:100;
font-family: "Sawarabi Mincho", serif;
}

.c-section-title--blue {
color: #144B64;
}




/* 共通設定 ---------------------------------------------------- */



.p-cta {
padding-block: 5.375rem;
}
@media screen and (max-width: 767px) {
.p-cta {
padding-block: 2.875rem;
}
}

.p-cta__list {
display: grid;
gap: 1.25rem;
grid-template-columns: 1fr 1fr;
width: 51.25rem;
margin-inline: auto;
}
@media screen and (max-width: 767px) {
.p-cta__list {
gap: 0.75rem;
grid-template-columns: 1fr;
width: 100%;
}
}

.p-cta__link {
height: 100%;
min-height: 7.5rem;
display: grid;
gap: 1rem;
grid-template-columns: 4.125rem 1fr;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
background-color: #fff;
border-radius: 0.625rem;
padding: 1.25rem 2.375rem;
position: relative;
font-weight: bold;
}
@media screen and (max-width: 767px) {
.p-cta__link {
min-height: 6.25rem;
gap: 1.875rem;
grid-template-columns: 3.25rem 1fr;
border-radius: 0.375rem;
}
}
@media (any-hover: hover) {
.p-cta__link:hover {
opacity: 0.8;
}
.p-cta__link:hover::before {
-webkit-transform: translateY(-50%) translateX(0.3em);
transform: translateY(-50%) translateX(0.3em);
}
}
.p-cta__link::before {
position: absolute;
content: "";
background: url(/wpv2/images/icon-arrow-maru.svg) no-repeat center center/contain;
right: 2.875rem;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 2.25rem;
height: 2.25rem;
-webkit-transition: all 0.2s;
transition: all 0.2s;
}
@media screen and (max-width: 767px) {
.p-cta__link::before {
right: 1.5625rem;
width: 1.5625rem;
height: 1.5625rem;
}
}
.p-cta__link img {
width: 100%;
height: auto;
}

.p-footer-address {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
@media screen and (max-width: 767px) {
.p-footer-address {
display: block;
}
}

.p-footer-address__item:nth-child(1) {
padding-right: 3.125rem;
}
@media screen and (max-width: 767px) {
.p-footer-address__item:nth-child(1) {
padding-right: 0;
}
}
.p-footer-address__item:nth-child(2) {
padding-left: 3.125rem;
border-left: 3px solid #cccccc;
}
@media screen and (max-width: 767px) {
.p-footer-address__item:nth-child(2) {
padding-left: 0rem;
border: none;
margin-top: 1.25rem;
}
}

.p-footer-menu {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
gap: 1.875rem;
font-size: max(1rem, 12px);
color:#555;
}
@media screen and (max-width: 767px) {
.p-footer-menu {
display: grid;
text-align: center;
}
}

.p-footer {
padding-block: 3.75rem 0.625rem;
background-color: #F2F2EB;
margin:0em 0 0 0;
position: relative;
z-index: 20;
}

.p-footer__logo-shinko {
width: 18.0625rem;
margin-inline: auto;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
.p-footer__logo-shinko {
width: 16.125rem;
}
}
.p-footer__logo-shinko a {
display: block;
cursor: pointer;
}
@media (any-hover: hover) {
.p-footer__logo-shinko a:hover {
opacity: 0.8;
}
}
.p-footer__logo-shinko img {
width: 100%;
height: auto;
}

.p-footer__menu {
margin-top: 3.125rem;
}

.p-footer__address {
margin-top: 3.4375rem;
}
@media screen and (max-width: 767px) {
.p-footer__address {
padding-inline: 0.75rem;
}
}

.p-footer__logo-sasaki {
margin-top: 4.875rem;
margin-inline: auto;
width: 26.25rem;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
.p-footer__logo-sasaki {
margin-top: 2.5rem;
width: 20.375rem;
height: auto;
}
}
.p-footer__logo-sasaki a {
display: block;
}
@media (any-hover: hover) {
.p-footer__logo-sasaki a:hover {
opacity: 0.8;
}
}
.p-footer__logo-sasaki img {
width: 100%;
height: auto;
-o-object-fit: contain;
 object-fit: contain;
}

.p-footer__copy {
margin-top: 3.625rem;
font-size: max(0.875rem, 12px);
text-align: center;
color:#555;
}
@media screen and (max-width: 767px) {
.p-footer__copy {
font-size: 11px;
}
}

.p-footer__page-top {
position: fixed;
right: 0.625rem;
bottom: 0.625rem;
width: 3.125rem;
aspect-ratio: 1/1;
cursor: pointer;
-webkit-transition: all 0.3s;
transition: all 0.3s;
z-index: 100;
}
@media screen and (max-width: 767px) {
.p-footer__page-top {
bottom: 1.25rem;
width: 2.75rem;
}
}
@media (any-hover: hover) {
.p-footer__page-top:hover {
opacity: 0.8;
}
}





.footbtngrid{
display:flex;
flex-wrap:wrap;
gap:50px; /* 行・列両方のスキマ */
max-width:1200px;
margin:5em auto;
justify-content: center;
}

/* アイテム */
.footbtnitem{
height:80px;
/*background:#FFF;*/
/*border-radius:6px;*/
/*border: solid 1px #ccc;*/
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
color:#344;
transition:background .25s,transform .25s,drop-shadow .25s;
}

/* hover エフェクト */
.footbtnitem:hover{
/*background:#FFF;*/
transform:translateY(0px);
filter: drop-shadow(5px 5px 5px #A1875B);
}

/* --------------- PC（6 列） --------------- */
@media (min-width:768px){
.footbtnitem{
/* gap が 5 本なので 5 * 16px = 80px を 100% から引いて 6 分割 */
width:calc((100% - 80px) / 4);
}
}

/* --------------- スマホ（2 列） ------------ */
@media (max-width:767.98px){
.footbtnitem{
/* gap は 1 本のみなので 16px を 100% から引いて 2 分割 */
width:calc((90% - 16px) / 1);
margin:0 auto;
}
}





/* ロゴ行 */
.footer__logo{
letter-spacing:.15em;
margin:1em auto;
font-size:1.2rem;
font-family: "Sawarabi Mincho", serif;
color:#555;
}
.footer__logo span{
font-size:2.2rem;
font-weight:100;
letter-spacing:.1em;
font-family: "Sawarabi Mincho", serif;
color:#555;
}

/* 住所 */
.footer__address{
margin:0 ;
font-style:normal;
font-family: "Sawarabi Mincho", serif;
color:#555;
}

/* TEL */
.footer__tel{
font-weight:700;
letter-spacing:.05em;
margin:0;
padding:3em 0 0 0;
font-size: 1.2rem;
color:#555;
}



/* SNS */
.footer__sns{
display:flex;
justify-content:center;
gap:1.75rem;
padding:3em 0 0em 0;
margin:0;
list-style:none;
}
.footer__snsItem a{
display:block;
width:34px;height:34px;
}
.footer__snsItem img{
width:100%;height:100%;object-fit:contain;
}

/* ====== レスポンシブ ====== */
@media (max-width:767.98px){

.footer__logo{font-size:1rem;}
.footer__logo span{font-size:1.375rem;}

/* ナビが多く 1 行に収まらないときは幅 100% にして中央揃え */
.footer__navItem{flex:1 0 auto;}
}











body.noscroll {
overflow: hidden;
}

.p-header {
width: 100%;
max-height: 100%;
height: 0;
position: sticky;
top: 0em;
z-index: 100;
-webkit-transition: 0.5s all;
transition: 0.5s all;
}

/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
.p-header.scroll-nav {
background:rgba(255,255,255,0.8);
padding:0em 0 7em 0;
/* コンテンツの背景が白でもナビゲーションだと分かりやすいように影をつける */
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}

/* 「scroll-navクラス」がヘッダーについたときに、ロゴとナビゲーションの文字を黒にする */
.p-header.scroll-nav .logo,
.p-header.scroll-nav ul li a {
color: #555;
}	


@media screen and (max-width: 767px) {
.p-header {
position:fixed;
	 }
	
	
/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
.p-header.scroll-nav {
background-color: #FFF;
/* コンテンツの背景が白でもナビゲーションだと分かりやすいように影をつける */
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
padding:0em 0 6em 0;
}

/* 「scroll-navクラス」がヘッダーについたときに、ロゴとナビゲーションの文字を黒にする */
.p-header.scroll-nav .logo,
.p-header.scroll-nav ul li a {
color: #FFF;
}	
	
}

.p-header.js-up {
-webkit-animation: UpAnime 0.5s forwards;
animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
from {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
to {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
}

@keyframes UpAnime {
from {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
to {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
}
.p-header.js-down {
-webkit-animation: DownAnime 0.5s forwards;
animation: DownAnime 0.5s forwards;
top: 0px;
background-color: #fff;
}

@-webkit-keyframes DownAnime {
from {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
to {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@keyframes DownAnime {
from {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
to {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
.p-header__inner {
/*background-color: #144B64;*/
width: 100%;
padding-left: 2.875rem;
padding-right: 3.75rem;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
position: relative;
height: inherit;
z-index: 10;
padding-top:4em;
}
@media screen and (max-width: 767px) {
.p-header__inner {
background-color: transparent;
padding-left: 1rem;
padding-right: 0.625rem;
padding-top:3em;
}
}

.p-header__logo {
max-width: 13.75rem;
width: 100%;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
.p-header__logo {
max-width: 13.9375rem;
position: relative;
z-index: 0;
}
}
.p-header__logo img {
width: 100%;
height: auto;
}
.p-header__logo a:hover {
opacity: 0.7;
}

.p-header__nav {
height: inherit;
}
@media screen and (max-width: 767px) {
.p-header__nav {
display: none;
}
}

.p-header__list {
height: inherit;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

.p-header__item {
height: inherit;
padding: 0 0.9375rem;
position: relative;
}

.p-header__link {
display: block;
font-size: 1rem;
color: #fff;
height: inherit;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
position: relative;
}
.p-header__link span {
display: block;
position: relative;
}
.p-header__link span::after {
position: absolute;
content: "";
width: 100%;
height: 3px;
left: 50%;
transform: translateX(-50%);
bottom: -0.5rem;
background-color:#8B512F;
opacity: 0;
transition: 0.3s all;
}

@media (any-hover: hover) {
.p-header__link:hover span:after {
opacity: 1;
-webkit-transition: 0.3s all;
transition: 0.3s all;
}
.p-header__link:hover {
-webkit-transition: 0.3s;
transition: 0.3s;
opacity: 0.8;
}
}
.p-header__hamburger {
display: none;
}
@media screen and (max-width: 767px) {
.p-header__hamburger {
display: block;
position: relative;
margin-left: auto;
z-index: 2;
width: 3.3125rem;
height: 3.3125rem;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
border-radius: 50%;
background:rgba(232,197,156,1);
}
.p-header__hamburger.js-open {
background-color: rgba(255, 255, 255, .5);
}
	


	
	
}


@media (min-width: 768px){
.js-dropDown{position:relative;}
.p-dropDown__body{
position:absolute;
top:100%;left:0;z-index:10;
background:#fff;
min-width:200px;
margin:20px 0 0 0; 
padding:15px 0;
box-shadow:0 4px 10px rgba(0,0,0,.15);
/* 非表示状態 */
visibility:hidden;
opacity:0;
transform:translateY(10px);
pointer-events:none;

/* アニメ */
transition:opacity .25s ease, transform .25s ease;
}
/* hover で表示 */
.js-dropDown:hover > .p-dropDown__body{
visibility:visible;
opacity:1;
transform:translateY(0);
pointer-events:auto;
}

/* サブメニュー内リンク */
.p-dropDown__body li a{
display:block;padding:10px 16px;
white-space:nowrap;font-size:14px;color:#555;
transition:background .2s;
}
.p-dropDown__body li a:hover{background:#f5f5f5;color:#e60033;}
}
	

/* ハンバーガー押下で body スクロール禁止 */
.noscroll{overflow:hidden;height:100%;}

/* スマホメニューラッパー */
.p-spNav{
position:fixed;inset:64px 0 0;/* ヘッダー下に貼り付け */
background:#fff;overflow-y:auto;
transform:translateX(100%); /* ← 初期は画面外へ */
transition:.4s;z-index:100;
}
.p-spNav.is-open{transform:translateX(0);} /* ← is-open で表示 */

/* アコーディオンの子 ul */
.p-spNav__accordionBody{display:none;}


/* ハンバーガー押下で body スクロール禁止 */
.noscroll{overflow:hidden;height:100%;}

/* スマホメニューラッパー */
.p-spNav{
position:fixed;inset:64px 0 0;/* ヘッダー下に貼り付け */
background:#fff;overflow-y:auto;
transform:translateX(100%); /* ← 初期は画面外へ */
transition:.4s;z-index:100;
}
.p-spNav.is-open{transform:translateX(0);} /* ← is-open で表示 */

/* アコーディオンの子 ul */
.p-spNav__accordionBody{display:none;}




.p-spNav {
display: none;
/*IE(Internet Explorer)・Microsoft Edgeへの対応*/
-ms-overflow-style: none;
/*Firefoxへの対応*/
scrollbar-width: none;
/*Google Chrome、Safariへの対応*/
}
@media screen and (max-width: 767px) {
.p-spNav {
display: block;
-webkit-transition: ease 0.5s;
transition: ease 0.5s;
z-index: 5;
width: 100%;
height: 101vh;
position: fixed;
top: 0;
left: 0;
color: #333;
-webkit-transform: translateX(100%);
transform: translateX(100%);
background-color:#c2a07e;/*ハンバーガーオープン背景*/
-webkit-transition: -webkit-transform 0.3s ease-out;
transition: -webkit-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
padding: 1.25rem 1.25rem 6.875rem;
}
.p-spNav::before {
position: absolute;
content: "";
/*background: url(/wpv2/images/top/news-back.png) no-repeat center center/contain;*/
right: 0;
bottom: 0;
-webkit-transform: translateX(7%);
transform: translateX(7%);
width: 12.9375rem;
height: 11.8125rem;
}
}
.p-spNav::-webkit-scrollbar {
display: none;
}

.p-spNav.js-open {
-webkit-transform: translateX(0%);
transform: translateX(0%);
}

.p-spNav__list {
width: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-top: 5.625rem;
}

@media screen and (max-width: 767px) {
.p-spNav__item {
position: relative;
width: 100%;
border-bottom: 1px solid rgba(255, 255, 255, .5);
}
}

.p-spNav__link {
display: block;
font-size: 1rem;
color: #fff;
font-weight: 500;
position: relative;
}
@media screen and (max-width: 767px) {
.p-spNav__link {
text-align: left;
padding: 1.25rem 0;
text-align: center;
}
}
.p-spNav__link::after {
position: absolute;
content: "";
width: 100%;
height: 1px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
bottom: 0;
background-color: #333;
opacity: 0;
-webkit-transition: 0.3s all;
transition: 0.3s all;
}
.p-spNav__link span {
display: block;
font-size: 0.875rem;
font-weight: 400;
}

@media screen and (min-width: 900px) {
.p-spNav__link:hover:after {
opacity: 1;
-webkit-transition: 0.3s all;
transition: 0.3s all;
}
}
.p-spNav__logo {
width: 20.6875rem;
margin: 5.125rem auto 0;
}
@media screen and (max-width: 767px) {
.p-spNav__logo {
width: 210px;
margin: 2.5rem auto 0;
}

	
.humberger_icon{
display: flex;
justify-content:center;
align-items: center;
width:80%;
margin: auto;
}	
	
.p-spNav__item--banner{
width:30%;
padding:1em;
}	
	
	
}




.p-spNav__accordionHead{
display:block;text-align:center;padding:1.25rem 0;
color:#fff;font-weight:500;position:relative;
}
.p-spNav__accordionIcon{
display:inline-block;margin-left:.5em;width:.5em;height:.5em;
border-right:2px solid #fff;border-bottom:2px solid #fff;
transform:rotate(45deg);transition:transform .3s;
}
.p-spNav__item--accordion.is-active .p-spNav__accordionIcon{
transform:rotate(-135deg); /* 開いたとき上向き矢印 */
}
.p-spNav__accordionBody{display:none;padding:0 0 1rem;}
.p-spNav__accordionBody li a{
display:block;text-align:center;padding:.75rem 0;font-size:.875rem;color:#fff;
}






/**************下層ページ用ナビゲーション***********/




.p-innerheader {
width: 100%;
max-height: 100%;
height: 0;
position: sticky;
top: 0em;
z-index: 100;
-webkit-transition: 0.5s all;
transition: 0.5s all;
}

/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
.p-innerheader.scroll-nav {
background:rgba(255,255,255,0.8);
padding:0em 0 7em 0;
/* コンテンツの背景が白でもナビゲーションだと分かりやすいように影をつける */
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}

/* 「scroll-navクラス」がヘッダーについたときに、ロゴとナビゲーションの文字を黒にする */
.p-innerheader.scroll-nav .logo,
.p-innerheader.scroll-nav ul li a {
color: #555;
}	


@media screen and (max-width: 767px) {
.p-innerheader {
position:fixed;
	 }
	
	
/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
.p-innerheader.scroll-nav {
background-color: #FFF;
/* コンテンツの背景が白でもナビゲーションだと分かりやすいように影をつける */
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
padding:0em 0 6em 0;
}

/* 「scroll-navクラス」がヘッダーについたときに、ロゴとナビゲーションの文字を黒にする */
.p-innerheader.scroll-nav .logo,
.p-innerheader.scroll-nav ul li a {
color: #FFF;
}	
	
}

.p-innerheader.js-up {
-webkit-animation: UpAnime 0.5s forwards;
animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
from {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
to {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
}

@keyframes UpAnime {
from {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
to {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
}
.p-innerheader.js-down {
-webkit-animation: DownAnime 0.5s forwards;
animation: DownAnime 0.5s forwards;
top: 0px;
background-color: #fff;
}

@-webkit-keyframes DownAnime {
from {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
to {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}

@keyframes DownAnime {
from {
opacity: 0;
-webkit-transform: translateY(-100px);
transform: translateY(-100px);
}
to {
opacity: 1;
-webkit-transform: translateY(0);
transform: translateY(0);
}
}
.p-innerheader__inner {
/*background-color: #144B64;*/
width: 100%;
padding-left: 2.875rem;
padding-right: 3.75rem;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
position: relative;
height: inherit;
z-index: 10;
padding-top:4em;
}
@media screen and (max-width: 767px) {
.p-innerheader__inner {
background-color: transparent;
padding-left: 1rem;
padding-right: 0.625rem;
padding-top:3em;
}
}

.p-innerheader__logo {
max-width: 13.75rem;
width: 100%;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
@media screen and (max-width: 767px) {
.p-innerheader__logo {
max-width: 13.9375rem;
position: relative;
z-index: 0;
}
}
.p-innerheader__logo img {
width: 100%;
height: auto;
}
.p-innerheader__logo a:hover {
opacity: 0.7;
}

.p-innerheader__nav {
height: inherit;
}
@media screen and (max-width: 767px) {
.p-innerheader__nav {
display: none;
}
}

.p-innerheader__list {
height: inherit;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

.p-innerheader__item {
height: inherit;
padding: 0 0.9375rem;
position: relative;
}

.p-innerheader__link {
display: block;
font-size: 1rem;
color: #555;
height: inherit;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
position: relative;
}
.p-innerheader__link span {
display: block;
position: relative;
}
.p-innerheader__link span::after {
position: absolute;
content: "";
width: 100%;
height: 3px;
left: 50%;
transform: translateX(-50%);
bottom: -0.5rem;
background-color:#8B512F;
opacity: 0;
transition: 0.3s all;
}

@media (any-hover: hover) {

.p-innerheader__link:hover span:after {
opacity: 1;
-webkit-transition: 0.3s all;
transition: 0.3s all;
}
.p-innerheader__link:hover {
-webkit-transition: 0.3s;
transition: 0.3s;
opacity: 0.8;
}
}
.p-innerheader__hamburger {
display: none;
}
@media screen and (max-width: 767px) {
.p-innerheader__hamburger {
display: block;
position: relative;
margin-left: auto;
z-index: 2;
width: 3.3125rem;
height: 3.3125rem;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
border-radius: 50%;
background:rgba(232,197,156,1);
}
.p-innerheader__hamburger.js-open {
background-color: rgba(255, 255, 255, .5);
}

}

@media screen and (max-width: 767px) {
.p-innerheader {
position:fixed;
	 }
	
	
/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
.p-innerheader.scroll-nav {
background-color: #FFF;
/* コンテンツの背景が白でもナビゲーションだと分かりやすいように影をつける */
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
padding:0em 0 6em 0;
}

/* 「scroll-navクラス」がヘッダーについたときに、ロゴとナビゲーションの文字を黒にする */
.p-innerheader.scroll-nav .logo,
.p-innerheader.scroll-nav ul li a {
color: #FFF;
}	
	
}








.c-cross {
position: absolute;
top: 2.1875rem;
right: 0.9375rem;
display: block;
width: 1.25rem;
height: 1.25rem;
}

.c-cross:before,
.c-cross:after {
content: "";
display: block;
background-color: #333;
position: absolute;
top: 46%;
width: 0.9375rem;
height: 0.125rem;
right: 0.27rem;
}

.c-cross:before {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
-webkit-transition-duration: 0.2s;
transition-duration: 0.2s;
}

.is-active .c-cross::after {
opacity: 0;
}

.is-active .c-cross::before {
-webkit-transform: rotate(0);
transform: rotate(0);
}

.c-accordion {
width: 100%;
display: none;
position: relative;
padding: 0;
margin-top: -1.25rem;
margin-bottom: 1.25rem;
}

.c-accordion li {
width: 100%;
margin-left: 0.625rem;
}

.c-accordion li a {
display: block;
font-size: 0.875rem;
padding-left: 0.75rem;
padding: 0.9375rem 0rem 0.3125rem 0.75rem;
}

.p-top-access {
background-color: #c0cacc;
padding-block: 5.625rem 6.75rem;
}
@media screen and (max-width: 767px) {
.p-top-access {
padding-block: 4.25rem 3.5rem;
}
}

@media screen and (min-width: 768px) {
.p-top-access__inner {
max-width: calc(61.875rem + 50px);
}
}

.p-top-access__list {
margin-top: 3.125rem;
display: grid;
gap: 1.25rem;
grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
.p-top-access__list {
margin-top: 2.5rem;
display: block;
}
}

@media screen and (max-width: 767px) {
.p-top-access__item:nth-child(2) {
margin-top: 1.875rem;
}
}

.p-top-access__map {
position: relative;
width: 100%;
padding-top: 58.3333%; /* = height ÷ width × 100 */
}
.p-top-access__map iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-top-access__address {
margin-top: 1.375rem;
text-align: center;
font-size: max(1rem, 12px);
}
@media screen and (max-width: 767px) {
.p-top-access__address {
font-size: max(0.9375rem, 12px);
}
}

.p-top-mv {
position: relative;
}







.p-top-mv img {
width: 100%;
height: 100%;

}
.p-top-mv .swiper {
aspect-ratio: 1920/800;
}
@media screen and (max-width: 767px) {
.p-top-mv .swiper {
aspect-ratio: 375/573;
}
.p-top-mv img { 

}
}
.p-top-mv .swiper-slide-active .swiper-slide__item,
.p-top-mv .swiper-slide-duplicate-active .swiper-slide__item,
.p-top-mv .swiper-slide-prev .swiper-slide__item {
-webkit-animation: zoomanime 8s linear 0s normal both;
animation: zoomanime 8s linear 0s normal both;
}
@-webkit-keyframes zoomanime {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
100% {
-webkit-transform: scale(1.25);
transform: scale(1.25);
}
}
@keyframes zoomanime {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
100% {
-webkit-transform: scale(1.25);
transform: scale(1.25);
}
}

.p-top-mv__title {
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 84.8958333333%;
height: 2.75rem;
z-index: 2;
mix-blend-mode: overlay;
}
@media screen and (min-width: 1920px) {
.p-top-mv__title {
width: 101.875rem;
}
}
@media screen and (max-width: 767px) {
.p-top-mv__title {
width: 4rem;
height: 29.5625rem;
left: auto;
right: 2.375rem;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
}




/*****パララックス****/

.sticky_head {
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 2;
}

/******safari対応。下地の背景を置く用**********/
.white-mask{
position:fixed;
inset:0; /* これ重要 */
background:#FFF;
z-index:1;
top:0;
}





.sticky_head02 {
height: 100vh;/* ← ここを追加 */
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1; /* 後続要素より小さければ OK */
}

.about,
.p-top-news,
.about-kv,
.jigyo-img
{
position:relative;
z-index:3; /* 0 より大きければ可。手前になる */
background:#fff; /* ※重なった時に MV を隠したい色 */
width:100%;
}

.jigyo-desc,
.nyukyosha,
.saiyo,
.insta-title-wrapper,
.faq{
position:relative;
z-index:4; /* 0 より大きければ可。手前になる */
background:#fff; /* ※重なった時に MV を隠したい色 */
}



/*******パララックスEND*******/






/*********お知らせ*********/

.p-top-news {
padding-block: 4.625rem;
position: relative;
overflow: hidden;
background-color: #F2F2EB;
}
.p-top-news::before {
position: absolute;
content: "";
background: url(/wpv2/images/top/news-back.png) no-repeat center center/contain;
right: 0;
bottom: 0.625rem;
-webkit-transform: translateX(7%);
transform: translateX(7%);
width: 27.875rem;
height: 25.4375rem;
}
@media screen and (max-width: 767px) {
.p-top-news::before {
bottom: auto;
top: 0.5625rem;
width: 12.9375rem;
height: 11.8125rem;
}
}
@media screen and (max-width: 767px) {
.p-top-news {
padding-block: 3.375rem;
}
}

@media screen and (min-width: 768px) {
.p-top-news__inner {
max-width: calc(39.375rem + 50px);
}
}

.p-top-news__list {
margin-top: 3.125rem;
display: grid;
gap: 2.5rem;
}
@media screen and (max-width: 767px) {
.p-top-news__list {
margin-top: 2.8125rem;
gap: 2rem;
}
}

.p-top-news__link {
display: grid;
gap: 0.625rem;
grid-template-columns: auto 1fr;
color: #555;
font-size: max(1rem, 12px);
width: -webkit-fit-content;
width: -moz-fit-content;
width: fit-content;
-webkit-transition: all 0.3s;
transition: all 0.3s;
font-family: "Sawarabi Mincho", serif;
font-size:1.1rem;
}
@media screen and (max-width: 767px) {
.p-top-news__link {
display: block;
font-size: max(1rem, 12px);
width: 100%;
text-align: left;
}
}
@media (any-hover: hover) {
.p-top-news__link:hover {
opacity: 0.7;
}
}

@media screen and (max-width: 767px) {
.p-top-news__title-wrap {
margin-top: 0.25rem;
padding-bottom: 0.75rem;
position: relative;
}
.p-top-news__title-wrap::before {
position: absolute;
content: "";
background: #222;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
}
}

.p-top-news__title {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
@media screen and (max-width: 767px) {
.p-top-news__title {
-webkit-line-clamp: 2;
}
}


















/********ここからオリジナル********/


/* ───────── TOPアバウト ───────── */
.about-kv{
position:relative;
width:100%;
height:55vw; /* 画面幅に対する高さ */
max-height:850px;
overflow:hidden;
}

/* 画像は右側 80％ に収める */
.about-kv img{
position:absolute;
top:0;
right:0; /* ← 右端に貼り付け */
width:80%; /* ← 画像幅 80% */
height:100%;
object-fit:cover;
padding:7em 0 0 0;
}

/* ───────── SP（768px 未満）は従来の全幅 ───────── */
@media (max-width:768px){
.about-kv{
height:100vw;
}
.about-kv img{
position:static; /* 通常フローに戻す */
width:100%;
padding:3em 0 0 0;
}
}

/* 2. About */
@media (min-width:768px){
/* キービジュアルはすでに左 20 % 余白で OK */

/* About セクション：左端をそろえるために 20% ぶん余白を入れる */
.about{
/* 上下 70px・右 5vw は既存のまま、左だけ 20% + 5vw 相当 */
padding:70px 5vw 70px calc(15% + 5vw);
}

/* 内側ラッパーは中央寄せを解除（左寄せに）*/
.about__inner{
margin-left:0;/* max-width 制御だけ残す場合 */
max-width:1080px;
display:flex;
gap:40px;
align-items:center;
}
}
.about__text{
flex:1 1 0;
}
.about__ttl{
font-size:1.5rem;
margin-bottom:20px;
letter-spacing:.05em;
font-weight: 100;
color:#555;
 
}
.about__text p{
line-height:1.9;
font-size:1.1rem;
font-family: "Sawarabi Mincho", serif;
color:#555;
}
.about__btn-wrap{
flex:0 0 220px;/* PC時は幅固定 */
display:flex;
justify-content:center;
padding:3em 0 0 0;
}





.btn {
width: 100%;
max-width: 300px;
text-align: center;
border-radius: 30px;
font-size: .9rem;
letter-spacing: .05em;
text-decoration: none;
color: #555;
background: rgba(255, 255, 255, .7);
transition: color .3s; /* 色だけでOK */
display: inline-block;
padding: 14px 60px;
border: 1px solid #555;
font-family: "Sawarabi Mincho", serif;
position: relative;
overflow: hidden; /* 擬似要素を角丸でクリップ */
}

.btn:hover {
color: #fff;
}

.btn::before {
position: absolute;
inset: 0;/* top/left/right/bottom: 0; と同義 */
content: "";
background: #866629;
border-radius: 30px; /* 擬似要素にも角丸 */
transform: scaleX(0);/* 右端から非表示状態 */
transform-origin: right;
transition: transform 0.5s ease;
z-index: 0;
}

.btn:hover::before {
transform: scaleX(1);/* 全面に広がる */
transform-origin: left;
}

.btn span.text {
position: relative;
z-index: 1;/* テキストを前面に */
}



/* =========== スマホ幅（768px 未満） =========== */
@media screen and (max-width: 768px){
/* キービジュアル既存の設定 … */
	
.about-kv img{
height:100vw; /* 画像の縦横比を少し低めに */
}
	

/* About ブロック */
.about__inner{
flex-direction:column;
gap:30px;
padding:1em;
/*text-align:center; */ /* 見出し・本文も中央寄せにしたい場合 */
}

/* ボタン用ラッパーを中央寄せ */
.about__btn-wrap{
width:100%;
text-align:center; /* 内包要素を中央に */
display:block; /* ← flex を解除 */
margin-top:10px; /* お好みで余白 */
}

/* ボタン自体：インラインブロック＋幅は内容サイズ */
.btn{
display:inline-block;/* ← これで縦方向には伸びない */
width:100%;/* もしくは max-width:220px など */
padding:12px 30px; /* 横にゆとりが欲しい場合 */
margin:0 auto;
}
}
	
	
.jigyo-img{
position:relative;
width:100%;
/*max-height:900px;/* PCで巨大になり過ぎないように */
overflow:hidden;
/*position: -webkit-sticky;
position:sticky;*/
top: 0%;
z-index: 2;
/****背景固定の場合****/
padding:10em 0 0 0;
background: url(/wpv2/images/cont02.jpg) no-repeat center center/contain;
background-attachment: fixed;
background-color: #FFF;
height:600px;/* ← ここを追加 */
/****背景固定の場合****/
}


.jigyo-img img{
width:100%;
height:100%;
object-fit:cover;
filter:blur(3px) brightness(1.05); /* ブラー＋少し明るく */
}


@media screen and (min-width:820px) and (max-width:1180px) {
.jigyo-img{
padding:7em 0 0 0;
background: url(/wpv2/images/cont02_sp.jpg) no-repeat center center/contain;
background-color: #FFF;
height:100vh;
}
	
.jigyo-img img{
width:100%;
height:100%;
object-fit:cover;
filter:blur(3px) brightness(1.05); /* ブラー＋少し明るく */
}
}


.jigyo__content{
position:absolute;
inset:0; /* top/right/bottom/left:0; */
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
color:#555;
padding:0 1rem;
}

.jigyo__title{
font-size:clamp(1.2rem, 2vw + 1rem, 1.5rem);
letter-spacing:.08em;
margin-bottom:30px;
color:#555;
font-weight:100;
}

/* ==== 共通ボタン ==== */


/* ===== 2. Description ===== */
.jigyo-desc{
padding:3em 5vw 10em 3em;
}
.jigyo-desc__inner{
max-width:1100px;
margin:0 auto;
}
.jigyo-desc p{
line-height:2;
font-size:1.1rem;
text-align:justify; /* 両端揃え。中央寄せが良ければ center に変更 */
font-family: "Sawarabi Mincho", serif;
color:#555;
}

/* ===== 3. SP レイアウト調整 ===== */
@media (max-width:768px){
.jigyo-img{
padding:7em 0 0 0;
background: url(/wpv2/images/cont02_sp.jpg) no-repeat center center/contain;
background-color: #FFF;
height:460px;
}
	
.jigyo-img img{
width:100%;
height:100%;
object-fit:cover;
filter:blur(3px) brightness(1.05); /* ブラー＋少し明るく */
}	
 
	
.jigyo__title{
margin-bottom:20px;
}

.jigyo__content{
position:absolute;
top:0%;
inset:0; /* top/right/bottom/left:0; */
text-align:center;
color:#555;
padding:0 1rem;
}
	
	
 
.jigyo-desc{
padding:1.2rem;
}
.jigyo-desc p{
text-align:left;/* モバイルは読みやすい左寄せ推奨 */
}
}	

	
	
/*==============================
入居者募集セクション
==============================*/
.nyukyosha{
display:flex;
width:100%;
min-height:560px;
padding:10em 0 10em 0;
overflow:hidden;
}

/* 画像（7割） */
.nyukyosha__img-wrap{
flex:0 0 67%;
}
.nyukyosha__img-wrap img{
width:100%;
height:100%;
object-fit:cover;
}

/* 右側エリア（残り幅） */
.nyukyosha__aside{
position:relative; /* ★ ここを基準に absolute */
flex:1 1 33%;
display:flex;
align-items:center;
}

/* カード */
.nyukyosha__card{
position:absolute; /* ★ 右端に固定する */
top:30%; /* 縦中央 */
right:-10px; /* →10px はみ出す */
transform:translateY(-50%); /* 縦中央の仕上げ */
width:calc(100% + 50px); /* ← 増えた分だけ横幅を拡張 */
max-width:710px; /* 700+10 に合わせておくと安心 */
background:#f1f3ec;
padding:5em 3em;
box-sizing:border-box;
z-index: 3;
font-family: "Sawarabi Mincho", serif;
color:#555;
font-size:1.1rem;
}

/* 見出し：aside 幅いっぱいで中央寄せ */
.nyukyosha__title{
position:absolute;
top:20%; /* 好きな高さに調整 */
left:0; /* 幅は aside まるごと */
width:100%;
text-align:center; /* 中央揃え */
font-size:1.4rem;
letter-spacing:.1em;
margin:0;
pointer-events:none; /* クリックを邪魔しない */
z-index:5;
color:#555;
font-weight: 100;
}

/* ボタンそのまま */
.nyukyosha__btn{
display:block;
width:220px;
margin:40px auto 0;
padding:12px 0;
text-align:center;
border:1px solid #555;
border-radius:35px;
text-decoration:none;
color:#555;
transition:.3s;
font-family: "Sawarabi Mincho", serif;
position: relative;
overflow: hidden; /* 擬似要素を角丸でクリップ */
}

.nyukyosha__btn:hover {
color: #fff;
}

.nyukyosha__btn::before {
position: absolute;
inset: 0;/* top/left/right/bottom: 0; と同義 */
content: "";
background: #866629;
border-radius: 30px; /* 擬似要素にも角丸 */
transform: scaleX(0);/* 右端から非表示状態 */
transform-origin: right;
transition: transform 0.5s ease;
z-index: 0;
}

.nyukyosha__btn:hover::before {
transform: scaleX(1);/* 全面に広がる */
transform-origin: left;
}

.nyukyosha__btn span.text {
position: relative;
z-index: 1;/* テキストを前面に */
}

/* --- モバイル：縦並び（画像→カード） --- */
@media (max-width:768px){
.nyukyosha{
flex-direction:column;
padding:5em 0 1em 0;
}
.nyukyosha__img-wrap{
flex:0 0 auto;
height:60vw; /* 適度に見せる */
}
.nyukyosha__aside{
flex:0 0 auto;
width:100%;
}
.nyukyosha__card{
position:static;
transform:none;
width:100%;
padding:5em 1.6rem 55px;
margin-left:0; 
}
.nyukyosha__title{
top:7%;
}
.nyukyosha__btn{
width:180px;
margin-top:30px;
}
}
	
	
	
/*==============================
採用情報セクション
==============================*/
.saiyo{
display:flex;
align-items: flex-start;
justify-content: center;
align-items: center;
width:100%;
margin:0em 0 0 0;
padding:5em 0 0 0;
/* min-height を外して高さを内容まかせに */
}

/*--- 1) 左ブロック（30%） ---*/
.saiyo__aside{
flex:0 0 35%;
background:#f1f3ec;
max-width:700px;
width:100%;
display:flex;
flex-direction:column;
justify-content:center;
padding:5em; /* 余白を入れるだけ */
position:relative; /* z-index を効かせるため */
margin-right:-40px;/* 右へ 30px はみ出す*/
z-index:2; 
left:0;
}

.saiyo__title{
position:absolute;
top:-3em;
/* 好きな高さに調整 */
left:40%;
transform:translateX(-50%);
margin:0; /* 余計な余白をリセット */
padding:0 .8em; /* 背景が途切れないよう左右に余白 */
font-size:1.4rem;
letter-spacing:.1em;
z-index:3; /* 写真よりも前面に */
width:max-content; /* タイトル幅だけ */
text-align:center;
font-family: "Sawarabi Mincho", serif;
color:#555;
font-weight:100;
}
.saiyo__text{
max-width:420px;
margin:0 auto;
color:#555;
font-family: "Sawarabi Mincho", serif;
font-size:1.1rem;
}
.saiyo__btn{
display:block;
width:220px;
margin:35px auto 0;
padding:12px 0;
text-align:center;
border:1px solid #555;
border-radius:35px;
text-decoration:none;
color:#555;
transition:.3s;
position: relative;
overflow: hidden; /* 擬似要素を角丸でクリップ */
}

.saiyo__btn:hover {
color: #fff;
}

.saiyo__btn::before {
position: absolute;
inset: 0;/* top/left/right/bottom: 0; と同義 */
content: "";
background: #866629;
border-radius: 30px; /* 擬似要素にも角丸 */
transform: scaleX(0);/* 右端から非表示状態 */
transform-origin: right;
transition: transform 0.5s ease;
z-index: 0;
}

.saiyo__btn:hover::before {
transform: scaleX(1);/* 全面に広がる */
transform-origin: left;
}

.saiyo__btn span.text {
position: relative;
z-index: 1;/* テキストを前面に */
}

/*--- 2) 右ブロック（写真 70%） ---*/
.saiyo__img-wrap{
flex:0 0 67%;
overflow:hidden;
}
.saiyo__img-wrap img{
width:100%;
height:auto; /* 画像本来の比率で伸縮 */
object-fit:cover;/* 安全策として残しておく */
}

/*==============================
レスポンシブ（スマホ）
==============================*/
@media (max-width:768px){
.saiyo{
flex-direction:column;
}

/* 写真を先に表示（order を先頭へ） */
.saiyo__img-wrap{
order:-1;
flex:0 0 auto;
/* 高さを少し抑え目に*/
height:60vw; /* 画面幅の 60% を高さに */
}
.saiyo__img-wrap img{
width:100%;
height:100%;
object-fit:cover;/* トリミングしながら全面表示 */
}
	
.saiyo__title{
top:7%;
}	
	

.saiyo__aside{
flex:0 0 auto;
padding:5em 1.6rem 60px;
margin-right:0px
}
.saiyo__btn{
width:180px;
}
}
	

	
/*==============================
FAQ セクション
==============================*/
.faq{
padding:10em 0 10em 0;
}
.faq__wrap{
width:100%;
max-width:77%;
margin:0 auto;
position:relative;
 /* margin-left:auto; /* 左側の余白を自動で埋める → 右寄せ */
/*margin-right:0; /* 右余白ゼロでページ端にピタッ */
}

/*----- 背景画像 -----*/
.faq__img{
width:100%;
height:420px;/* 縦横比はお好みで */
object-fit:cover;
}

/*----- 説明ボックス（PC で右端吸着） -----*/
.faq__box{
position:absolute;
top:50%;
left:0;/* 右端にくっ付ける */
transform:translateY(-50%); /* 垂直中央揃え */

width:40%;/* 画像幅の 1/3 程度 */
min-width:300px;/* 狭くなり過ぎ防止 */
 /* background:rgba(255,255,255,.9);*/
padding:48px 40px 56px 60px;/* 内側左を広めにして“左寄せ”感 */
text-align:left;/* 中の要素は左寄せ */

display:flex;
flex-direction:column;
gap:28px;
}

.faq__title{
font-size:1.4rem;
letter-spacing:.08em;
font-family: "Sawarabi Mincho", serif;
color:#555;
font-weight: 100;
}
.faq__text{
font-size:1.1rem;
font-family: "Sawarabi Mincho", serif;
color:#555;
}
.faq__btn{
align-self:flex-start;/* ボタンも左側に置く */
display:inline-block;
min-width:220px;
padding:12px 0;
text-align:center;
border:1px solid #555;
border-radius:35px;
text-decoration:none;
color:#555;
transition:.3s;
position: relative;
overflow: hidden; /* 擬似要素を角丸でクリップ */
}

.faq__btn:hover {
color: #fff;
}

.faq__btn::before {
position: absolute;
inset: 0;/* top/left/right/bottom: 0; と同義 */
content: "";
background: #866629;
border-radius: 30px; /* 擬似要素にも角丸 */
transform: scaleX(0);/* 右端から非表示状態 */
transform-origin: right;
transition: transform 0.5s ease;
z-index: 0;
}

.faq__btn:hover::before {
transform: scaleX(1);/* 全面に広がる */
transform-origin: left;
}

.faq__btn span.text {
position: relative;
z-index: 1;/* テキストを前面に */
}

/*==============================
スマホ（768px 未満）
==============================*/
@media (max-width:768px){
.faq__wrap{
width:90%;
margin:0 auto;
}
.faq__img{
height:60vw;/* 画面幅に応じて高さ可変 */
}

.faq__box{
position:static;/* フローに戻す＝縦並び */
transform:none;
width:100%;
min-width:auto;
padding:40px 0 10px;
text-align:center;/* スマホでは中央寄せ */
gap:24px;
}
.faq__btn{
align-self:center;
}
}



.insta-title-wrapper{
text-align:center;/* 中央寄せにする */
padding:8em 0 5em 0;
}

/* ----------------見出し---------------- */
.insta-title{
display:inline-flex;/* アイコン+文字を横並び */
align-items:center;
justify-content: center;
font-size:20px;
gap:8px; /* アイコンと文字の間隔 */
margin:0 auto;/* デフォルト余白をリセット */
padding-bottom:1em; /* タイトルと下線の間隔 */
position:relative; /* ::after の基準 */
max-width:1500px;
width:100%;
text-align: center;
font-family: "Sawarabi Mincho", serif;
color:#555;
font-weight: 100;
}

/* 下線は疑似要素で */
.insta-title::after{
content:"";
position:absolute;
left:50%;
bottom:0;
transform:translateX(-50%);
max-width:1500px;
width:100%;
height:1px;
background-color:#777;
}

.insta-title img{
height:0px;/* 文字と同じ高さに揃える */
width:auto;/* 縦横比維持 */
display:block;/* 行間の隙間対策 */
}

@media (max-width:768px){
	
.insta-title-wrapper{
text-align:center;
padding:5em 1em 3em 1em;
width:100%;
margin:0 auto;
}	
}


.fixed_btn_box{
position: fixed;
top:30%;
right: 0px;
z-index: 21;
filter: drop-shadow(0.5rem 0.5rem 10px #777)
}

.fixed_btn01 img{
}

@media (max-width:768px){
.fixed_btn_box{
top:40%;
right: 0;
filter: drop-shadow(0.5rem 0.5rem 10px #777)
}
	
.fixed_btn_box img{
width:60px;
}	
}



.form-table {
width: 100%;
max-width: 898px;
margin: 0px auto;
border-collapse: separate;
border-spacing: 10px;
padding: 0em 0em 0em 0em;
margin-top: 2em !important;
font-family: "Sawarabi Mincho", serif;
}

.form-table th {
display: block;
padding: 0.2em 0.5em;
line-height: 180%;
text-align: left;
vertical-align: top;
color: #555;
width: 100%;
font-size: max(1.0625rem, 12px);
font-weight: 600;
}

.form-table td {
display: block;
padding: 0em 0.5em 0.5em 0em;
line-height: 180%;
text-align: left;
vertical-align: top;
color: #555;
width: 100%;
font-size: max(1.0625rem, 12px);
font-weight: 400;
}

::placeholder {
color: #c3c3c3;
}

.doui {
display: block;
padding: 0em 2.8em;
line-height: 180%;
text-align: center;
vertical-align: top;
color: #5f3700;;
width: 100%;
font-size: 18px;
font-family: "Sawarabi Mincho", serif;
font-weight: 600;
}

.cyuui{
color: red;
font-size: 16px;
}

.douinoue{
color: #555;
font-size: clamp(15.5px, 1.0vw, 21px);
font-family: "Sawarabi Mincho", serif;
font-weight: normal;
line-height: 170%;
word-break: break-all;
text-align: center;
margin-bottom: 3em;
}

.douinoue a{
color: #4169e1!important;
text-decoration: underline;
}

.btn-contact03{
width: 370px;
margin: 0 auto;
margin-top: 1em;
display: flex;
justify-content: center;
padding: 0.7em;
border: 2px solid;
border-color: #CCC;
/*border-radius: 150px;*/
background-color: #555 !important;
color: #FFF;
font-weight: 600;
font-size: 20px;
border-radius: 100px;
}

.btn-contact03:hover{
background-color:#1A2D6A !important;
color: #FFF;
border: 2px solid;
border-color: #FFFFFF;
/*border-radius: 150px;*/
}

input, select {
  border: solid 1px #CCC;
  background-color: #FFFFFF !important;
  color: #333333;
  padding: 0.5em;
  margin: 0.5em;
  
  /*cursor: pointer;*/
  vertical-align: middle;
}
textarea {
  border: solid 1px #CCC;
  background-color: #FFFFFF !important;
  color: #333333;
  padding: 0.5em;
  margin: 0.5em;
}
input#submit_button {
  width: 18%;
  cursor: pointer;
}
input#reset_button {
  width: 18%;
  cursor: pointer;
}

::placeholder {
  color:#CCC;
  font-size: 1em;
}

.hissu {
  text-align: center;
  font-size: 12px;
  line-height: 140%;
  color: #FFF;
  background-color: #ff5555;
  font-family: "Sawarabi Mincho", serif;
  display: inline-block;
  padding: 3px 5px;
  margin: 0px 0 0 4px;
border-radius: 4px;
}


/*****プライバシーポリシー*****/
.privacy-container{
  max-width: 800px;
  margin: 0 auto;
  padding: 4vw 5vw;
  line-height: 1.9;
  font-size: 1rem;
  box-sizing: border-box;
}

/* --- 見出し ------------------------------------ */

.privacy-section-title{
  font-size: 1rem;
  font-weight:normal;
  margin: 2.2em 0 0.6em;
}

/* --- 段落（字下げ） ---------------------------- */

.privacy-1gyojisage{
  padding-left: 1em;  
}

.privacy-paragraph{
  padding-left: 1em;   /* 2 行目以降を右へ */
  text-indent: -1em;   /* 1 行目を左へ戻す */
}

.no-hanging{
  margin-left: -1em;   /* ぶら下げ量と同じだけ戻す */
  display: inline-block;
}


/* --- レスポンシブ調整 -------------------------- */
@media (min-width: 768px){
  .privacy-container{padding: 3rem 4rem;}
  .privacy-title{font-size: 2rem;}
  .privacy-section-title{font-size: 1.25rem;}
}



.rinen__text{
flex:1 1 0;
}
.rinen__ttl{
font-size:1.5rem;
margin-bottom:20px;
letter-spacing:.05em;
font-weight: 100;
color:#555;
 
}
.rinen__text p{
line-height:1.9;
font-size:1.1rem;
font-family: "Sawarabi Mincho", serif;
color:#555;
}


@media (max-width:768px){
.rinen__ttl{
font-size:1rem;
margin-bottom:20px;
font-weight: 100;
color:#555;
 
}
.rinen__text p{
line-height:1.6;
font-size:0.9rem;
font-family: "Sawarabi Mincho", serif;
color:#555;
}
}






.btnnin{
background-color: #39b24a;
border-radius: 16px;
padding: 3px 14px;
color: #FFFFFF;
font-weight: normal;
border: 2px solid #39b24a !important;
}

#captchaImg{
width:200px;
}

