@charset "utf-8";
/***************************************************************************************************
 default.css
 ***************************************************************************************************/
/*
*/
*, *::before, *::after {
	position:relative;

	margin: 0;
	padding: 0;
	box-sizing: border-box;

	border: 0;
	border-style: none;

	background: none;
	background-color: transparent;
	background-repeat: no-repeat;

	text-decoration: none;

	font-family: inherit; 
  font-size:inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
	font-style: normal;
  color:inherit;
}
table,thead,tbody,tfoot,tr,th,td,caption,col,colgroup,iframe,br {
  position: static;
}
:focus:not(:focus-visible) {
	outline: none;
}
:focus-visible {
	outline: 3px solid #0099ff;
	outline-offset: 1px;
}
input::-ms-clear {
	visibility: hidden
}
/*
*/
:root {
	--col_1:#004A87;
	--col_2:#005AAC;
	--col_3:#F1F6FF;

	--gap_1:3%;
	--gap_2:5%;
	--gap_3:5.22%;

	--ls_1:.06em;
	--ls_2:.12em;
	--lh_1:1.8;

	--max_wid_1:1200px;

	--fs_14_16:clamp(14px, 1.45vw, 16px);
}
html {
	font-family: "Noto Sans JP", sans-serif;
	-webkit-font-smoothing: antialiased;
	font-size: 14px;
	line-height: var(--lh_1);
	letter-spacing: var(--ls_1);
	font-weight:400;
	color: #333333;
	width: 100%;
	height: 100%;

	background-color: #F5F5F5;
}
body {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	text-align: left;
}
#pagetop {
	width: 100%;
	height: 100%;
}
/*
*/
#header {
	position: fixed;
	width:100%;
	height:110px;
	z-index: 10000;
	background-color: rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	padding: 0 var(--gap_1);
}
/*  */
#header .hd_blk_1 {
	width: min(346px, 30vw);
	height: 100%;
	z-index: 3;
}
#header .logo {
	display: flex;
	width:100%;
	height: 100%;
	justify-content: left;
	align-items: center;
}
#header .logo a {
	display: block;
	width:100%;
	padding:5px 0;
}
#header .logo a img {
	display: block;
	width:100%;
}
/*  */
#header .hd_blk_2 {
	position: absolute;
	width: 100%;
	height: 100%;
	left:0;
	top:0;
  z-index: 2;
}
#header .hd_blk_2 nav {
	width: 100%;
	height: 100%;
	padding:0 var(--gap_1) 0 0;
}
#header .hd_blk_2 nav > ul {
	display: flex;
	justify-content: flex-end;
	list-style: none;
	column-gap:22px;
	height: 100%;
}
#header .hd_blk_2 nav > ul > li {
	display: block;
	height: 100%;
}
#header .hd_blk_2 nav > ul > li:first-of-type {
	display: none;
}
#header .hd_blk_2 nav > ul > li:has(ul) {
	z-index: 1;
}
#header .hd_blk_2 nav > ul > li > a {
	display: flex;
	height: 56px;
  justify-content: center;
  align-items: center;
	top:50%;
	translate:0 -50%;
	padding:0 5px;
}
#header .hd_blk_2 nav > ul > li > a > span {
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	font-weight: 500;
	color:var(--col_1);
}
#header .hd_blk_2 nav > ul > li > a::before {
	position: absolute;
	display: block;
	content: '';
	width: calc(100% - 10px);
	height: 1px;
	left:5px;
	top:calc(100% - 9px);
	border-bottom:1px  solid var(--col_1);
	opacity:1;
	scale:0 1;
	transform-origin: 50% 50%;
	transition: .2s ease-out 0s;
	transition-property: opacity, scale;
}
#header .hd_blk_2 nav > ul > li > a.nm_hover::before {
	opacity:1;
	scale:1;
}
#header .hd_blk_2 nav > ul > li > a.sty_1 {
	padding-right:25px;
}
#header .hd_blk_2 nav > ul > li > a.sty_1::before {
	display:none;
}
#header .hd_blk_2 nav > ul > li > a.sty_1::after {
	position: absolute;
	display: block;
	content: '';
	width: 9px;
	height: 9px;
	left:calc(100% - 14px);
	top:calc(50% - 2px);
	translate: -50% -50%;
	rotate:45deg;
	border: solid var(--col_1);
	border-width: 0 2px 2px 0;
}
#header .hd_blk_2 nav > ul > li > a.sty_2 {
	background-color: var(--col_1);
	border-radius: 30px;
	transition:background-color .1s ease-out 0s;
	padding:0 40px
}
#header .hd_blk_2 nav > ul > li > a.sty_2.nm_hover {
	background-color: #005AAC;
}
#header .hd_blk_2 nav > ul > li > a.sty_2::before {
	display: none;
}
#header .hd_blk_2 nav > ul > li > a.sty_2 > span {
	display: inline-block;
	padding:0 0 0 28px;
	color:#ffffff;
}
#header .hd_blk_2 nav > ul > li > a.sty_2 > span::before {
	position:absolute;
	display: block;
	content:'';
	left:0;
	top:calc(50% + 2px);
	translate:0 -50%;
	width:20px;
	height: 20px;
	background-image: url('../images/ico_01.svg');
	background-position: 50% 50%;
	background-size: 100% auto;
}
#header .hd_blk_2 nav > ul > li > ul {
	position: absolute;
	display: block;
	left:50%;
	top:76px;
	translate:-50% 0;
	width:326px;
	border:1px solid var(--col_1);
	background-color: #ffffff;
	border-radius: 16px;
	box-shadow: 0 0 20px 0 rgba(0, 74, 135, 0.10);
	list-style: none;
	pointer-events: none;
	opacity: 0;
	transition: opacity .2s ease-out 0s, top .2s ease-out 0s;
  z-index: 2;
}
#header.submenu_show .hd_blk_2 nav > ul > li > ul {
	pointer-events: auto;
	opacity: 1;
	overflow: hidden;
  top:86px;
}
#header .hd_blk_2 nav > ul > li > ul > li {
	display: block;
	height: 60px;
}
#header .hd_blk_2 nav > ul > li > ul > li + li {
	border-top: 1px solid var(--col_1);
}
#header .hd_blk_2 nav > ul > li > ul > li > a {
  display: flex;
	height: 100%;
  justify-content: center;
  align-items: center;
	background-color: transparent;
	transition: background-color .1s ease-out 0s;
}
#header .hd_blk_2 nav > ul > li > ul > li > a.nm_hover {
	background-color: var(--col_3);
}
#header .hd_blk_2 nav > ul > li > ul > li > a > span {
	font-size: 16px;
	line-height: 1;
	font-weight: 500;
	letter-spacing: .12em;
	color:var(--col_1);
}
#header .submenu_bk {
  position: absolute;
  left:0;
  top:0;
  pointer-events: none; 
  z-index: 1;
}
#header.submenu_show .submenu_bk {
  position: fixed;
  width:100vw;
  height:100dvh;
  pointer-events: auto;
}
/*  */
#header .btn_sp_submenu {
  display: none;
}
/*  */
#header_hbg {
	display: none;
}
/*
*/
#ft_contact {
	width:100%;
	background-color: var(--col_1);
	padding:60px;
}
#ft_contact > div {
	background-color: #013A74B2;
	width:100%;
	text-align: center;
	padding:27.5px 0;
  border-radius: 10px;
}
/*  */
#ft_contact hgroup {
	color:#ffffff;
}
#ft_contact hgroup h2 {
	font-family: "Roboto", sans-serif;
	font-size: 41px;
	font-weight: 400;
	line-height: 1;
}
#ft_contact hgroup p {
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: var(--ls_2);
	padding:12px 0 0 0;
}
/*  */
#ft_contact div > p:nth-of-type(1) {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: var(--ls_2);
	padding:20px 0 0 0;
	color:#ffffff;
}
#ft_contact div > p:nth-of-type(1) span {
  white-space: nowrap;
}
/*  */
#ft_contact div > p:nth-of-type(2) {
	padding:20px 0 0 0;
}
#ft_contact div > p:nth-of-type(2) a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding:0 40px;
	width:260px;
	height:56px;
	background-color: #ffffff;
	border-radius: 30px;
	transition:background-color .1s ease-out 0s;
	margin: auto;
}
#ft_contact div > p:nth-of-type(2) a.nm_hover {
	background-color: var(--col_3);
}
#ft_contact div > p:nth-of-type(2) a > span {
	display: inline-block;
	padding:0 0 0 28px;
	color:var(--col_1);
	font-size: 16px;
	line-height: 1;
}
#ft_contact div > p:nth-of-type(2) a > span::before {
	position:absolute;
	display: block;
	content:'';
	left:0;
	top:calc(50% + 2px);
	translate:0 -50%;
	width:20px;
	height: 20px;
	background-image: url('../images/ico_01_02.svg');
	background-position: 50% 50%;
	background-size: 100% auto;
}
/*
*/
#footer {
	width:100%;
	padding: 0 var(--gap_1);
	padding-top:104px;
	background-color: #F5F5F5;
	z-index: 1000;
}
/*  */
#footer .ft_blk_1 {
	width:100%;
	height: 44px;
}
#footer .ft_blk_1 h2 {
	position: absolute;
	left:0;
	top:0;
	height: 100%;
	z-index: 1;
	width: clamp(300px, 22.3%, 321px);
}
#footer .ft_blk_1 h2 a {
	display: flex;
	justify-content: left;
	align-items: center;
	height: 100%;
}
#footer .ft_blk_1 h2 a img {
	display: block;
	width: 100%;
}
#footer .ft_blk_1 nav {
	width: 100%;
	height: 100%;
}
#footer .ft_blk_1 nav ul {
	display: flex;
	justify-content: flex-end;
	list-style: none;
	column-gap:calc(min(40px, 2.8vw) - 10px);
	height: 100%;
}
#footer .ft_blk_1 nav ul li {
	display: block;
	height: 100%;
}
#footer .ft_blk_1 nav ul li a {
	display: flex;
	padding:5px;
	justify-content: center;
	align-items: center;
	height: 30px;
	margin-top: 7px;
}
#footer .ft_blk_1 nav ul li a::before {
	position: absolute;
	display: block;
	content: '';
	width: calc(100% - 10px);
	height: 1px;
	left:5px;
	top:100%;
	border-bottom:1px  solid var(--col_1);
	opacity:1;
	scale:0 1;
	transform-origin: 50% 50%;
	transition: .2s ease-out 0s;
	transition-property: opacity, scale;
}
#footer .ft_blk_1 nav ul li a.nm_hover::before {
	opacity:1;
	scale:1;
}
#footer .ft_blk_1 nav ul li a span {
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	font-weight: 500;
	color:var(--col_1);
}
#footer .ft_blk_1 nav ul li a.sty_1 {
	background-color: var(--col_1);
	border-radius: 30px;
	transition:background-color .1s ease-out 0s;
	width:212px;
	height:44px;
	margin-top: 0;
}
#footer .ft_blk_1 nav ul li a.sty_1.nm_hover {
	background-color: #005AAC;
}
#footer .ft_blk_1 nav ul li a.sty_1::before {
	display: none;
}
#footer .ft_blk_1 nav ul li a.sty_1 span {
	display: inline-block;
	padding:0 0 0 28px;
	color:#ffffff;
}
#footer .ft_blk_1 nav ul li a.sty_1 span::before {
	position:absolute;
	display: block;
	content:'';
	left:0;
	top:calc(50% + 2px);
	translate:0 -50%;
	width:20px;
	height: 20px;
	background-image: url('../images/ico_01.svg');
	background-position: 50% 50%;
	background-size: 100% auto;
}
/*  */
#footer .ft_blk_2 {
	width:100%;
	padding:40px 0 50px 0; 
}
#footer .ft_blk_2 address {
	width:100%;
}
#footer .ft_blk_2 address dl {
	display: flex;
	justify-content: left;
	flex-wrap: wrap;
	list-style: none;
	gap:30px min(140px, 10%);
}
#footer .ft_blk_2 address dl div {
	font-size: 16px;
	line-height: var(--lh_1);
	letter-spacing: var(--ls_2);
}
/*  */
#footer .ft_blk_3 {
	border-top: 1px solid #BDBDBD;
	padding:40px 0 100px 0;
}
#footer .ft_blk_3 p {
	padding:0 0 10px 0;
}
#footer .ft_blk_3 p a {
	font-size: 14px;
	line-height: 1;
}
#footer .ft_blk_3 p a.nm_hover {
	text-decoration: underline;
	color:var(--col_1);
}
#footer .ft_blk_3 small {
	display: block;
	font-family: "Roboto", sans-serif;
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
}
/*
*/
.gsty_btn_1 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 60px;
  border-radius: 30px;
  background-color: var(--col_1);
  color:#ffffff;
  font-size:16px;
  line-height: 1;
  font-weight: 500;
  cursor: pointer;
  transition:background-color .1s ease-out 0s;
}
.gsty_btn_1.nm_hover {
  background-color: var(--col_2);
}
.gsty_btn_1::after {
	position: absolute;
	display: block;
	content: '';
	width: 20px;
	height: 20px;
	left:calc(100% - 45px);
	top:50%;
  translate:0 -50%;
  transform-origin: 50% 50%;
	background-image: url('../images/ico_02.svg');
	background-position: 50% 50%;
	background-size: 7px auto;
	transition:translate .1s ease-out 0s;
}
.gsty_btn_1.nm_hover::after {
	translate:7px -50%;
}
.gsty_btn_1.type_2::after {
	left:25px;
  translate:0 -50%;
  scale: -1;
}
.gsty_btn_1.type_2.nm_hover::after {
	translate:-7px -50%;
}
/*
*/
#header_type2 {
	position: fixed;
	width:100%;
	height:110px;
	z-index: 10000;
	background-color: rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px); 
  padding:0 var(--gap_1);
}
/*  */
#header_type2 p {
  width: min(346px, 30vw);
  height: 100%;
}
#header_type2 p a {
  display: flex;
  justify-content: left;
  align-items: center;
  width: 100%;
  height: 100%;
}
#header_type2 p img {
	display: block;
	width:100%;
}
/*
*/
.gsty_nav_1 {
  width:100%;
}
.gsty_nav_1 ul {
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
}
.gsty_nav_1 ul li {
  padding:0 30px;  
}
.gsty_nav_1 ul li::before,
.gsty_nav_1 ul li::after {
  position: absolute;
  content: '';
  display: block;
  width:1px;
  height: 30px;
  left:100%;
  top:50%;
  translate: -50% -50%;
  background-color: var(--col_1);
  rotate: 30deg;
}
.gsty_nav_1 ul li::after {
  display: none;
}
.gsty_nav_1 ul li:nth-of-type(1):after {
  display: block;
  left:0;
}
.gsty_nav_1 ul li a {
  display: block;
  text-align: center;
}
.gsty_nav_1 ul li a span {
  display: inline-block;
  font-size: 16px;
  line-height: 1;
  padding:15px 25px 15px 0;
  white-space: nowrap;
  transition:color .1s ease-out 0s;
}
.gsty_nav_1 ul li a.nm_hover span {
  color:var(--col_1);
}
.gsty_nav_1 ul li a span::after {
  position:absolute;
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  left:100%;
  top:50%;
  translate:-100% -50%;
  background-color: #333333;
  rotate:90deg;

  -webkit-mask-image: url('../images/ico_02.svg');
  mask-image: url('../images/ico_02.svg');
  -webkit-mask-mode: luminance;
  mask-mode: luminance;

  -webkit-mask-size: 7px auto;
  mask-size: 7px auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 50% 0;
  mask-position: 50% 0;

  transition:background-color .1s ease-out 0s;
}
.gsty_nav_1 ul li a.nm_hover span::after {
  background-color:var(--col_1);
}
/*
*/
.gsty_phd_1 {
  width: 100%;
  height:clamp(240px, 30.9vw, 340px);
  background-image: linear-gradient(90deg, #0172da 0%, #0172da 50%, #019de6 50%, #019de6 100%);
  overflow:hidden;
}
.gsty_phd_1 > div {
  width: 100%;
  max-width: 1440px;
  height:100%;
  background-image: linear-gradient(90deg, #0172da 0%, #019de6 100%);
  background-size: 100% 100%;
  margin: auto;
  padding:0 var(--gap_1);
}
.gsty_phd_1 .bk {
  position:absolute;
  left:50%;
  top:0;
  width: 100%;
  max-width: 1440px;
  height:100%;
  padding:0 var(--gap_1);
  translate: -50% 0;
}
.gsty_phd_1 .bk > div {
  width: 100%;
  max-width: var(--max_wid_1);
  height:100%;
  margin: auto;
}
.gsty_phd_1 .bk > div::after {
  content: '';
  display: block;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background-position: 50% 0;
}
/*  */
.gsty_phd_1 hgroup {
  width: 100%;
  max-width: var(--max_wid_1);
  height:100%;
  margin: auto;
  z-index: 1;
  display: flex;
  flex-direction: column;
  color:#ffffff;
  padding: 70px 0 0 0;
}
.gsty_phd_1 hgroup h1 {
  order:2;
  font-size: clamp(26px, 4.7vw, 46px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: var(--ls_2);
  padding:clamp(5px, 1.18vw, 13px) 0 0 0;
}
.gsty_phd_1 hgroup p:nth-of-type(1) {
  order:1;
  font-family: "Roboto", sans-serif;
  font-size: clamp(15px, 1.45vw, 16px);
  line-height: 1;
  letter-spacing: var(--ls_1);
  font-weight: 500;
}
.gsty_phd_1 hgroup p:nth-of-type(2) {
  order:3;
  font-size: clamp(12px, 1.27vw, 14px);
  padding:10px 0 0 0;
}
/*  */
.gsty_phd_1 nav {
  width: 100%;
  max-width: var(--max_wid_1);
  margin: auto;
  translate: 0 -100%;
  padding: 0 0 60px 0;
  z-index: 2;
}
.gsty_phd_1 nav ul {
  display: flex;
  justify-content: left;
  align-items: flex-start;
  flex-wrap: wrap;
  list-style: none;
}
.gsty_phd_1 nav ul li {
  display: flex;
  justify-content: left;
  align-items: center;
}
.gsty_phd_1 nav ul li a {
  color:#ffffff;
  font-size:14px;
}
.gsty_phd_1 nav ul li span {
  display: inline-block;
  width: 36px;
}
.gsty_phd_1 nav ul li span::before {
  position: absolute;
  content:'';
  display: block;
  left:50%;
  top:calc(50% + 1px);
  width:20px;
  height:20px;
  translate: -50% -50%;
	background-image: url('../images/ico_02.svg');
	background-position: 50% 50%;
	background-size: 7px auto;
}
/*
*/
.gsty_tit_1 {
  font-size: clamp(18px, 2.18vw, 24px);
  font-weight: 500;
  line-height: 1.5;
  color:var(--col_1);
  padding:0 0 .7em 0;
  border-bottom: 1px solid var(--col_1);
}
.gsty_tit_1::before {
  position: absolute;
  content: '';
  display: block;
  left:0;
  top:100%;
  width:150px;
  height:6px;
  translate: 0 -50%;
  background-color: var(--col_1);
}
/*
*/
#win_confirm {
  position: fixed;
  left:0;
  top:0;
  width:100vw;
  height:100dvh;
  background-color: rgba(51,51,51,.8);
  z-index: 100000;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
  transition:opacity .3s ease-out 0s;
}
#win_confirm.close {
  opacity:0;
  pointer-events: none;
}
#win_confirm > div {
  position: absolute;
  left:50%;
  top:50%;
  width:80%;
  max-width: 800px;
  translate: -50% -50%;
  padding:clamp(40px, 4vw, 50px) 0;
  border-radius: 10px;
  background-color: #ffffff;
  opacity:0;
  animation:kf_win_confirm_1 .4s ease-out .2s 1 normal both;
}
@keyframes kf_win_confirm_1 {
  0% { opacity: 0; top:52%;}
  100% { opacity: 1; top:50%;}
}

#win_confirm > div::before {
  display: block;
  content:'';
  margin: auto;
  width: clamp(200px, 60%, 240px);
  aspect-ratio: 237 / 30;
	background-image: url('../images/logo.svg');
	background-position: 50% 0;
	background-size: 100% auto;
}
#win_confirm .msg {
  font-size: clamp(14px, 1.45vw, 16px);
  padding:clamp(20px, 5.45vw, 60px) clamp(40px, 5vw, 70px) clamp(30px, 5.45vw, 60px) clamp(40px, 5vw, 70px);
}
#win_confirm .msg::before {
  content:'本サイトで提供している医療機器や検査項目の情報は、医師・検査技師などの医療関係者、および医学・医療系専門分野の学生の皆様を対象としています。\a一般の方への情報提供を目的としたものではありません。閲覧を続けますか？';
  white-space: pre-wrap; 
  text-align: justify;

}
#win_confirm .btns {
  width:90%;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap:0 min(20px, 5%);
}
#win_confirm .btns div {
  width:clamp(120px, 40%, 180px);
  height: min(45px, 2.31em);
  font-size: clamp(16px, 2vw, 22px);
  line-height:1;
  font-weight: 500;

}
#win_confirm .btns .btn_yes {
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #D1202E;
  cursor: pointer;
  transition: background-color .1s ease-out 0s;
}
#win_confirm .btns .btn_yes.nm_hover {
  background-color: #EE0013;
}
#win_confirm .btns .btn_yes::before {
  content:'はい';
  color:#ffffff;
}
#win_confirm .btns .btn_no a {
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center; 
  background-color: #ffffff;
  border:1px solid #333333;
  width:100%;
  height:100%;
  transition: background-color .1s ease-out 0s;
}
#win_confirm .btns .btn_no a::before {
  content:'いいえ';
}
#win_confirm .btns .btn_no.nm_hover a {
  background-color: #EFF1F5;
}
/*  */
body.show_win_confirm {
  overflow: hidden;
}
/*
*/
#cookie_alert {
  position: absolute;
  position: fixed;
  bottom: 0;
  left: 0;
  width:100%;
  z-index: 999999;
  background-color:rgba(0, 74, 135, 1);
  border-top: 1px solid #005AAC;
  font-size: clamp(12px, 1.27vw, 14px);
  padding: 1em 2em;
  animation:kf_cookie_alert_1 .6s ease-out 0s 1 normal both;
  translate: 0 100%;
  opacity:0;
}
@keyframes kf_cookie_alert_1 {
  0% { translate: 0 100%; opacity:0;}
  100% { translate: 0 0; opacity:1;}
}
#cookie_alert.hide {
  opacity:1;
  translate: 0 0;
  pointer-events: none;
  animation:kf_cookie_alert_2 .2s ease-out 0s 1 normal both;
}
@keyframes kf_cookie_alert_2 {
  0% { opacity:1;}
  100% { opacity:0;}
}
#cookie_alert > div {
  display:flex;
  justify-content: space-between;
  align-items: center;
  width:100%;
  max-width: var(--max_wid_1);
  margin: auto;
}
#cookie_alert .text {
  padding:0 1em 0 0;
  color:#ffffff;
}
#cookie_alert .text .t_1::before {
  content:'当サイトでは、お客様の当サイト利用状況把握、サービス向上検討を目的として、クッキー（Cookie）を使用しています。';
}
#cookie_alert .text .t_2::before {
  content:'詳しくは、';
}
#cookie_alert .text .t_3::before {
  content:'をご確認ください。';
}
#cookie_alert .text a {
  text-decoration: underline;
}
#cookie_alert .btn {
  font-size: clamp(14px, 1.45vw, 16px);
  line-height: 1;
  background-color: #ffffff;
  padding:1em 2.5em;
  text-align: center;
  cursor: pointer;
  transition:background-color .1s ease-out 0s, color .1s ease-out 0s;
}
#cookie_alert .btn.nm_hover {
  background-color: #D1202E;
  color:#ffffff;
}
#cookie_alert .btn::before {
  content:'閉じる';
  white-space: nowrap;
}
/***************************************************************************************************
 responsive
***************************************************************************************************/
@media (width <= 1100px) {
/*
*/
#header {
	height:62px;
	padding: 0 var(--gap_2);
}
#header.sp_menu_show {
  height:100dvh;
  background-color: #ffffff;
}
/*  */
#header .hd_blk_1 {
	width: 238px;
}
/*  */
#header .hd_blk_2 {
	height: 100dvh;
	background-color: #F2F6F9;
	opacity:0;
	pointer-events: none;
	transition:opacity .2s ease-out 0s;
  z-index: 3;
}
#header.sp_menu_show .hd_blk_2 {
	opacity:1;
	pointer-events: auto;
  padding: 75px 0 0 0;
}
/*  */
#header .hd_blk_2 nav {
	height: 100%;
	padding:0 var(--gap_2);
  overflow: auto;
  padding-bottom: 40px;
}
#header .hd_blk_2 nav > ul {
	display: block;
	gap:0;
	height: auto;
	border-top: 1px solid var(--col_1);
}
#header .hd_blk_2 nav > ul > li {
	height: 66px;
	border-bottom: 1px solid var(--col_1);
}
#header .hd_blk_2 nav > ul > li:last-of-type {
	border-bottom: none;
  height: auto;
}
#header .hd_blk_2 nav > ul > li:first-of-type {
	display: block;
}
#header .hd_blk_2 nav > ul > li > a {
	height: 66px;
  justify-content: left;
	padding: 0;
	top:0;
	translate:0 0;
}
#header .hd_blk_2 nav > ul > li > a > span {
	padding:0;
}
#header .hd_blk_2 nav > ul > li > a::before {
	display: none;
}
#header .hd_blk_2 nav > ul > li > a.sty_1 {
	padding-right:25px;
}
#header .hd_blk_2 nav > ul > li > a.sty_1::before {
	display:none;
}
#header .hd_blk_2 nav > ul > li > a.sty_1::after {
	display: none;
}
#header .hd_blk_2 nav > ul > li > a.sty_2 {
  justify-content: center;
	height:44px;
	margin-top: 32px;
}
/*  */
#header .hd_blk_2 nav > ul > li:has(.btn_sp_submenu) {
  border-bottom: none;
  overflow: hidden;
  transition: height .2s ease-out 0s;
  interpolate-size: allow-keywords;
}
#header.submenu_show .hd_blk_2 nav > ul > li:has(.btn_sp_submenu) {
  height: 366px;
  overflow: visible;
}
@supports (interpolate-size: allow-keywords) {
#header.submenu_show .hd_blk_2 nav > ul > li:has(.btn_sp_submenu) {
  height: auto;
}
}
#header .hd_blk_2 nav > ul > li > a.btn_submenu {
  border-bottom: 1px solid var(--col_1);
}
#header .hd_blk_2 nav > ul > li > ul {
	position: relative;
	display: block;
	left:0;
	top:0;
	translate:0 0;
	width:100%; 
  border: none;
	border-radius: 0;
	box-shadow:none;
  background-color: transparent;
  border-bottom: 1px solid var(--col_1);
	transition: opacity .2s ease-out 0s, top .2s ease-out 0s;
}
#header.submenu_show .hd_blk_2 nav > ul > li > ul {
  top:0;
}
#header .hd_blk_2 nav > ul > li > ul > li {
	height: 50px;
}
#header .hd_blk_2 nav > ul > li > ul > li > a {
  justify-content: left;
	height: 100%;
  padding:0 0 0 1em;
}
#header .hd_blk_2 nav > ul > li > ul > li > a.nm_hover {
	background-color: transparent;
}
#header .submenu_bk {
  display: none;
}
/*  */
#header .btn_sp_submenu {
  position: absolute;
  left:100%;
  top:50%;
  width: 60px;
  height: 60px;
  translate:-100% -50%;
  display: block;
  cursor: pointer;
}
#header .btn_sp_submenu::before,
#header .btn_sp_submenu::after {
  position: absolute;
  content:'';
  display: block;
  width: 18px;
  height: 2px;
  background-color: var(--col_1);
  left:100%;
  top:50%;
  translate: -100% -50%;
  transition: .2s ease-out 0s;
  transition-property: opacity, rotate;
}
#header .btn_sp_submenu::before {
  transition-delay: .1s, 0s;
}
#header .btn_sp_submenu::after {
  rotate: -90deg;
}
#header.submenu_show .btn_sp_submenu::before {
  opacity:0;
  transition-delay: 0s, 0s;
}
#header.submenu_show .btn_sp_submenu::after {
  rotate: 0deg;
}
/*  */
body:has(#header.sp_menu_show) {
  overflow: hidden;
}

/*
*/
#header_hbg {
	position: absolute;
	display: block;
	left:calc(95% - 50px);
	top:0;
	width:62px;
	height:62px;
	z-index: 4;
}
#header_hbg .hbg {
	position: absolute;
	width:100%;
	height:100%;
	cursor: pointer;

}
#header_hbg .hbg .b_1,
#header_hbg .hbg .b_2,
#header_hbg .hbg .b_3 {
	position: absolute;
	width: 38px;
	height: 1px;
	left:50%;
	translate:-50% -50%; 
	transform-origin: 50% 50%;
	background-color: #000000;
	transition:
	opacity .2s ease-out 0s,
	top .2s ease-out 0s,
	rotate .2s ease-out 0s,
	scale .2s ease-out 0s;
}
#header_hbg .hbg .b_1 {
	top:22px;
	transition-delay: 0s, .2s, 0s, 0s;
}
#header_hbg .hbg .b_2 {
	top:31px;
	transition-delay: .2s, 0s, 0s, 0s;
}
#header_hbg .hbg .b_3 {
	top:40px;
	transition-delay: 0s, .2s, 0s, 0s;
}
.sp_menu_show #header_hbg .hbg .b_2 {
	opacity:0;
}
.sp_menu_show #header_hbg .hbg .b_1 {
	top:31px;
	rotate:-45deg;
	scale:1.02 1;
	transition-delay: 0s, 0s, .2s, 0s;
}
.sp_menu_show #header_hbg .hbg .b_3 {
	top:31px;
	rotate:45deg;
	scale:1.02 1;
	transition-delay: 0s, 0s, .2s, 0s;
} 
/*
*/
#header .submenu_bk {
  display: none;
}
/*
*/
#ft_contact {
	padding:32px;
}
#ft_contact > div {
	padding:34.5px 0;
}
/*  */
#ft_contact hgroup {
	color:#ffffff;
}
#ft_contact hgroup h2 {
	font-size: 33px;
}
#ft_contact hgroup p {
	font-size: 16px;
	padding:10px 0 0 0;
}
/*  */
#ft_contact div > p:nth-of-type(1) {
	font-size: 12px;
	padding:20px 3% 0 3%;
}
/*  */
#ft_contact div > p:nth-of-type(2) {
	padding:20px 0 0 0;
}
#ft_contact div > p:nth-of-type(2) a {
	width:min(340px, 90%);
  height:48px;
}
#ft_contact div > p:nth-of-type(2) a > span {
	font-size: 14px;
}
/*
*/
#footer {
	padding: 0 var(--gap_2);
	padding-top:40px;
}
/*  */
#footer .ft_blk_1 {
	height: auto;
}
#footer .ft_blk_1 h2 {
	position:relative;
	height: auto;
	width:250px;
}
#footer .ft_blk_1 h2 a {
	display: block;
	height: auto;
}
#footer .ft_blk_1 nav {
	height: auto;
	padding:20px 0 0 0;
}
#footer .ft_blk_1 nav ul {
	display: block;
	height: auto;
}
#footer .ft_blk_1 nav ul li {
	height: auto;
	padding:0 0 8px 0;
}
#footer .ft_blk_1 nav ul li a {
	display: inline-block;
	padding:2px 0;
	height: auto;
	margin-top: 0;
}
#footer .ft_blk_1 nav ul li a::before {
	width: 100%;
	left:0;
}
#footer .ft_blk_1 nav ul li a.nm_hover::before {
	opacity:1;
	scale:1;
}
#footer .ft_blk_1 nav ul li a.sty_1 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 6px;
}
/*  */
#footer .ft_blk_2 {
	padding:20px 0 30px 0; 
}
#footer .ft_blk_2 address {
	width:100%;
}
#footer .ft_blk_2 address dl {
	gap:20px 40px;
}
#footer .ft_blk_2 address dl div {
	font-size: 14px;
}
/*  */
#footer .ft_blk_3 {
	padding:30px 0 50px 0;
}
#footer .ft_blk_3 p {
	padding:0 0 10px 0;
}
#footer .ft_blk_3 p a {
	font-size: 12px;
}
#footer .ft_blk_3 small {
	font-size: 12px;
}
/*
*/
#header_type2 {
  height: 62px;
  padding:0 var(--gap_2);
}
/*  */
#header_type2 p {
  width: 238px;
}
/*
*/
.gsty_phd_1 > div {
  padding: 0 var(--gap_2);
}
/*
*/
.gsty_btn_1 {
  height: 48px;
}
.gsty_btn_1.nm_hover::after {
	translate:5px -50%;
}
.gsty_btn_1.type_2.nm_hover::after {
	translate:-5px -50%;
}
/*
*/
.gsty_nav_1 ul {
  display: block;
  border-top: 1px dashed var(--col_1);
}
.gsty_nav_1 ul li {
  width:100%;
  padding: 0;
  border-bottom: 1px dashed var(--col_1);
}
.gsty_nav_1 ul li::before,
.gsty_nav_1 ul li::after {
  display: none;
}
.gsty_nav_1 ul li:nth-of-type(1):after {
  display: none;
}
.gsty_nav_1 ul li a {
  display: block;
  text-align: center;
}
.gsty_nav_1 ul li a span {
  font-size: clamp(12px, 3.2vw, 14px);
  padding:15px 25px 15px 0;
  display: block;
}
/*
*/
.gsty_phd_1 hgroup {
  padding: clamp(30px, 6.36vw, 70px) 0 0 0;
}
/*  */
.gsty_phd_1 nav {
  padding: 0 0 clamp(20px, 3.63vw, 40px) 0;
}
/*  */
}
/*
*/
@media (width <= 900px) {
/*
*/
.gsty_phd_1 {
  height:auto;
  background-image:none;
}
.gsty_phd_1 > div {
  max-width: none;
  height:auto;
  background-image: none;
  padding:0;
}
.gsty_phd_1 .bk {
  position:relative;
  left:0;
  max-width: none;
  height:140px;
  padding:0;
  translate: 0 0;
  background-image: linear-gradient(90deg, #0172da 0%, #019de6 100%);
  background-size: max(100%, 800px) auto;
  background-position: 0 100%;
}
.gsty_phd_1 .bk > div {
  max-width: none;
}
/*  */
.gsty_phd_1 hgroup {
  max-width: none;
  height:auto;
  color:var(--col_1);
  padding: 0 var(--gap_2);
}
/*  */
.gsty_phd_1 nav {
  max-width:none;
  margin: auto;
  translate: 0;
  padding: 0 var(--gap_2);
  padding-top: 20px;
  padding-bottom: clamp(7px, 1.86vw, 10px);
}
.gsty_phd_1 hgroup h1 {
  padding:10px 0 0 0;
}
.gsty_phd_1 nav ul li a {
  color:var(--col_1);
  font-size: clamp(10px, 2.66vw, 12px);
}
.gsty_phd_1 nav ul li span {
  width: 22px;
}
.gsty_phd_1 nav ul li span::before {
  top:50%;
	background-image: url('../images/ico_02_02.svg');
	background-size: 5px auto;
}
/*  */
}
/*
*/
@media (width <= 700px) {
/*
*/
#cookie_alert  {
  padding: 1.5em var(--gap_2);
}
#cookie_alert > div {
  display:block;
}
#cookie_alert .text {
  padding:0 0 1.5em 0;
}
#cookie_alert .btn {
  padding:.8em 2em;
}
/*  */
}