/*
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;
line-height: 1.6;
color: #333;
background-color: #f0f7e4;
text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; /*　Safari　*/
}

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";*/
	
/*
-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;
}
}


.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(/wp/img/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(/wp/img/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-footer {
padding:1em 0 1em 0em;
background-color: #006837;
margin:0em 0 0 0;
}



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

.p-footer__page-top {
display: block !important;
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: 1000;
}

.p-footer__page-top img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

@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;
}
}







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(232,197,156,0.7);
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: #222;
}	


@media screen and (max-width: 767px) {
.p-header {
position:fixed;
	 }
	
	
/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
.p-header.scroll-nav {
background-color: #e8c59c;
/* コンテンツの背景が白でもナビゲーションだと分かりやすいように影をつける */
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.5em 1rem;
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: #ff0000;
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:300px;
margin:10px 0 0 0; 
padding:5px 10px 10px 10px;
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(/wp/img/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;
}
}




.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;
}








.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;
}

