@charset "UTF-8";
/*
 * sp_headfoot.css
 *
 *  version --- 1.0
 *  updated --- 2025/01/31
 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* root
---------------------------------------------------------- */
:root {

--svg-icon01: url('data:image/svg+xml;utf8,<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.4716 9.50495C11.3888 8.46535 11.8474 7.12871 11.8474 5.79208C11.8474 2.59901 9.17219 0 5.88549 0C2.59879 0 0 2.59901 0 5.79208C0 8.98515 2.67522 11.5842 5.96193 11.5842C7.18489 11.5842 8.33141 11.2129 9.32506 10.5446L13.9112 15L14.9812 13.9604L10.4716 9.50495ZM10.3187 5.79208C10.3187 8.16832 8.33141 10.099 5.88549 10.099C3.43957 10.099 1.45226 8.16832 1.45226 5.79208C1.45226 3.41584 3.43957 1.48515 5.88549 1.48515C8.33141 1.48515 10.3187 3.41584 10.3187 5.79208Z" fill="%231A1A1A"/></svg>');
--svg-icon02: url('data:image/svg+xml;utf8,<svg width="17" height="15" viewBox="0 0 17 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.3704 13.2487C14.2312 13.2487 14.0913 13.198 13.9817 13.0958C13.7532 12.8824 13.742 12.5258 13.9568 12.2987C16.5015 9.60791 16.5018 5.39208 13.9568 2.701C13.742 2.47392 13.7532 2.11725 13.9817 1.90389C14.21 1.69053 14.5693 1.70162 14.7841 1.9287C17.7383 5.05263 17.7383 9.94678 14.7841 13.0707C14.6724 13.1889 14.5214 13.2485 14.3704 13.2485V13.2487Z" fill="white"/><path d="M12.5672 11.4572C12.4388 11.4572 12.3098 11.4143 12.2038 11.3262C11.9631 11.1265 11.9308 10.771 12.1318 10.532C13.6077 8.77519 13.6077 6.2248 12.1318 4.46771C11.9308 4.22867 11.9631 3.87316 12.2038 3.67352C12.4444 3.47388 12.8022 3.50599 13.0031 3.74503C14.8308 5.92066 14.8308 9.07874 13.0031 11.2544C12.8909 11.3881 12.7296 11.4569 12.5672 11.4569V11.4572Z" fill="white"/><path d="M8.78027 0.102687L3.61499 3.66676H0.633101C0.2835 3.66676 0 4.00563 0 4.4233V10.5775C0 10.9954 0.2835 11.334 0.633101 11.334H3.61499L8.78027 14.8978C9.20243 15.1891 9.72977 14.8251 9.72977 14.2425V0.757944C9.72977 0.175655 9.20214 -0.188312 8.78027 0.102687Z" fill="white"/><defs><clipPath id="clip0_13_1816"><rect width="17" height="15" fill="white"/></clipPath></defs></svg>');
--svg-icon03: url('data:image/svg+xml;utf8,<svg width="8" height="10" viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.16016 4.13397C7.82682 4.51887 7.82682 5.48112 7.16016 5.86602L1.4999 9.13397C0.833235 9.51887 -9.76698e-05 9.03775 -9.76362e-05 8.26795L-9.73505e-05 1.73205C-9.73168e-05 0.96225 0.833236 0.481125 1.4999 0.866025L7.16016 4.13397Z" fill="white"/></svg>');
--svg-icon04: url('data:image/svg+xml;utf8,<svg width="7" height="8" viewBox="0 0 7 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.17773 3.56699C6.51107 3.75944 6.51107 4.24056 6.17773 4.43301L0.749531 7.56699C0.416198 7.75944 -0.000468583 7.51887 -0.000468566 7.13397L-0.000468292 0.866025C-0.000468275 0.481125 0.416198 0.240562 0.749532 0.433012L6.17773 3.56699Z" fill="black"/></svg>');
--svg-icon05: url('data:image/svg+xml;utf8,<svg width="7" height="8" viewBox="0 0 7 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.17773 3.56699C6.51107 3.75944 6.51107 4.24056 6.17773 4.43301L0.749531 7.56699C0.416198 7.75944 -0.000468583 7.51887 -0.000468566 7.13397L-0.000468292 0.866025C-0.000468275 0.481125 0.416198 0.240562 0.749532 0.433012L6.17773 3.56699Z" fill="%2300118F"/></svg>');
--svg-icon06: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="8" cy="8" r="8" fill="%235EB5C0"/><path d="M7.12584 5.07348C7.50685 4.38767 8.49315 4.38767 8.87416 5.07348L11.1746 9.21436C11.5449 9.88089 11.063 10.7 10.3005 10.7H5.69951C4.93703 10.7 4.45506 9.88089 4.82536 9.21436L7.12584 5.07348Z" fill="white"/></svg>');

--svg-menu: url('data:image/svg+xml;utf8,<svg width="27" height="18" viewBox="0 0 27 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 1H27" stroke="black" stroke-width="2"/><path d="M0 9H27" stroke="black" stroke-width="2"/><path d="M0 17H27" stroke="black" stroke-width="2"/></svg>');
--svg-close: url('data:image/svg+xml;utf8,<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.953125 1L20.045 20.0919" stroke="black" stroke-width="2"/><path d="M20.0449 1L0.953039 20.0919" stroke="black" stroke-width="2"/></svg>');
--svg-plus: url('data:image/svg+xml;utf8,<svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 6.5H12" stroke="%2300118F" stroke-width="1.5"/><path d="M6 0.5L6 12.5" stroke="%2300118F" stroke-width="1.5"/></svg>');
--svg-minus: url('data:image/svg+xml;utf8,<svg width="12" height="3" viewBox="0 0 12 3" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 1.5H12" stroke="%2300118F" stroke-width="1.5"/></svg>');



}
.header a,
.header a:hover,
.header a:active,
.header a:focus,
.header a:visited,
.gnav__list > ul > li > a,
.gnav__list > ul > li > a:hover,
.gnav__list > ul > li > a:active,
.gnav__list > ul > li > a:focus,
.gnav__list > ul > li > a:visited,
.gnav__list ul li .sub-nav ul li a,
.gnav__list ul li .sub-nav ul li a:hover,
.gnav__list ul li .sub-nav ul li a:active,
.gnav__list ul li .sub-nav ul li a:focus,
.gnav__list ul li .sub-nav ul li a:visited,
.header-menu-sp a,
.header-menu-sp a:hover,
.header-menu-sp a:active,
.header-menu-sp a:focus,
.header-menu-sp a:visited {
  color: #00118F;
}

/* layout
---------------------------------------------------------- */
.u-hidden {
	border: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}
.u-container {
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: 15px;
}


/* header
---------------------------------------------------------- */
.header {
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
}
.header .u-container {
	padding-inline: 0;
}
.header__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 48px;
}
.header-logo {
	padding-left: 10px;
}
.header-logo img {
	width: 120px;
}
.header-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 20px;
}
.header-search {
	position: absolute;
	top: 42px;
	left: 15px;
	right: 15px;
	z-index: 10;
	padding: 24px;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	opacity: 0;
  visibility: hidden;
  transition: 0.2s;
}
.header-search.is-open {
	opacity: 1;
  visibility: visible;
	z-index: 10;
}
.header-search .search-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	border-radius: 30px;
	border: 1px solid #DCDCDC;
	background: #F4F4F4;
	box-sizing: border-box;
}
.header-search .search-box #___gcse_0 {
	width: 100%;
}
.header-search .search-box .gsc-search-box {
	margin: 0;
}
.header-search .search-box .gsc-input-box {
	height: 100%;
	padding: 0;
	border-radius: 30px 0 0 30px;
	border: none;
	background-color: transparent;
}
.header-search .search-box table.gsc-search-box td.gsc-input {
	padding-right: 0;
}
.header-search .search-box table.gsc-search-box td {
	padding: 0;
}
.header-search .search-box input.gsc-input {
	min-height: 30px;
	padding: 0 0 0 15px !important;
	border-radius: 30px 0 0 30px;
	background-color: transparent !important;
	background-position: 15px center !important;
	box-sizing: border-box;
}
.header-search .search-box .gsc-search-button-v2 {
	width: 40px;
	min-height: 30px;
	height: 100%;
	margin-left: 0;
	padding: 0;
	cursor: pointer;
	border-radius: 0 30px 30px 0;
	border: none;
	background: var(--svg-icon01) no-repeat center center / 15px auto;
	box-sizing: border-box;
}
.header-search .search-box .gsc-search-button-v2 svg {
	display: none;
}
.header-search .search-box .gsc-search-button-v2:hover {
	border: none;
	background-color: transparent;
}

.header-fontsize,
.header-read,
.header-sitemap {
	display: none;
}
.header-btn {
	display: flex;
	align-items: center;
	padding: 0 6px 0 0;
}
.header-btn .btn-search {
	width: 23px;
	height: 23px;
	padding: 0;
	cursor: pointer;
	border-radius: 50%;
	border: 1px solid #DCDCDC;
	background: var(--svg-icon01) no-repeat center center / 11px auto #F4F4F4;
}
.header-btn .btn-menu {
	width: 48px;
	height: 48px;
	margin: 0 0 0 6px;
	padding: 0;
	cursor: pointer;
	border: none;
	background: var(--svg-menu) no-repeat center center / 27px auto;
}
.header-btn .btn-menu.is-open {
	background-image: var(--svg-close);
	background-size: 19px auto;
}

/* gnav
---------------------------------------------------------- */
.gnav {
	position: absolute;
	top: 48px;
	left: 0;
	right: 0;
	z-index: -1;
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	border-top: 1px solid #DCDCDC;
	background-color: #F4F4F4;
	opacity: 0;
  visibility: hidden;
  transition: 0.2s;
}
.gnav.is-open {
	opacity: 1;
  visibility: visible;
	z-index: 10;
}
.gnav .u-container {
	padding-inline: 0;
}
.gnav__list > ul > li {
	position: relative;
}
.gnav__list > ul > li > a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 0 50px 0 15px;
	font-size: 115%;
	font-weight: 500;
	text-decoration: none;
}
.gnav__list > ul > li > a:link {
	color: #00118F;
}
.gnav__list > ul > li.is-open > a {
	background-color: #E1EDF6;
}
.gnav__list > ul > li > a:before {
	content: "";
	position: absolute;
	left: 15px;
	right: 15px;
	bottom: 0;
	display: block;
	height: 1px;
	background-color: #DCDCDC;
}
.gnav__list ul li .arw {
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	width: 52px;
	height: 52px;
	background: var(--svg-icon05) no-repeat center center / 7px auto;
}
.gnav__list ul li .acd {
	position: absolute;
	top: 0;
	right: 0;
	width: 52px;
	height: 52px;
	background: var(--svg-plus) no-repeat center center / 12px auto;
}
.gnav__list ul li .acd.is-open {
	background-image: var(--svg-minus);
}

.gnav__list ul li .sub-nav {
	position: relative;
	z-index: -1;
	height: 0;
	opacity: 0;
  visibility: hidden;
  transition: 0.2s;
}
.gnav__list > ul > li.is-open .sub-nav {
	height: auto;
	opacity: 1;
  visibility: visible;
	z-index: 10;
}
.gnav__list ul li .sub-nav p {
	display: none;
}
.gnav__list ul li .sub-nav ul li a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 50px;
	padding: 0 50px 0 30px;
	text-decoration: none;
	background: var(--svg-icon05) no-repeat right 39px center / 7px auto;
}
.gnav__list ul li .sub-nav ul li a:link {
	color: #00118F;
}
.gnav__list ul li .sub-nav ul li a:before {
	content: "";
	position: absolute;
	left: 30px;
	right: 30px;
	bottom: 0;
	display: block;
	height: 1px;
	background-color: #DCDCDC;
}

/* pagetop
---------------------------------------------------------- */
.pagetop__btn a {
	position: fixed;
	right: 15px;
	bottom: 15px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 24px;
	margin-left: auto;
	padding: 3px 10px 3px 29px;
	color: #0B7F96;
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-size: 92.3%;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	border-radius: 8px;
	border: 1px solid #0B7F96;
	background: var(--svg-icon06) no-repeat 8px center / 16px auto #fff;
	box-sizing: border-box;
}


/* footer
---------------------------------------------------------- */
.footer {
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
}
.footer__link {
	padding-block: 30px;
	background-color: #DEDEDE;
}
.footer__sns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 25px;
	font-size: 107.69%;
	line-height: 1.5;
}
.footer__sns li a {
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
}
.footer__sns li a .sns-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
}
.footer__sns li a .sns-text {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 4em;
}
.footer__sns .sns-x img {
	width: 33px;
}
.footer__sns .sns-youtube img {
	width: 41px;
}
.footer__sns .sns-mail img {
	width: 42px;
}

.footer__main {
	background-color: #F4F4F4;
}
.footer__main a:link {
	color: #00118F;
}
.footer__content {
	display: flex;
	flex-direction: column-reverse;
}
.footer-group {
	padding-top: 45px;
	padding-bottom: 20px;
}
.footer-logo {
	margin: 0 0 15px 0;
}
.footer-logo img {
	width: 193px;
}
.footer-address {
	margin-bottom: 12px;
	font-size: 107.69%;
	font-weight: 500;
	line-height: 2.3;
	text-align: left;
}
.footer-nav {
	padding-top: 50px;
	padding-bottom: 30px;
	border-bottom: 1px solid #DCDCDC;
}
.footer-nav ul {
	text-align: left;
}
.footer-nav ul li {
	margin: 0 0 20px;
	font-size: 107.69%;
	font-weight: 500;
}

.footer__mlit {
	padding-bottom: 40px;
	text-align: center;
}
.footer__mlit img {
	width: 218px;
}

.footer__copyright p {
	padding: 13px 0 17px;
	font-size: 92.3%;
	font-weight: 500;
	text-align: center;
}

.menuList01 .pageTop {
  display: none;
}
.sp_hide {
	display: none;
}

.header-menu-sp {
	margin: 20px 15px 19px 15px;
	display: flex;
}
.header-menu-sp li {
	flex: 1;
}
.header-menu-sp a {
	display: block;
	font-size: 115%;
	border: 1px solid #d8d8d8;
	text-decoration: none;
	width: calc(100% - 26px);
	padding: 12px;
	text-align: center;
}
.header-menu-sp a:after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 9px;
	margin-left: 10px;
	background: var(--svg-icon05) no-repeat 0 0 / 100% auto;
}
.header-lang-sp {
	margin-right: 20px;
}
.header-search_way {
	margin-top: 10px;
	text-align: right;
	font-size: 115%;
}

.header-search_way a:after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 9px;
	margin-left: 10px;
	background: var(--svg-icon04) no-repeat 0 0 / 100% auto;
}