@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
html {
	font-size: 62.5%;
}

.open_suns {
	font-family: "Open Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings: "wdth" 100;
	white-space: nowrap;
}

body {
	font-size: 1.6rem;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	line-height: 1.7;
	letter-spacing: 0.04em;
	word-wrap: break-word;
}

@media screen and (max-width: 750px) {
	.top_page section {
		padding-top: 80px !important;
	}
	/* section {
        padding-top: 45px;
    } */
	.mt15_sp {
		margin-top: 15px;
	}
}

h2 {
	font-weight: 500;
}

/* p {
	font-size: 16px;
	line-height: 2;
} */

a {
	display: inline-block;
}

p a:not([class]) {
	display: inline;
	transition: opacity 0.3s;
	color: #2c66b0;
	text-decoration: underline;
	&:focus-visible {
		opacity: 0.8;
	}
	@media (any-hover: hover) {
		&:hover {
			opacity: 0.8;
		}
	}
}

img {
	width: 100%;
	display: inline-block;
	transition: all 0.5s;
}

ul {
	margin: 30px 0;
}

ul li {
	position: relative;
	/* padding-left: 25px; */
	font-size: 16px;

	line-height: 30px;
	margin-bottom: 10px;
}

span {
	display: inline-block;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

.sp-br {
	display: none;
}

.txt-right {
	text-align: right;
}

@media screen and (max-width: 750px) {
	.sp {
		display: block !important;
	}
	.pc {
		display: none !important;
	}
	.sp-br {
		display: block;
	}
	.pc-br {
		display: none;
	}
}

.mt0 {
	margin-top: 0;
}

.gradation {
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	background-image: -webkit-linear-gradient(0, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.bb {
	background-color: #f2f7fb;
}
.bi {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.bgradation {
	background: transparent linear-gradient(180deg, #ffffff 0%, #eaf8ff 100%) 0% 0% no-repeat padding-box !important;
}

.return_top {
	position: fixed;
	bottom: 25px;
	right: 15px;
	/* width: 52px;
    height: 52px; */
	width: 65px;
	height: 65px;
	background-image: url(../img/arrow_top.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	z-index: 1000;
	opacity: 0;
	transition: all 0.5s;
}

.return_top.return_top_active {
	opacity: 1;
	transition: all 0.5s;
}

/***********************
    ヘッダー
***********************/

.header {
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 100;
	transition: box-shadow 0.3s, background-color 0.3s;
	background-color: #ffffff;

	&.-fv {
		background-color: transparent;
	}

	&.is-fixed {
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
		background-color: #ffffff;
	}
}
.header_inner {
	padding-block: 20px;
	transition: all 0.5s;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header_border {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 3px;
	background-image: linear-gradient(90deg, rgba(7, 174, 222, 1), rgba(42, 113, 209, 1));
}

.header_top.megamenu_hover {
	background: #fff;
}

.header_logo {
	width: 100px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.header_logo img {
	width: 100%;
}

.header_nav {
	width: calc(100% - 100px);
	height: auto;
	display: flex;
	align-items: center;
	color: #2c66b0;
}

.header_nav_ul {
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.header_nav_ul > li {
	display: grid;
	place-items: center;
	height: 40px;
}

@media screen and (max-width: 1100px) {
	.header_nav_ul {
		padding-right: 50px;
	}
	.header_nav ul li {
		margin-bottom: 0;
	}
	.header_nav ul li:nth-of-type(1),
	.header_nav ul li:nth-of-type(2),
	.header_nav ul li:nth-of-type(3),
	.header_nav ul li:nth-of-type(4),
	.header_nav ul li:nth-of-type(5),
	.header_nav ul li:nth-of-type(6) {
		display: none;
	}
}

.header_nav ul li {
	cursor: pointer;
	line-height: 1.25;
	position: relative;
	margin-left: 0;
	padding-left: 12px;
	padding-right: 12px;
	margin-bottom: 0;
}

.header_nav ul li::before {
	display: none;
}

.header_active::after {
	position: absolute;
	content: "";
	background-image: url(../img/header_active.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 50px;
	height: 2px;
	bottom: -1rem;
	left: 0;
	right: 0;
	margin: auto;
}

.header_nav_li:has(> .dropdown_nav) > a {
	pointer-events: none;
}

.header_nav_link {
	position: relative;
}

.header_nav_link::before {
	position: absolute;
	content: "";
	background-image: url(../img/header_active.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 50px;
	height: 2px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	opacity: 0;
}

.header_nav_link:hover.header_nav_link::before {
	opacity: 1;
}

.header_mail a {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #ffffff;
	border-radius: 20px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.header_mail img {
	width: 50%;
}

.header_language {
	margin-left: 0px !important;
	padding: 0 !important;
}
.header_language a {
	width: 75px;
	height: 40px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	border-radius: 20px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	gap: 5px;
}
.header_language img {
	width: 22px;
}
.header_language span {
	color: #ffffff;
	font-size: 12px;
	line-height: 32px;
}
.header_language.wpml a::before {
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	background: url("../img/header_language.svg") no-repeat center / contain;
}
.header_language.wpml span {
	display: none;
}
.header_language.wpml .wpml-ls-item a::after {
	content: "";
	display: block;
	color: #ffffff;
	font-size: 12px;
	line-height: 32px;
}
.header_language.wpml .wpml-ls-item-en a::after {
	content: "EN";
}
.header_language.wpml .wpml-ls-item-ja a::after {
	content: "JA";
}
.wpml-ls-legacy-list-horizontal {
	border: 0 !important;
	padding: 0 !important;
}

.header_contact {
	border: 1px solid #ffffff;
	margin-left: 16% !important;
}

.header_contact a {
	padding: 16px 30px;
}

.header_contact a:hover {
	background-color: #ffffff;
	color: #333333;
	opacity: 1;
}

/* ドロップダウン */

.dropdown_nav {
	cursor: auto;
	visibility: hidden;
	opacity: 0;
	transition: all 0.5s;
	width: 100%;
	position: absolute;
	top: 100%;
	/* padding-top: 20px; */
	left: 0;
	z-index: 100;
}

.dropdown_nav01 {
	margin-left: -90px;
	width: 58.19vw;
	max-width: 840px;
}

.dropdown_nav02 {
	margin-left: -195px;
	width: 58.19vw;
	max-width: 840px;
}

.dropdown_nav03,
.dropdown_nav04 {
	margin-left: -195px;
	width: calc(58.19vw / 2);
}

.dropdown_nav > div {
	background-color: #ffffff;
	padding: 36px 40px 28px 40px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.dropdown_nav span {
	display: inline-block;
	position: absolute;
	color: #ffffff;
	left: 0;
	top: 46px;
	line-height: 1;
	font-size: 15px;
	padding: 18px 0 18px 40px;
	width: calc((100% - 6.94vw) / 2 + 40px);
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
}

.dropdown_nav03 span,
.dropdown_nav04 span {
	width: calc(100% - 40px);
}

.dropdown_nav > div > div {
	display: flex;
	justify-content: space-between;
	/* gap: 6.94vw; */
	align-items: end;
}

.dropdown_nav03 > div > div,
.dropdown_nav04 > div > div {
	gap: 0;
	margin-top: 80px;
}

/* .header_active {
    filter: brightness(0.8);
} */

.body_cover {
	position: fixed;
	top: 0;
	height: 100vh;
	width: 100vw;
	left: 0;
	opacity: 0;
	background: rgba(26, 26, 26, 0.3);
	visibility: hidden;
	z-index: 99;
	transition: all 0.5s;
}

.body_cover_active {
	visibility: visible;
	opacity: 1;
}

.header_nav ul li:hover .dropdown_nav {
	visibility: visible;
	opacity: 1;
}

.dropdown_nav ul {
	/* width: calc((100% - 6.94vw) / 2); */
	width: 50%;
}

.dropdown_nav03 ul,
.dropdown_nav04 ul {
	width: 100%;
}

.dropdown_nav ul li {
	font-size: 14px;
	line-height: 20px;
	margin-left: 0;
	border-bottom: 1px solid #f7f7f7;
}

.dropdown_nav ul li a {
	position: relative;
	width: 100%;
	padding: 23px 20px 23px 0;
}

.dropdown_nav ul li a::before {
	position: absolute;
	content: "";
	background-image: url(../img/arrow-right.svg);
	width: 20px;
	height: 20px;
	right: 0;
	margin: auto;
}

.dropdown_nav ul li:first-child a {
	padding-top: 0;
}

.dropdown__list {
	background-color: #ffffff;
	padding: 32px 42px;
	transition: all 0.3s;
	position: relative;
}

.dropdown__list:not(:first-child)::before {
	content: "";
	width: 100%;
	height: 1px;
	background-color: #3492d1;
	position: absolute;
	top: 0;
	left: 0;
}

.dropdown__list:hover {
	background-color: #003558;
}

.dropdown__list a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	text-decoration: none;
	position: relative;
}
.dropdown__list a::before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(135deg);
	position: absolute;
	right: 15px;
	top: calc(50% - 5px);
}

/*
ヘッダーをスクロールしたら変化
 */

/*
.scroll-header-top .header-nav  {
    color: #000000;
}

.scroll-header-top .header-contact {
    border: 1px solid #333333;
}

.scroll-header-top .header-contact a:hover {
    background-color: #333333;
    color: #FFFFFF;
} */

/*

FVのスライド

*/

/*============================
.fv
============================*/
.fv {
	position: relative;
	height: min(100vh, 721px);
	@media screen and (min-width: 768px) {
		margin-top: -80px;
	}

	@media screen and (min-width: 768px) {
		&::before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			width: 100%;
			height: 160px;
			background: linear-gradient(to bottom, #fff, rgba(255, 255, 255, 0));
			z-index: 1;
		}
	}

	&::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 3px;
		background: linear-gradient(to right, #07aede, #2a71d1);
		z-index: 1;
	}
}
.fv__slider {
	overflow: hidden;
	margin-bottom: 0;
}
.fv__slide {
	position: relative;
}
.fv__slide__image {
	width: 100%;
	height: min(calc(100vh - 3px), calc(721px - 3px));
	overflow: hidden;
}
.fv__slide__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.fv__slide__content {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
}
.fv__slide__text {
	display: inline;
	font-size: clamp(20px, calc(100vw * 48 / 1440), 48px);
	color: #ffffff;
	background: linear-gradient(90deg, #2a71d1, #07aede);
	padding: 0.15em 0.25em;
	line-height: calc(95 / 48);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
.fv__treat {
	position: absolute;
	left: 0;
	bottom: 0;
	width: calc(100vw * 189 / 375);
	z-index: 1;
	@media screen and (min-width: 768px) {
		width: 421px;
	}
}
.fv__slider .swiper-pagination {
	bottom: 20%;
	max-width: calc(1180px + 40px);
	left: 0;
	right: 0;
	margin-inline: auto;
	padding-inline: 20px;
	text-align: start;
}

.fv__slider .swiper-pagination .swiper-pagination-bullet {
	position: relative;
	width: 10px;
	height: auto;
	aspect-ratio: 1;
	background-color: #2c66b0;
	opacity: 0.5;
	margin: 0 15px;
}

.fv__slider .swiper-pagination .swiper-pagination-bullet:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 22px;
	height: auto;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 0.5px solid #2c66b0;
	opacity: 0;
}

.fv__slider .swiper-pagination .swiper-pagination-bullet-active {
	opacity: 1;
}
.fv__slider .swiper-pagination .swiper-pagination-bullet-active:before {
	opacity: 1;
}
/* .fv__slide.swiper-slide-prev img,
.fv__slide.swiper-slide-active img {
	animation: zoomUp 10s linear 0s normal both;
} */
/* .fv__slide.swiper-slide img {
	animation: zoomUp 10s linear 0s normal both;
	transition: none;
} */
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.05);
	}
}

.fv_member {
	position: absolute;
	bottom: 0;
	right: 0;
	min-width: 28.8rem;
	min-height: 7rem;
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	z-index: 10;
	color: #ffffff;
	line-height: 1.5;
	padding: 1rem;
	@media screen and (max-width: 750px) {
		min-width: 20rem;
		font-size: 1.2rem;
		min-height: 5rem;
		gap: 3px;
	}
}

.fv_member img {
	width: 20px;
	height: auto;
	aspect-ratio: 1;
}

/*
ハンバーガーメニュー
*/

.hamburger-menu {
	display: none;
}

@media (max-width: 1100px) {
	/***********************
    ハンバーガーメニュー
    ***********************/

	.hamburger-menu {
		width: 30px;
		height: 40px;
		display: block;
		position: fixed;
		top: 15px;
		right: 20px;
		z-index: 1001;
	}
	.admin-bar .hamburger-menu {
		top: 60px;
	}
	.menu-btn {
		display: block;
		width: 30px;
		height: 40px;
		z-index: 10001;
		position: relative;
	}
	.menu-btn span,
	.menu-btn span:before {
		content: "";
		display: block;
		height: 2px;
		width: 30px;
		background-color: #2c66b0;
		position: absolute;
		top: 25px;
		z-index: 81;
	}

	.menu-btn span:before {
		top: -10px;
	}

	#menu-btn-check:checked ~ .menu-btn span::after {
		background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
	}
	#menu-btn-check:checked ~ .menu-btn span {
		bottom: 0;
		transform: rotate(45deg);
	}
	#menu-btn-check:checked ~ .menu-btn span::before {
		top: 0;
		transform: rotate(-90deg);
	}
	#menu-btn-check:checked .kasou-top {
		z-index: 0;
	}
	#menu-btn-check {
		display: none;
	}
	.menu_content {
		width: 100%;
		height: 100%;
		height: calc(100vh - 80px);
		position: fixed;
		overflow: auto;
		top: 80px;
		left: 100%;
		z-index: 80;
		background-image: linear-gradient(180deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
		transition: all 0.5s;
		/* padding-top: 10px; */
	}
	.admin-bar .menu_content {
		height: calc(100vh - 45px);
		top: 45px;
	}

	header .menu_content_parent > a {
		pointer-events: none;
	}
	.menu_content_parent {
		position: relative;
	}

	.menu_content_parent::before,
	.menu_content_parent::after {
		content: "";
		display: inline-block;
		position: absolute;
		width: 1px;
		height: 14px;
		top: 0;
		bottom: 0;
		left: initial;
		margin: auto;
		right: 27px;
		background-color: #ffffff;
	}

	.menu_content_parent::after {
		transform: rotate(90deg);
	}

	.menu_content ul {
		margin: 0;
	}

	.menu_content li {
		padding-left: 0;
		margin-bottom: 0;
		border-bottom: 1px solid rgba(247, 247, 247, 0.5);
	}

	.menu_content_child ul li {
		border-bottom: 0;
	}

	.menu_content ul li a {
		font-size: 14px;
		color: #ffffff;
		padding: 19px 0 16px 20px;
		width: 100%;
	}

	#menu-btn-check:checked ~ .menu_content {
		left: 0;
	}

	.menu_content_child ul {
		display: flex;
		flex-wrap: wrap;
		gap: 26px 33px;
		justify-content: space-between;
		padding: 18px 7.5%;
		/* border-bottom: 1px solid rgba(247, 247, 247, 0.5); */
	}

	.menu_content_child ul li {
		width: calc((100% - 33px) / 2);
		text-align: left;
	}

	.menu_content_child ul li a {
		padding: 0;
		line-height: 22px;
	}

	.menu_content_parent.close::before {
		transform: rotate(90deg);
	}

	.menu_content_child {
		display: none;
	}

	.menu_content_child01.show,
	.menu_content_child02.show,
	.menu_content_child03.show,
	.menu_content_child04.show {
		display: block !important;
	}

	.link_none::before,
	.link_none::after {
		display: none !important;
	}
}
/***********************
    ハンバーガーメニュー
    ***********************/

/***********************

    NEWS

***********************/

.inner {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
}

section:last-child .inner {
	margin-bottom: 0;
}

@media screen and (max-width: 1220px) {
	.inner {
		width: 100%;
		padding-inline: 20px;
	}
}

.news {
	padding: 57px 0 25px 0;
}

.news_box {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 45px;
	align-items: start;
	@media screen and (max-width: 750px) {
		grid-template-columns: unset;
		justify-items: start;
	}
}

.news_box h2 {
	display: inline-block;
	font-size: 15px;
	padding-right: 10px;
	margin-right: 17px;
	position: relative;
}

.news_box h2::before {
	position: absolute;
	content: "";
	width: 17px;
	height: 1px;
	top: 50%;
	transform: translateY(-50%);
	left: 100%;
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
}

.news_item {
	font-size: 14px;
	border-bottom: 1px solid #f7f7f7;
	padding: 20px 0;
}

.news_item a {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.news_item a::before {
	position: absolute;
	content: "";
	background-image: url(../img/arrow-right.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}
.news_item a > div {
	display: flex;
	align-items: center;
	gap: 15px 30px;
	padding-right: 80px;

	.news_title {
		flex-grow: 1;
	}
}

.news_item:nth-child(1) {
	padding-top: 0;
}

.news__meta {
	padding-left: 0 !important;
	display: flex;
	padding-right: 0 !important;
	gap: 10px 10px;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 10px;
	.news_date {
		margin-right: 20px;
	}
}

.news_category {
	flex-shrink: 0;
	padding: 6px 15px;
	color: #ffffff;
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
}

.news_all {
	margin-top: 23px;
	text-align: end;
	font-size: 14px;
	color: #2c66b0;
}

.news_all a {
	border-bottom: 1px solid #2c66b0;
}

/***********************

    重要なお知らせ

***********************/

.important_message {
	width: 100%;
	padding: 80px 0;
	background-image: url(../img/important_back.png);
	background-repeat: no-repeat;
	background-size: cover;
}

.important_message_box {
	display: flex;
	justify-content: space-between;
	gap: 45px;
}

.important_message_box h2 {
	width: 174px;
	display: inline-block;
	font-size: 24px;
	line-height: 32px;
}

.important_message_box p {
	width: calc(100% - 174px - 45px);
	font-size: 16px;
	line-height: 32px;
}

.sub_title {
	display: inline-block;
	font-size: 14px;
	line-height: 14px;
	padding-right: 27px;
	position: relative;
	margin-bottom: 10px;
	font-weight: 600;
}

/*============================
.title
============================*/
.title {
	display: grid;
	justify-items: start;
	line-height: 1.25;
	gap: 10px;
	margin-bottom: 20px;
	@media (min-width: 768px) {
		margin-bottom: 40px;
	}
}
.title__sub {
	position: relative;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	/* @media (min-width: 768px) {
	} */
}
.title__sub::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 1px;
	top: 50%;
	left: calc(100% + 10px);
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	/* @media (min-width: 768px) {
	} */
}
.title__main {
	text-transform: capitalize;
	font-weight: 400;
	color: #2c66b0;
	font-size: 32px;
	@media (min-width: 768px) {
		font-size: 40px;
	}
}
/*============================
.button
============================*/
.button__wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 40px 40px;
}
.button {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	min-height: 60px;
	background-color: transparent;
	font-size: 16px;
	padding: 0.5em calc(30px + 20px + 1em) 0.5em 1em;
	letter-spacing: 0.1em;
	border: 2px solid #2c66b0;
	color: #2c66b0;
	cursor: pointer;
	@media (min-width: 768px) {
		min-width: 263px;
		width: fit-content;
	}

	&::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 30px;
		transform: translateY(-50%);
		vertical-align: middle;
		width: 20px;
		height: auto;
		aspect-ratio: 20/5;
		background: url(../img/arrow_right_blue.svg) no-repeat center / contain;
		/* @media (min-width: 768px) {
		} */
	}

	&.-white {
		border-color: #fff;
		color: #fff;

		&::before {
			background-image: url(../img/arrow_right_white.svg);
		}
	}

	&[target="_blank"] {
		&::before {
			width: 15px;
			aspect-ratio: 1;
			background-image: url(../img/arrow_link.svg);
		}
	}
}
/*============================
.about
============================*/
.about__inner {
	position: relative;
}
.about__title {
	@media (min-width: 768px) {
		padding-right: 130px;
	}
}
.about__media {
	display: grid;
	gap: 40px 60px;
	@media (min-width: 768px) {
		grid-template-columns: 1fr 300px;
	}
}
.about__media__body {
	order: 2;
	@media (min-width: 768px) {
		order: unset;
	}
}
.about__media__text {
	margin-bottom: 1.5lh;
	/* @media (min-width: 768px) {
	} */
}

/* .about__media__image {
} */
.about__treat {
	display: none;
	position: absolute;
	max-width: 127px;
	bottom: 100%;
	right: 0;
	transform: translateY(100%);
	@media (min-width: 768px) {
		display: block;
	}
}

.slick__container {
	overflow: hidden;
}

.slick-nav-arrows {
	position: absolute;
	top: 38px;
	right: 183px;
}

.slick-arrow {
	position: absolute;
	top: 8vw;
	/* width: 61px; */
	/* height: 61px; */
	width: 65px;
	height: 65px;
	align-items: center;
	justify-content: center;
	z-index: 10;
	cursor: pointer;
}

/***********************

    患者・一般の皆様

***********************/

.customer {
	/*display: none;*/
	background-image: url(../img/customer_back.png);
}

@media screen and (max-width: 750px) {
	.customer {
		background-image: url(../img/customer_back_sp.png);
	}
}

@media screen and (min-width: 2000px) {
	.customer {
		padding-bottom: 1vw;
	}
}

.customer_box {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 55px;
	padding: 58px 0 80px 0;
}

.customer_img {
	width: 32.2%;
}

.customer_text {
	width: calc(100% - 32.3% - 55px);
}

.customer_text h2 {
	font-size: 30px;
	font-weight: 500;
	margin-bottom: 20px;
	display: inline-block;
}

.customer_text h2 span {
	font-size: 24px;
}

@media screen and (max-width: 750px) {
	.customer_box {
		flex-direction: column;
		gap: 40px;
	}
	.customer_img {
		/*         width: 54.3%; */
		width: calc(100vw * 300 / 400);
	}
	.customer_text {
		width: 100%;
	}
	/* .customer_text h2 {
        font-size: 4.29vw;
    }
    .customer_text h2 span {
        font-size: 3.43vw;
    } */
}

/***********************

    医療機器製品

***********************/

.product {
	background-image: url(../img/product_back.png);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 27px 0 123px 0;
	margin-top: -15px;
}

@media screen and (min-width: 2000px) {
	.product {
		margin-top: -1.5vw;
	}
}

body.home .product_box,
.product_btn {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.product_box {
	align-items: center;
}
.product_box:not(:first-child) {
	margin-top: 40px;
}

.product .sub_title::before {
	background-image: none;
	background-color: #ffffff;
}

.product_img {
	width: 43%;
}

.product_text {
	width: calc(100% - 43%);
	color: #ffffff;
}
.product__text {
	margin-bottom: 1.5lh;
}

.btn {
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	position: relative;
}

.product_btn {
	gap: 15px;
}

.product_btn_item {
	width: 32.5%;
	display: grid;
	grid-template-columns: 43.5% 1fr;
	background-color: #ffffff;
	position: relative;
}

.product_btn_item::before {
	position: absolute;
	content: "";
	background-image: url(../img/arrow-right.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	bottom: 11px;
	right: 15px;
}

.product_btn_item_img {
	height: 100%;

	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.product_btn_item_text {
	padding: 1.5rem;
	display: grid;
	align-content: center;
}

.product_btn_item_text h3 > p {
	display: inline-block;
	font-size: 20px;
	font-weight: 500;
	line-height: 28px;
}

.product_btn_item_text h3 span {
	font-size: 14px;
	font-weight: 500;
}

.product_btn_item_text > p {
	padding-right: 20px;
	font-size: 14px;
	line-height: 22px;
	padding-right: 20px;
}

@media screen and (max-width: 1080px) {
	.product_btn {
		margin-top: 30px;
		flex-wrap: wrap;
		justify-content: center;
	}

	.product_btn_item {
		width: 43.5%;
	}
}

@media screen and (max-width: 750px) {
	.product {
		background-image: url(../img/product_back_sp.png);
	}

	.product_box {
		flex-direction: column;
	}

	.product_img {
		width: 50%;
		min-width: 353px;
	}

	.product_text {
		width: 100%;
	}

	.product_text h2 {
		font-size: 32px;
		margin-bottom: 25px;
	}

	.product_text p {
		line-height: 32px;
	}

	.product_btn {
		margin-top: 25px;
		display: block;
	}

	.product_btn_item {
		width: 100%;
		min-height: 188px;
		margin-bottom: 25px;
	}

	.product_btn_item_text {
		h3 {
			line-height: calc(22 / 20);
			margin-bottom: 6px;
		}
		> p {
			font-size: 12px;
			letter-spacing: 0.04em;
			line-height: calc(22 / 12);
		}
	}
}

@media screen and (max-width: 390px) {
	.product_btn_item_text h3 > p {
		font-size: 16px;
	}
}

/***********************

   バイオセラミックス

***********************/

.bioceramics {
	background-image: url(../img/bioceramics_back.png);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 80px 0 56px 0;
	margin-top: -20px;
}

.bioceramics_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	gap: 60px;
}

.bioceramics_text {
	width: calc(100% - 32.5% - 60px);
}
.bioceramics__text {
	margin-bottom: 1.5lh;
}
.bioceramics_img {
	width: 32.5%;
}

@media screen and (max-width: 750px) {
	.bioceramics_box {
		flex-direction: column-reverse;
	}

	.bioceramics_img {
		/* width: 54.3%; */
		width: calc(100vw * 300 / 400);
	}

	.bioceramics_text {
		width: 100%;
	}
}

/***********************

   採用情報

***********************/

.recruit {
	padding: 120px 0 205px 0;
	position: relative;
}

.recruit::after {
	position: absolute;
	content: "";
	background-image: url(../img/recruit_img.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 100px;
	height: 124px;
	top: -50px;
	right: 166px;
}

@media screen and (min-width: 1440px) {
	.recruit::after {
		right: calc((100% - 1440px) / 2 + 166px);
	}
}

.recruit::before {
	position: absolute;
	content: "";
	background-image: url(../img/recruit_back.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 70vw;
	height: 40vw;
	/* max-width: 1000px;
    max-height: 571px; */
	bottom: 0;
	right: 0;
	z-index: -1;
}

@media screen and (max-width: 1000px) {
	.recruit::before {
		width: 90vw;
		height: 52vw;
	}
}

.recruit_box {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
}

.recruit_text {
	width: 46.6%;
}
.recruit__text {
	margin-bottom: 1.5lh;
}

@media screen and (max-width: 750px) {
	.recruit {
		/* 		padding: 100px 0 105px 0; */
		padding: 0px 0 60px 0;
	}

	.recruit_text {
		/* width: 74.3%; */
		width: 100%;
	}

	.recruit::before {
		background-image: url(../img/recruit_back_sp.png);
		width: calc(100vw * 350 / 400);
		height: auto;
		aspect-ratio: 350 / 342;
		bottom: 18%;
	}

	.recruit::after {
		display: none;
	}
}

/***********************

    サステナビリティ/ESG

***********************/

.esg {
	padding-block: 120px;
	position: relative;
}

.esg::before {
	position: absolute;
	content: "";
	background-image: url(../img/esg_back.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 80%;
	height: 35vw;
	top: 50%;
	transform: translateY(-50%);
	left: -320px;
	z-index: -1;
}

@media screen and (max-width: 1250px) {
	.esg::before {
		width: 100%;
		height: 50vw;
		top: -5vw;
		left: -420px;
	}
}

.esg_box {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	justify-content: end;
}

.esg_text {
	width: 46.6%;
}
.esg__text {
	margin-bottom: 1lh;
}
@media screen and (max-width: 1200px) {
	.esg_text {
		width: 70%;
	}
}

@media screen and (max-width: 750px) {
	.esg {
		padding-block: 60px;
	}
	.esg_text {
		width: 74.3%;
	}

	.esg::before {
		background-image: url(../img/esg_back_sp.png);
		width: calc(100vw * 227 / 400);
		height: auto;
		aspect-ratio: 227 / 333;
		top: auto;
		bottom: 10%;
		left: 0;
		transform: none;
	}
}

@media screen and (max-width: 500px) {
	.esg_text {
		/* 		width: 95%; */
		width: 100%;
	}
}

/***********************

   FOOTER

***********************/

.footer_top {
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	/* padding: 60px 0 140px 0; */
	padding: 60px 0 60px 0;
}

.footer_nav {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	color: #ffffff;
}

@media screen and (max-width: 1200px) {
	.footer_nav {
		padding: 0 20px;
	}
}

.footer_nav01 {
	width: 23.5%;
}

.footer_nav02 {
	width: 13%;
}

.footer_nav03 {
	width: 16.8%;
}

.footer_nav04 {
	width: 19.7%;
}

.footer_nav ul li {
	font-size: 13px;
	line-height: 1.7;

	padding-left: 0;
	margin-bottom: 15px;
}

.footer_nav ul li::before {
	background-image: none;
}

.menu_content_parent a,
.menu_content_parent.link_none {
	font-size: 16px;
	font-weight: 400;
}

.footer_nav_big {
	font-size: 15px !important;
	font-weight: 500 !important;
}

@media screen and (min-width: 750px) {
	.footer_nav .menu_content_child {
		display: block;
		margin-top: -15px;
	}

	.footer_nav .menu_content_child ul {
		display: block;
		padding: 0;
	}

	footer .menu_content_parent::before,
	footer .menu_content_parent::after {
		display: none;
	}
}

@media screen and (max-width: 1100px) {
	.menu_content_child ul li {
		width: 100%;
	}

	.footer_nav01 {
		width: 28.5%;
	}

	.footer_nav02 {
		width: 18%;
	}

	.footer_nav03 {
		width: 21.8%;
	}

	.footer_nav04 {
		width: 24.7%;
	}
}

@media screen and (max-width: 1005px) {
	.footer_nav {
		flex-wrap: wrap;
	}

	.footer_nav01,
	.footer_nav02,
	.footer_nav03,
	.footer_nav04 {
		width: 50%;
		margin: 0;
	}
}

@media screen and (max-width: 750px) {
	.footer_nav {
		padding: 0;
	}
}

.footer_mt {
	margin-top: 35px;
}

.footer_link {
	width: 100%;
	max-width: 1180px;
	margin: 30px auto 45px auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 16px;
}

.footer_member {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer_member span {
	color: #2c66b0;
}

.footer_member a {
	color: #ffffff;
	/* padding: 26px 70px 26px 18px; */
	padding: 26px 60px 26px 30px;
	position: relative;
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
}

.footer_member a:last-child {
	color: #2c66b0;
	/* padding: 25px 69px 25px 17px; */
	position: relative;
	background-image: none;
	border: 1px solid #2c66b0;
}

.footer_regist {
	margin: 0 15px;
}

.footer_member a::before {
	position: absolute;
	content: "";
	background-image: url(../img/member_img.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 30px;
}

.footer_member a:last-child:before {
	position: absolute;
	content: "";
	background-image: url(../img/login_img.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 30px;
}

.footer_copyright {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto 38px auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer_a {
	font-size: 14px;
	display: inline-block;
	color: #999999;
	border-bottom: 1px solid #999999;
}

.footer_a:first-child {
	margin-right: 30px;
}

.copyright {
	font-size: 12px;
	color: #999999;
}

/***********************

    NEWSページ

***********************/

.kasou_fv__wrapper {
	position: relative;
}
.kasou_fv {
	min-height: 180px;
	position: relative;
	display: grid;
	align-items: center;
	padding-block: 2rem;
}

.kasou_fv_blue {
	background-color: #f2f7fb;
}

.kasou_fv_title {
	position: relative;
	font-size: clamp(30px, calc(100vw * 48 / 1440), 48px);
	font-weight: 500;
	line-height: 1.25;
	color: #2c66b0;
	z-index: 1;
}

.kasou_fv_img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.kasou_fv_img::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url(../img/kasou_header_cover.png);
	background-repeat: no-repeat;
	background-size: cover;
}

.kasou_fv_blue .kasou_fv_img::before {
	background-image: url(../img/kasou_header_cover_blue.png);
}

.page-template-page-form-confirm,
.page-template-page-form-thanks {
	.kasou_fv {
		background-color: #f2f7fb;
	}
	.kasou_fv_img {
		display: none;
	}
}
.kasou_fv_img img {
	width: 66.6%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin: 0 0 0 auto;
}

.pull_down {
	margin-top: 14px;
	display: inline-block;
	width: 206px;
	font-size: 14px;
	line-height: 14px;
	border: 1px solid #f7f7f7;
	position: relative;
	border-radius: 4px;
}

.pull_down select {
	display: inline-block;
	padding: 13px 0 13px 16px;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.pull_down::before {
	pointer-events: none;
	content: "";
	width: 10px;
	height: 10px;
	border: 0;
	border-bottom: solid 2px #2c66b0;
	border-right: solid 2px #2c66b0;
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -6px;
	transform: rotate(45deg);
}

.kasou_news .news_box {
	width: 100%;
	max-width: 1060px;
	margin: auto;
	display: block;
}

.kasou_news .news_content {
	width: 100%;
	margin: 40px 0 40px 0;
}

.nav-links {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

.page-numbers {
	font-size: 16px;
	width: 34px;
	height: 34px;
	line-height: 31px;
	color: #2c66b0;
	border: 1px solid #2c66b0;
	border-radius: 50%;
	margin: 0px 5px;
}

.page-numbers.current {
	color: #ffffff;
	background-color: #2c66b0;
}

.nav-links .prev,
.nav-links .next {
	border: none;
}

.nav-links .prev {
	background-image: url("../img/single_arrow_left.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 35px;
}

.nav-links .next {
	background-image: url("../img/single_arrow_right.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-left: 35px;
}

.breadcrumb {
	border-bottom: 8px solid #2c66b0;
}

.breadcrumb.back {
	background-color: #f2f7fb;
}

.breadcrumb a img {
	margin-bottom: -4px;
}

.breadcrumb span {
	margin: 0 10px 0 0;
}

.breadcrumb_home,
.breadcrumb a {
	margin: 0 10px 0 0;
}

.breadcrumb span img {
	margin-bottom: -4px;
}

.breadcrumb p {
	font-size: 13px;
	font-weight: bold;
	color: #2c66b0;
	margin-bottom: 0;
	line-height: 18px;
	padding: 0 !important;
}

.breadcrumb p a {
	display: inline-block;
	text-decoration: none;
	font-weight: bold;
	font-size: 13px;
}

.breadcrumb_last {
	display: inline;
	margin: 0 !important;
}

.kasou_footer::before {
	content: "";
	position: absolute;
	width: 58px;
	height: 32px;
	top: -36px;
	left: 130px;
	background-image: url(../img/kasou_footer_nav_img.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (min-width: 1440px) {
	.kasou_footer::before {
		left: calc((100% - 1180px) / 2);
	}
}

/***********************

    医療関係者向け製品一覧ページ

***********************/

.news .kasou_fv_img {
	width: 51%;
}

.kasou_fv_nav {
	position: absolute;
	right: 0;
	left: 0;
	/* 	bottom: 0; */
	top: 100%;
	transform: translateY(-1lh);
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	z-index: 1;
}

.kasou_fv_nav li {
	padding-left: 0;
	margin-bottom: 5px;
}
.kasou_fv_nav li::before {
	content: none;
}

.page_link {
	font-size: 14px;

	padding: 0 28px 0 0;
	position: relative;
	/* border-bottom: 1px solid #F7F7F7; */
	margin-left: 30px;
	color: #2c66b0;
}

.page_link::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 0;
	background-image: url(../img/link_right.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.page_inside::before {
	background-image: url(../img/link_bottom.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.link_right_bracket::before {
	background-image: url(../img/link_right_bracket.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.kasou_filter .inner {
	margin-top: 60px !important;
}

@keyframes displayAnime {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.dental_link {
	margin: 20px 0 0 0;
	text-align: end !important;
}

/* .kasou_h2 {
    font-size: 32px;
    line-height: 32px;
    color: #2C66B0;
    font-weight: 500;
    padding-bottom: 15px;
    margin: 40px 0;
    border-bottom: 1px solid #2C66B0;
} */

.product_contents {
	width: 100%;
	padding: 0 5.1% 30px;
	display: flex;
	flex-wrap: wrap;
	gap: 50px 26px;
}

.product_item {
	width: calc((100% - 52px) / 3);
}

.product_item_img {
	width: 100%;
	height: 15.55vw;
	background-color: #f7f7f7;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 18px;
}

.product_item_img img {
	width: 90%;
	height: 100%;
	object-fit: contain;
}

.product_item_text h3 {
	font-size: 24px;
	font-weight: bold;
	color: #2c66b0;
	margin-bottom: 16px;
}

.product_item_part span {
	font-size: 14px;
	color: #2c66b0;
	margin-bottom: 11px;
}

.product_item_text p {
	font-size: 16px;
	line-height: 28px;
	margin-bottom: 20px;
}

.product_item_feature {
	display: flex;
	flex-wrap: wrap;
	column-gap: 10px;
	margin: 0;
}

.product_item_feature li {
	font-size: 12px;
	color: #2c66b0;
	padding-left: 12px;
	margin: 0;
	position: relative;
}

.product_item_feature li:first-child {
	font-size: 14px;
}

.product_item_link {
	margin-top: 5px;
	text-align: end;
}

.product_item_link span {
	font-size: 14px;
	line-height: 14px;
	color: #2c66b0;
	text-decoration: underline;
}

.kasou_link a {
	font-size: 16px;
	padding: 18px 130px 18px 30px;
	letter-spacing: 0.1em;
	position: relative;
	background-color: #ffffff;
	color: #2c66b0;
	border: 2px solid #2c66b0;
}

.kasou_arrow::before {
	position: absolute;
	content: "";
	width: 20px;
	height: 5px;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
}

.kasou_arrow.white::before {
	background-image: url(../img/arrow_right_white.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.kasou_arrow.blue::before {
	background-image: url(../img/arrow_right_blue.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.catalog_link {
	text-align: center;
	margin: 35px 0 50px 0;
}

.kasou_link {
	text-align: center;
}

.kasou_product .kasou_link {
	margin-bottom: 70px;
}

.banner {
	background-color: #f3f7fb;
}

.banner_box {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	/* padding: 80px 0; */
}

.banner_item {
	width: calc((100% - 20px) / 2);
	height: 240px;
	color: #2c66b0;
	position: relative;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.banner_item::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	background-image: url(../img/banner_mask.png);
	background-repeat: no-repeat;
	/* 	background-size: contain; */
	background-size: cover;
}

.banner_item div {
	position: absolute;
	bottom: 20px;
	padding: 0 20px;
}

.banner_item:first-child {
	background-image: url("../img/banner01.png");
	background-size: cover;
}

.banner_item:last-child {
	background-image: url("../img/banner02.png");
	background-size: cover;
}

.product_details_banner .banner_item:first-child {
	background-image: url("../img/banner01.png");
	background-size: cover;
}

.product_details_banner .banner_item:last-child {
	background-image: url("../img/banner02.png");
	background-size: cover;
}

.banner_item h3 {
	font-size: 28px;
	font-weight: 500;
	margin-bottom: 7px;
}

.banner_item p {
	font-size: clamp(14px, calc(100vw * 25 / 1440), 25px);
	line-height: 40px;
	font-weight: 500;
}

.product_details_page .breadcrumb {
	background-color: #f3f7fb;
}

.button_section .area_back {
	padding-top: 0;
	padding-bottom: 20px;
}

.button_section .area_back:first-child {
	margin-bottom: 80px;
}

.link_list_title {
	display: inline-block;
	font-size: 18px;
	font-weight: 500;
	color: #ffffff;
	padding: 16px 160px 16px 60px;
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	margin-bottom: 20px;
}

.link_list {
	margin: 30px 60px 0 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0 22px;
}

.link_list li {
	padding-left: 0;
	width: calc((100% - 44px) / 3);
	/* padding: 15px 0; */
	padding: 10px 0;
	border-bottom: 1px solid #f7f7f7;
	margin-bottom: 10px;
}

.link_list .page_link {
	width: 100%;
	margin-left: 0;
	padding: 0;
}

.link_list .pt0 {
	padding-top: 0;
}

/* 製品詳細(各製品)＿投稿機能ページ（クラシックエディタorブロックエディタ） */

header.single_header {
	height: 274px;
}

.product_single_header {
	height: 80px !important;
	aspect-ratio: 1;
}

.single_header .kasou_fv_img {
	display: none;
}

.single_header::before,
.single_header::after {
	display: none;
}

/* お問い合わせ */

.contact_header {
	background-color: #f2f7fb;
}

.wpcf7-form-control-wrap {
	width: 100%;
}

.arrow_bottom span {
	position: relative;
}

.arrow_bottom span::before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	width: 13.45px;
	height: 6.72px;
	background-image: url(../img/arrow_bottom.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.wpcf7-list-item {
	margin: 0 40px 0 0;
}

.wpcf7-list-item:last-child {
	margin: 0;
}

.wpcf7-list-item input {
	margin: 0 7px 3px 0;
	width: 18px;
	height: 18px;
}

span.wpcf7-form-control.wpcf7-radio,
.wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;

	.wpcf7-list-item {
		margin: 0;
		display: inline-flex;
		align-items: center;
	}
	.wpcf7-list-item.has-free-text {
		display: flex;
		align-items: center;
		width: 100%;
		max-width: 430px;
		gap: 0 15px;
		.wpcf7-free-text {
			flex-grow: 1;
			padding: 8px 15px;
			line-height: 1;
			font-size: 16px;
			height: 30px;
		}
	}
}

.wpcf7-spinner {
	display: none !important;
}

.wpcf7 {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

th p,
td p {
	margin-bottom: 0;
}

.acceptance {
	text-align: center;
	margin-top: 50px;
}

.acceptance a {
	display: inline-block;
	color: #2c66b0;
	font-size: 16px;

	line-height: 1.7;
	text-decoration: underline;
}

.submit_btn {
	text-align: center;
	margin-top: 60px;
}

.wpcf7-submit {
	display: inline-block;
	text-align: center;
	width: 140px;
	font-size: 16px;
	line-height: 16px;
	letter-spacing: 0.1em;
	margin: 0 10px 30px 10px;
	padding: 20px 0 !important;
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	color: #ffffff;
	border-radius: 0 !important;
	border: none;
}

.wpcf7-previous {
	display: inline-block;
	text-align: center;
	width: 140px;
	font-size: 16px;
	line-height: 16px;
	letter-spacing: 0.1em;
	margin: 0 10px 30px 10px;
	padding: 20px 0 !important;
	color: #2c66b0;
	border-radius: 0 !important;
	border: 2px solid #2c66b0;
}

.wpcf7-spinner {
	display: none;
}

.btn::before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
}

.arrow_blue::before {
	width: 20px;
	height: 5px;
	background-image: url(../img/arrow_right_blue.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.arrow_white::before {
	width: 20px;
	height: 5px;
	background-image: url(../img/arrow_right_white.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.arrow_link::before {
	width: 13.76px;
	height: 13.76px;
	background-image: url(../img/arrow_link.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.download::before {
	width: 14px;
	height: 14px;
	background-image: url(../img/download.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.slick-prev:before,
.slick-next:before {
	content: "" !important;
}

.products_slider .slick-prev {
	top: initial !important;
	width: 34px !important;
	height: 34px !important;
	bottom: -95px !important;
	left: 0 !important;
	background-image: url("http://dev.cr8ive.website/hots/wp-content/uploads/2024/03/about_us_slide_arrow_left.png");
	background-size: contain;
}

.products_slider .slick-next {
	content: "" !important;
	top: initial !important;
	width: 34px !important;
	height: 34px !important;
	bottom: -95px !important;
	right: 103px !important;
	background-image: url("http://dev.cr8ive.website/hots/wp-content/uploads/2024/03/about_us_slide_arrow_right.png");
	background-size: contain;
}

/* 医療機器製品 */

.products {
	background-color: #f2f7fb;
}

.products > div {
	margin-top: 100px;
	position: relative;
}

.products > div:first-child {
	margin-top: 0;
}

.back_blue {
	background-color: #f2f7fb;
}

.products_wrap {
	width: 100%;
	max-width: 1370px;
	margin-left: auto;
}

/* .products_wrap:first-child {
    margin-bottom: 100px;
} */

@media screen and (min-width: 1480px) {
	.products_wrap {
		margin: 0 auto;
	}
}

.products_border {
	position: absolute;
	width: 8px;
	height: 100%;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background-image: linear-gradient(180deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
}

.products_contents {
	padding: 60px 0 100px 120px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #ffffff;
	gap: 7%;
	border-bottom: 2px solid rgba(42, 113, 209, 0.5);
}

.products_contents:last-child {
	border-bottom: 0px;
}

.products_contents_txt {
	width: 44%;
}

.products_slider_box {
	position: relative;
	width: 49%;
}

.products_slider {
	margin-bottom: 20px;
}

.products_contents_txt h2 {
	font-size: 38px;
	color: #2c66b0;
	margin-bottom: 60px;
}

.products_contents_txt p {
	margin-bottom: 40px;
}

.products_contents_txt a {
	margin: 0;
	padding-right: 150px;
}

.products_contents_slick_img {
	width: 100%;
	max-height: 353px;
	display: flex !important;
	justify-content: center;
	align-items: center;
}

.products_contents_slick_img img {
	width: 100%;
	max-height: 353px;
	object-fit: contain;
}

.products_slider {
	max-height: 353px;
}

.products_contents_slick_thumbnail {
	margin-left: 16px;
	margin-bottom: 6px;
	height: 82px;
	width: 82px !important;
	background-color: #ffffff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	display: flex !important;
	align-items: center;
	padding: 10px;
	justify-content: center;
	position: relative;
}

.products_contents_slick_thumbnail:first-child {
	margin-left: 17px;
}

.products_contents_slick_thumbnail:last-child {
	margin-right: 3px;
}

.products_contents_slick_thumbnail::before {
	position: absolute;
	content: "";
	width: 49px;
	height: 51px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 1;
	margin: auto;
	background-color: #f5f5f5;
}

.products_contents_slick_thumbnail img {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.products_thumbnail .slick-current::after {
	position: absolute;
	content: "";
	width: 82px;
	height: 82px;
	border: 2px solid;
	border-image: linear-gradient(to bottom, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1)) 1;
}

.academic_page {
	background-color: #f2f7fb;
}

.academic_page .kasou_fv_img::before {
	background-image: url(../img/kasou_header_cover_blue.png);
}

/* 学会情報 */

.academic__form {
	position: fixed;
	top: 60vh;
	right: 0;
	display: grid;
	gap: 14px;
	z-index: 10;
}
.academic__form__year,
.academic__form__month {
	position: relative;
	background: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	border-radius: 4px 0 0 4px;

	&::before {
		position: absolute;
		content: "";
		top: 0;
		bottom: 0;
		right: 12px;
		margin: auto;
		width: 15.5px;
		height: 8px;
		background-image: url(../img/pull_arrow.svg);
		background-repeat: no-repeat;
		background-size: contain;
	}

	select {
		color: #ffffff;
		padding: 12px 45px 12px 31px;
		border: none;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		-o-appearance: none;
		border-radius: 4px 0 0 4px;
	}
	option {
		color: initial;
	}
}

/* 沿革 */

.history_group th:nth-child(1),
.history_group td:nth-child(1) {
	width: 7.14%;
}
.history_group th:nth-child(2),
.history_group td:nth-child(2) {
	width: 28.73%;
}
.history_group th:nth-child(3),
.history_group td:nth-child(3) {
	width: 34.55%;
}
.history_group th:nth-child(4),
.history_group td:nth-child(4) {
	width: 29.58%;
}

.history_group th {
	padding: 13px 0 9px 0;
	font-size: 16px;
	line-height: 26px;
	text-align: center;
	font-weight: 400;
	vertical-align: middle;
}

.history_group th:nth-child(2) {
	background-color: #2c66b0;
	color: #ffffff;
}

.history_group th:nth-child(3) {
	background-color: #2f8fd8;
	color: #ffffff;
}

.history_group th:nth-child(4) {
	background-color: #07aede;
	color: #ffffff;
}

.history_group tr:first-child {
	border-bottom: 1px solid #2c66b0 !important;
}

.history_group td {
	padding: 20px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	vertical-align: middle;
	border-collapse: collapse;
	border: 1px solid rgba(44, 102, 176, 0.4);
}

.history_group td p {
	text-align: left;
	letter-spacing: 0;
}

.history_group tr:last-child td {
	border-bottom: none;
}

.history_group td:first-child {
	padding: 0;
	font-size: 16px;
	line-height: 16px;
	font-weight: 400;
	text-align: center;
	vertical-align: middle;
	border-left: none;
	color: #2c66b0;
}

.history_group td:last-child {
	border-right: none;
}

.accordion_title {
	position: relative;
}

.accordion_title.close::before {
	background-image: url(../img/filter_minus.svg);
}

.accordion_area {
	padding: 28px 0;
	border: 1px solid rgba(44, 102, 176, 0.5);
}

.accordion_area li {
	padding: 0;
	margin-bottom: 0;
	position: relative;
}

.accordion_area li::after {
	content: "";
	position: absolute;
	width: 30px;
	height: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 0;
	background-image: url(../img/filter_plus.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.accordion_area li::before {
	display: none;
}

.accordion_area h3 {
	color: #2c66b0;
	font-weight: 400;
	margin-bottom: 0;
}

.accordion_box {
	display: none;
}

.accordion_box .history_group {
	width: 100% !important;
	margin-top: 25px;
}

.history_hoya {
	width: 100%;

	@media screen and (max-width: 1100px) {
		margin: unset !important;
		width: 768px;
		word-break: initial;
	}
}
.history_hoya th {
	padding: 28px 0 22px 0;
	font-size: 16px;
	line-height: 26px;
	text-align: center;
	font-weight: 400;
	vertical-align: middle;
	background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	color: #ffffff;
}

.history_hoya td {
	padding: 20px 30px 27px 30px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	vertical-align: middle;
	border-collapse: collapse;
	border: 1px solid rgba(44, 102, 176, 0.4);
}

.history_hoya td:first-child {
	width: 7.14%;
	padding: 0;
	padding-top: 25px;
	border-left: none;
	text-align: center;
	vertical-align: top;
	color: #2c66b0;
}

.history_hoya td:last-child {
	width: 92.86%;
	border-right: none;
}

.history_hoya td p {
	text-align: left;
	letter-spacing: 0;
}

#contact_table {
	width: 100% !important;
}

.special_txt_box_column {
	display: block !important;
}

.js-modal-video {
	position: absolute;
	width: 100%;
	height: 100%;
}

.product_lupe-box {
	background: #f2f7fb;
	padding: 30px 50px;
}
.product_lupe-box_text {
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: calc(32 / 16);
	margin-bottom: 0;

	b {
		font-weight: bold;
		color: #2c66b0;
		display: block;
	}
}

@media screen and (max-width: 750px) {
	.products_border {
		width: 4px;
		left: 16px;
	}
	.products_contents {
		flex-direction: column;
		padding: 30px 20px;
		gap: 30px;
		width: calc(100% - 20px);
		margin: 0 0 0 auto;
	}
	.products_contents_txt,
	.products_slider_box {
		width: 100%;
	}
	.products_contents_txt h2 {
		font-size: 28px;
		line-height: 1.5;
		margin-bottom: 30px;
	}
	.products_slider .slick-next {
		right: 0 !important;
	}
	.product .btn {
		padding: 20px 40px 20px 20px;
	}

	.product .btn::before {
		right: 10px;
	}
}

@media screen and (max-width: 1100px) {
	.header_nav ul li .wpml-ls-slot-lang_widgets {
		display: inline-block;
	}
}
.wpml-ls-legacy-list-horizontal > ul {
	display: flex;
}
body.page-template-default.page.page-id-512.page-parent.logged-in {
	background-color: #f2f7fb;
}

/* @media screen and (max-width: 750px) {
	body.page-template-default.page.page-id-1743.logged-in .bgradation {
		padding: 80px 0;
	}
} */

body.member-template-default.single-member,
body.members_movie-template-default.single-members_movie {
	.single_header {
		height: 80px !important;
	}
}
.members__inner {
	@media screen and (max-width: 750px) {
		margin: 40px 0 !important;
	}
}
.members__category {
	padding-left: 0 !important;
	> span {
		display: inline-block;
		font-size: 14px;
		letter-spacing: 0.04em;
		line-height: 1;
		color: #fff;
		background: linear-gradient(#2a71d1 0%, #07aede 100%);
		padding: 10px 10px;
	}
}
.members__title {
	font-weight: 500;
	font-size: 40px;
	letter-spacing: 0.04em;
	line-height: calc(56 / 40);
	color: #2c66b0;
	@media screen and (max-width: 750px) {
		font-size: 28px;
	}
}

/*============================
#sitemap
============================*/
body.page-id-3186 .kasou_fv {
	display: none;
}

.sitemap__section {
	padding-bottom: 80px;
	@media screen and (max-width: 750px) {
		padding-top: 80px;
		margin-top: 80px;
	}
}
/* .sitemap__inner {
} */
.sitemap__title {
	color: #0068b6;
	text-align: center;
	line-height: 1.2;
	font-size: 36px;
	padding-inline: 1em;
	margin-bottom: 50px;
}
.sitemap__column {
	display: grid;
	gap: 30px;
	@media screen and (min-width: 751px) {
		grid-template-columns: repeat(3, 1fr);
	}
}
.sitemap__column__item {
	display: flex;
	flex-direction: column;
	gap: 25px;
}
.sitemap__index {
	display: block;
	margin-bottom: 0;
}
.sitemap__index__link {
	font-size: 18px;
	font-weight: bold;
	padding-bottom: 10px;
	border-bottom: 1px solid #dcdcdc;
	display: block;
	padding-right: 40px;
	line-height: 1.2;
	background: url(../img/icon_circle_left.svg) no-repeat right 5px center;
	transition: all 0.3s ease;

	&:focus-visible {
		text-decoration: underline;
		background-position: right center;
		opacity: 1;
	}
	@media (any-hover: hover) {
		&:hover {
			text-decoration: underline;
			background-position: right center;
			opacity: 1;
		}
	}
}
.sitemap__list {
	display: grid;
	gap: 5px;
	margin: 0;
	padding: 0;
}
.sitemap__item {
	padding-left: unset;
	font-size: unset;
	line-height: 1.8;
	margin-bottom: unset;

	&::before {
		content: none;
	}
}
.sitemap__item__link {
	display: block;
	font-size: 14px;
	line-height: 1.8;
	background: url(https://www.hoya.com/wp-content/themes/hoya/img/common/arrow-btn.svg) no-repeat left center;
	padding-left: 25px;
	color: #000;
	transition: all 0.3s ease;
	&:focus-visible {
		background-position: left 5px center;
		text-decoration: underline;
		opacity: 1;
	}
	@media (any-hover: hover) {
		&:hover {
			background-position: left 5px center;
			text-decoration: underline;
			opacity: 1;
		}
	}
}

.inner.members-top__inner {
	margin: 0 auto;
	padding-block: 80px;
	@media screen and (max-width: 750px) {
		padding-block: 40px;
	}
}

.inner > div.faq__contents {
	padding-left: 0;
	padding-right: 0;
	display: grid;
	gap: 10px;
}
.faq__item {
	border: 1px solid rgba(44, 102, 176, 0.5);
}
.faq__title {
	position: relative;
	font-weight: 500;
	font-size: 24px;
	letter-spacing: 0.04em;
	line-height: calc(32 / 24);
	color: #2c66b0;
	padding: 20px 40px 20px 60px;
	cursor: pointer;

	&::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 60px;
		transform: translateY(-50%);
		vertical-align: middle;
		width: 30px;
		height: auto;
		aspect-ratio: 1/1;
		background: url(../img/faq_plus_icon.png) no-repeat center / contain;
	}

	&:where(details[open] *) {
		&::before {
			background-image: url(../img/faq_minus_icon.png);
		}
	}

	@media screen and (max-width: 750px) {
		font-size: 18px;
		padding: 15px 60px 15px 30px;
		&::before {
			right: 10px;
		}
	}
}
.faq__body {
	padding: 20px 60px;
	@media screen and (max-width: 750px) {
		padding: 15px 30px;
	}
	p {
		margin-bottom: 0;
	}
}
/* h1,
h2,
h3,
h4,
h5,
h6 {
	text-transform: capitalize;
} */
.acf-map {
	iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 480/320;
	}
}
.section {
	padding-block: 80px;
	@media screen and (max-width: 750px) {
		padding-block: 40px;
	}
}

@media screen and (max-width: 1300px) {
	.about_us_img {
		right: 5vw;
	}
}

@media screen and (max-width: 1220px) {
	.fv_text {
		top: 50%;
		bottom: auto;
		transform: translateY(-50%);
	}

	.fv_text span {
		margin-bottom: 4px;
	}

	.fv__slider .swiper-pagination {
		left: 20px;
		bottom: initial;
		top: 570px;
	}
}

@media screen and (max-width: 1000px) {
	.slick-arrow {
		top: 30%;
	}
}

@media screen and (max-width: 950px) {
	.about_us_img {
		right: 5vw;
		top: -80px;
	}
}

@media screen and (max-width: 750px) {
	/* TOPページ */

	header::after {
		width: 283px;
		height: 55px;
	}

	.header_border {
		height: 2px;
	}

	header::before {
		display: none;
	}

	header ul li::before {
		content: none;
	}

	.header_nav ul li {
		padding-left: 8px;
		padding-right: 8px;
	}
	.news {
		padding: 40px 0;
	}

	.news_box {
		flex-direction: column;
		gap: 0;
	}

	.important_message {
		width: 100%;
		padding: 55px 0;
		background-image: url(../img/important_back_sp.png);
		background-repeat: no-repeat;
		background-size: cover;
	}

	.important_message_box {
		flex-direction: column;
		gap: 0;
	}

	.important_message h2 {
		margin-bottom: 10px;
	}

	.important_message_box p {
		width: 100%;
	}

	.sub_title {
		font-size: 16px;
	}

	.slick-arrow {
		top: 35%;
	}

	.about_us h2 {
		font-size: 32px;
		padding-right: 20px;
		line-height: 42px;
	}

	/* template.css */

	h2 {
		font-size: 22px;
		font-weight: 500;
		line-height: 32px;
		margin-bottom: 20px;
		color: #2c66b0;
	}

	.h2_bb {
		padding-bottom: 9px;
		position: relative;
	}

	.h2_bb::before {
		position: absolute;
		content: "";
		background-image: linear-gradient(90deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
		width: 100%;
		height: 2px;
		bottom: 0;
	}

	.back h2 {
		padding-left: 10px;
		padding-right: 10px;
	}

	.back .h2_bb::before {
		width: calc(100% - 20px);
	}

	h3 {
		font-size: 20px;
		margin-bottom: 14px;
	}

	.h3_dot::before {
		content: "";
		position: absolute;
		width: 6px;
		height: 6px;
		top: 13px;
		bottom: initial;
		margin: auto;
		left: 0;
		background-image: url(../img/dot.svg);
		background-repeat: no-repeat;
		background-size: contain;
	}

	p {
		font-size: 15px;
		line-height: 1.7;
	}

	.bold {
		display: inline;
	}

	.back .inner {
		padding-left: 10px;
		padding-right: 10px;
	}

	.area {
		margin: 0;
	}

	.area_back {
		padding: 40px 0;
	}

	.area_back > div,
	.area_back > ul {
		margin: 0;
		padding: 0 10px;
	}

	.footer_nav {
		flex-direction: column;
	}

	.footer_top {
		padding: 20px 0 0 0;
		background-image: linear-gradient(180deg, rgba(42, 113, 209, 1), rgba(7, 174, 222, 1));
	}

	.footer_nav01,
	.footer_nav02,
	.footer_nav03,
	.footer_nav04 {
		width: 100%;
	}

	.footer_nav li {
		padding-left: 0;
		border-bottom: 1px solid rgba(247, 247, 247, 0.5);
	}

	.footer_nav ul li {
		margin-bottom: 0;
	}

	.menu_content_parent.link_none {
		padding: 19px 0 16px 20px;
		font-size: 14px;
		font-weight: 400;
	}

	.footer_mt {
		margin-top: 0;
	}

	.footer_nav_big {
		font-size: 14px !important;
		font-weight: 400 !important;
	}

	.menu_content_child ul li {
		border-bottom: 0;
	}
	.footer_nav ul li:not(:has(> a)),
	.footer_nav ul li a {
		font-size: 14px;
		color: #ffffff;
		padding: 19px 0 16px 20px;
		width: 100%;
	}

	.footer_nav ul li:has(+ .menu_content_child) a {
		pointer-events: none;
	}

	.menu_content_child ul {
		display: flex;
		flex-wrap: wrap;
		gap: 30px 0;
		justify-content: space-between;
		padding: 18px 7.5%;
		margin: 0;
		/* border-bottom: 1px solid rgba(247, 247, 247, 0.5); */
	}

	.menu_content_child ul li {
		/* width: calc((100% - 33px) / 2); */
		width: calc((100% - 20px) / 2);
		text-align: left;
	}

	.menu_content_child ul li a {
		padding: 0;
		line-height: 22px;
	}

	.menu_content_parent.close::before {
		transform: rotate(90deg);
	}

	.menu_content_child {
		display: none;
	}

	.footer_link {
		align-items: flex-start;
	}

	.footer_member {
		flex-direction: column;
	}

	.footer_logo_img,
	.footer_member {
		width: 50%;
	}

	.footer_logo_img a {
		margin-left: 20px;

		img {
			width: 96px;
		}
	}

	.footer_logo_img div {
		margin-top: 57px;
	}

	.footer_a:first-child {
		margin-bottom: 20px;
	}

	.footer_member {
		align-items: end;
	}

	.footer_member span {
		font-size: 14px;
		margin-bottom: 13px;
		margin-right: 20px;
	}

	.footer_member a {
		min-width: 180px;
		font-size: 14px;
		margin-right: 20px !important;
	}

	.footer_regist {
		margin-bottom: 10px;
	}

	.footer_copyright {
		justify-content: center;
	}

	.breadcrumb span {
		margin: 0 3px;
	}

	.footer_nav ul li.footer_content_child01,
	.footer_nav ul li.footer_content_child02,
	.footer_nav ul li.footer_content_child03,
	.footer_nav ul li.footer_content_child04,
	.footer_nav ul li.footer_content_child05 {
		padding: 0;
	}
	.footer_content_child01.show,
	.footer_content_child02.show,
	.footer_content_child03.show,
	.footer_content_child04.show,
	.footer_content_child05.show {
		display: block !important;
	}

	/* パーツページ */

	.txt_img_block1 {
		flex-direction: column;
		gap: 0;
		margin-bottom: 0;
	}

	.txt_img_block1_text {
		width: 100%;
	}

	.txt_img_block1_img {
		width: 57.14%;
		margin: 0 auto;
		margin-bottom: 30px;
	}

	.txt_img_block1_img4_block_box {
		width: 100%;
		flex-wrap: wrap;
	}

	.txt_img_block1_img4_block_item {
		width: 50%;
	}

	.txt_img_block2 {
		flex-direction: column-reverse;
		margin-bottom: 40px;
	}

	.txt_img_block2_img {
		width: 100%;
	}

	.txt_img_block2_text {
		width: 100%;
	}

	.txt_img_block2_box {
		margin: 0 10px !important;
	}

	.table_block {
		margin-bottom: 60px;
	}

	.table_block:last-child {
		margin-bottom: 0;
	}

	.table_block .btn_box,
	.table_block .btn {
		margin-bottom: 0;
	}

	.table,
	.table th,
	.table td {
		font-size: 15px;
		width: 100%;
		display: block;
		padding: 0;
		border: 0;
	}

	.table th {
		margin-bottom: 5px;
	}

	.table tr {
		border-bottom: 1px solid rgba(42, 113, 209, 0.4);
		padding: 16px 0;
		display: block;
	}

	.button_block {
		flex-direction: column;
		margin-bottom: 20px;
	}

	.button_block p,
	.button_block div {
		width: 100%;
	}

	.button_block div a {
		margin-bottom: 20px;
	}

	.page_link {
		margin-left: 0;
		padding: 17px 28px 11px 0;
		border-bottom: 1px solid rgba(42, 113, 209, 0.5);
	}

	.page_link::before {
		top: 50%;
		bottom: auto;
		right: 16px;
		transform: translateY(-50%);
	}

	.link_list_title {
		width: 100%;
		padding: 16px 16px;
		text-align: center;
		margin-bottom: 0;
	}

	.link_list {
		margin: 0;
		padding: 0 10px;
		flex-direction: column;
	}

	.link_list li {
		width: 100%;
		border: none;
		padding: 0;
		margin-bottom: 0;
	}

	.link_list .page_link {
		padding: 16px 48px 16px 16px;
	}
	.special_txt_box {
		padding: 20px 10px;
	}

	.column_item_title {
		font-size: 20px;
	}

	.column_item_detail {
		font-size: 15px;
		line-height: 1.7;
	}

	.link {
		font-size: 14px;
	}

	.tag_link_list {
		padding-top: 20px !important;
	}

	.accordion_section .area_back {
		padding: 17px 0;
	}

	.accordion_area h3 {
		font-size: 18px;
	}

	.accordion_box > div {
		flex-direction: column;
		gap: 30px;
		border-top: 1px solid rgba(42, 113, 209, 0.4);
		margin-top: 18px;
		padding: 30px 20px 0;
	}

	.accordion_box_img,
	.accordion_box_txt {
		width: 100%;
	}

	.accordion_box_img img {
		padding-left: 0;
	}

	.accordion_box_txt span {
		font-size: 20px;
		margin-bottom: 10px;
	}

	.accordion_box_txt p {
		margin-bottom: 0;
	}

	/* 3.product_details(医療関係者向け/動物関係者向け製品一覧) */

	.kasou_fv_title {
		text-align: center;
	}

	.kasou_fv_img {
		&::before {
			background-position: center right;
		}
		img {
			width: 100%;
		}
	}

	.kasou_fv_nav {
		flex-direction: column;
		position: initial;
		margin-bottom: 40px;
		transform: none;
	}

	.page_inside {
		width: 100%;
		margin-left: 0;
		padding: 17px 46px 11px 0;
		border-bottom: 1px solid rgba(42, 113, 209, 0.5);
	}

	.page_inside::before {
		top: 50%;
		transform: translateY(-50%);
	}

	.btn {
		min-width: 255px;
		max-width: initial;
		margin: 0 0 30px 0;
		/* 		padding: 20px 30px; */
		text-align: left;
		width: 100%;
		padding: 20px 40px 20px 20px;

		&::before {
			right: 10px;
		}
	}

	.search_btn {
		padding: 20px 0;
		width: 140px;
		text-align: center;
	}

	.reset_btn {
		padding: 18px 0;
		width: 140px;
		text-align: center;
	}

	.button_section .btn {
		max-width: initial;
	}

	.product_contents {
		flex-direction: column;
		padding: 0;
		gap: 30px;
	}

	.product_item {
		width: 100%;
	}

	.product_item_img {
		height: 60vw;
	}

	.product_item_text h3 {
		font-size: 20px;
	}

	.product_item_part span {
		font-size: 13px;
	}

	.product_item_text p {
		font-size: 15px;
		line-height: 25.5px;
		margin-bottom: 20px;
	}

	.product_item_feature li {
		font-size: 11px;
	}

	.product_item_feature li:first-child {
		font-size: 13px;
	}

	.banner_item {
		width: 100%;
		height: 37.25vw;
	}

	.banner_item h3 {
		font-size: 22px;
		line-height: 1;
		margin-bottom: 5px;
	}

	.banner_item div {
		bottom: 10px;
		padding: 0 10px;
	}

	.banner_item p {
		font-size: 14px;
		line-height: 1;
		margin-bottom: 0;
	}

	.catalog_link {
		margin: 35px 0 50px 0;
	}

	.kasou_product .kasou_link {
		margin-bottom: 30px;
	}

	/* 22.news(お知らせ) – 1 */

	.pull_down {
		display: block;
		width: 100%;
	}

	.news_title {
		/* 		margin-top: 5px; */
		display: block;
	}

	.news_item a > div {
		padding-right: 90px;
		line-height: 28px;
		gap: 15px 15px;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.news_category {
		font-size: 14px;
		line-height: 14px;
		padding: 6px 15px;
	}

	.news_item a::before {
		bottom: 0;
		top: initial;
	}

	/* 製品詳細(各製品)＿投稿機能ページ（クラシックエディタorブロックエディタ） */

	.single_text_block {
		margin-bottom: 60px;
	}

	.single_img_center {
		margin-bottom: 0;
	}

	.single_img_center img {
		width: 100%;
	}

	.caption {
		font-size: 13px;
	}

	.single_column2 {
		flex-direction: column;
		gap: 20px;
		margin-bottom: 0;
	}

	.single_column2_img,
	.single_column2_txt {
		width: 100%;
	}

	.column_box {
		flex-direction: column;
		gap: 0;
	}

	.column_item {
		width: 100%;
	}

	.column_item_img {
		height: initial;
	}

	.special_txt_box:last-child {
		flex-direction: column;
		padding: 30px 10px;
	}

	.special_txt_box_img,
	.special_txt_box_txt {
		width: 100%;
	}

	/* 23.news_detail(お知らせ詳細) – 2 */

	.news_fv {
		margin: 150px 0 40px 0 !important;
		padding: 0 20px !important;
	}

	.news_fv .kasou_fv_title {
		text-align: left !important;
		margin-top: 10px !important;
	}

	.news_single_detail {
		position: initial !important;
	}

	/* 	.news_date,
	.news_category {
		margin-right: 10px;
	} */

	.accordion_item {
		font-size: 18px;
	}

	.accordion_item summary {
		padding: 18px 60px 18px 10px;
	}

	.accordion_item summary::after {
		right: 10px;
	}

	.accordion_item p {
		padding: 0 10px 28px 10px;
	}

	/* フォーム */

	.table tbody {
		display: block;
		width: 100%;
	}
}

@media screen and (max-width: 750px) {
	header.single_header {
		height: auto;
	}
}
@media screen and (max-width: 500px) {
	.fv__slider .swiper-pagination {
		top: 450px;
	}

	.slick-arrow {
		top: 33%;
	}

	header::after {
		width: 190px;
		height: 37px;
	}

	.about_us_img {
		display: none;
	}
	.chart_btn {
		margin-top: 30px;
	}
	.dental_link .page_link::before {
		right: 0;
	}

	.btn_box {
		padding-inline: 20px;
	}
}

.confirm__inner {
	.template-parts {
		display: grid;
		gap: 6rem;
		@media screen and (max-width: 750px) {
			gap: 3rem;
		}
	}
}
/* .confirm__lead {
} */
.confirm__images {
	max-width: 792px;
	margin-inline: auto;
}
/* .confirm__table-block {
} */
.confirm__table-block__title {
	font-size: 1.8rem;
	letter-spacing: 0.04em;
	color: #2c66b0;
	margin-bottom: 1rem;
}
/* .table.confirm__table-block__table {
}
.confirm__table-block__remarks {
} */
.confirm__subtitle {
	display: block;
}
.inner > *:last-child {
	margin-bottom: 0 !important;
}

.has-custom-blue-color {
	color: #2c66b0;
}
.has-custom-blue-background-color {
	background-color: #2c66b0;
}
.sized_img_box {
	margin-bottom: 1lh;
}
section#privacy h3 ,
section#personal h3 {
	margin-top: 1lh;
}

.c-white {
	color: #fff !important;
}
.justify-start {
	justify-content: start !important;
}

.product_detail {
	position: relative;
	/* background: url(../img/product_single_back.png) no-repeat center bottom / contain; */
	padding-top: 0;
	padding-bottom: 80px;
	min-height: 350px;
	@media (width < 768px) {
		padding-bottom: 40px;
	}

	&::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		vertical-align: middle;
		width: 100vw;
		height: auto;
		aspect-ratio: 720/173;
		background: url(../img/product_single_back.png) no-repeat center / contain;
		z-index:-1;
	}

	.download_white {
		min-width: unset;
	}

	+ * {
		padding-top: 0;
	}
}

.product_detail_body {
	position: absolute;
	top: 45px;
	right: 55px;
	text-align: center;
	@media (768px <= width < 1280px) {
		display: none;
	}
}

.product_detail_body_img {
	width: 146px;
	height: auto;
	aspect-ratio: 1;
	margin: 0 auto 10px;
}

.product_detail_body span {
	display: block;
	font-size: 12px;
	color: #2c66b0;
	font-weight: bold;
}

.product_detail_body span:last-child {
	font-size: 14px;
}

.product_detail_box {
	display: grid;
	grid-template-columns: 43.2% 1fr;
	/* 	align-items: end; */
	gap: 45px 4.51vw;
}

.product_detail_txt {
	display: grid;
	justify-items: start;
	gap: 20px;
}
.product_detail_txt > * {
	margin: 0;
}

.product_detail_logo {
	max-width: 400px;
}

.product_detail_h1 {
	font-size: 18px;
	color: #2c66b0;
	font-weight: bold;
}

.product_detail_txt .product_detail_ul {
	margin-block: 20px;
}

.product_detail_ul span {
	font-weight: bold;
}

.product_detail_img {
	position: relative;
	display: grid;
	gap: 40px;
}
.product_detail_img * {
	max-width: 100%;
}

.swiper-main .swiper-slide img,
.swiper-mains .swiper-slide img {
	width: 100%;
	max-height: 353px;
	object-fit: contain;
}

.swiper-thumbnail,
.swiper-thumbnails {
	width: calc(100% - (70px * 2));
	padding-block: 10px;
	@media screen and (max-width: 750px) {
		width: calc(100% - (50px * 2));
	}
}
.swiper-thumbnail .swiper-wrapper:has(> *[aria-label="1 / 1"]),
.swiper-thumbnail .swiper-wrapper:has(> *[aria-label="1 / 2"]),
.swiper-thumbnail .swiper-wrapper:has(> *[aria-label="1 / 3"]),
.swiper-thumbnail .swiper-wrapper:has(> *[aria-label="1 / 4"]),
.swiper-thumbnails .swiper-wrapper:has(> *[aria-label="1 / 1"]),
.swiper-thumbnails .swiper-wrapper:has(> *[aria-label="1 / 2"]),
.swiper-thumbnails .swiper-wrapper:has(> *[aria-label="1 / 3"]),
.swiper-thumbnails .swiper-wrapper:has(> *[aria-label="1 / 4"]) {
	justify-content: center;
}
.swiper-thumbnail .swiper-slide,
.swiper-thumbnails .swiper-slide {
	aspect-ratio: 1;
	/* min-width: 80px; */
	background-color: #ffffff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	padding: 10px;
	@media screen and (max-width: 750px) {
		min-width: 60px;
		padding: 5px;
	}
}
.swiper-thumbnail .swiper-slide.swiper-slide-thumb-active,
.swiper-thumbnails .swiper-slide.swiper-slide-thumb-active {
	border: 2px solid #2c66b0;
}
.swiper-thumbnail .swiper-slide img,
.swiper-thumbnails .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background-color: #f5f6f7;
}
.swiper-button-next,
.swiper-button-prev {
	width: 65px;
	height: auto;
	aspect-ratio: 1;
	background: url(https://dev.cr8ive.website/hots/wp-content/uploads/2024/03/about_us_slide_arrow_right.png) no-repeat center / contain;
	top: unset;
	bottom: 16px;
	margin: 0;

	&::after {
		content: none;
	}
}
.swiper-button-prev {
	left: 0;
	transform: scale(-1, 1);
}
.swiper-button-next {
	right: 0;
}

@media screen and (max-width: 750px) {
	.product_detail_box {
		grid-template-columns: unset;
		justify-items: normal;
	}

	.product_detail_txt {
		order: 2;
	}

	.product_detail_img {
		order: 1;
		gap: 10px;
	}

	.product_detail_slick_thumbnail {
		margin-left: 10px;
		height: 20.5vw;
	}

	.swiper-main .swiper-slide img,
	.swiper-mains .swiper-slide img {
		height: 45.75vw;
	}

	.product_detail_body.sp {
		position: initial;
		width: 100%;
	}

	.product_detail_body_img {
		width: 195px;
	}

	.product_detail_body span {
		font-size: 18px;
	}

	.product_detail_body span:last-child {
		font-size: 22px;
	}
	.swiper-button-next,
	.swiper-button-prev {
		width: 48px;
		bottom: 20px;
	}
}

/*============================
.medical-search
============================*/
.medical-search {
	padding: 20px;
	border: 1px solid rgba(44, 102, 176, 0.5);
}
.medical-search > * {
	max-width: 1060px;
	margin-inline: auto;
}
.medical-search__head {
	font-size: 24px;
	color: #2c66b0;
	font-weight: 500;
	margin-bottom: 0;
	position: relative;
	cursor: pointer;
}

.medical-search__head::before {
	content: "";
	position: absolute;
	width: 30px;
	height: auto;
	aspect-ratio: 1;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	background: url(../img/filter_plus.svg) no-repeat center / contain;
}

.medical-search__head.is-open::before {
	background-image: url(../img/filter_minus.svg);
}

.medical-search__body {
	display: none;
	margin-top: 30px;
}

#medical-products-search-form.medical-search__form {
}
.medical-search__category {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-block: 20px;
	border-top: 1px solid #2c66b0;
	border-bottom: 1px solid #2c66b0;
}
.medical-search__category__button {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	padding: 10px 20px;
	color: #2c66b0;
	border: 1px solid #2c66b0;
	border-radius: 4px;
}
.medical-search__category__button::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: auto;
	aspect-ratio: 1/1;
	background: no-repeat center / contain;
}
.medical-search__category__button:nth-of-type(1):after {
	background-image: url(../img/bone_replacement.svg);
}
.medical-search__category__button:nth-of-type(2):after {
	background-image: url(../img/implant.svg);
}
.medical-search__category__button:nth-of-type(3):after {
	background-image: url(../img/osteosynthesis.svg);
}
.medical-search__category__button:nth-of-type(4):after {
	background-image: url(../img/loupe.svg);
}
.medical-search__category__button:nth-of-type(5):after {
	background-image: url(../img/surgical-loupes_icon.svg);
}

label.medical-search__category__button:has(input[type="radio"]:checked) {
	color: #fff;
	background: linear-gradient(45deg, #2a71d1 0%, #07aede 100%);
	border: none;
}
.medical-search__category__button input {
	position: absolute;
	visibility: hidden;
}
.medical-search__under {
	display: none;
}

.medical-search__group {
	background-color: #f5f5f5;
	border-radius: 7px;
	padding: 20px;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px 40px;
	margin-top: 20px;
}
.medical-search__group > * {
	color: #2c66b0;
	font-weight: 400;
}
.medical-search__group > dd {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.medical-search__option {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	.count {
		display: none;
	}
}

.medical-search__actions {
	margin-top: 20px;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 20px;
}
.medical-search__button {
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	letter-spacing: 0.1em;
	width: fit-content;
	min-width: 140px;
	min-height: 40px;
	padding: 10px;
	color: #2c66b0;
	border: 2px solid #2c66b0;
	transition: opacity 0.3s ease;
}
.medical-search__button:focus-visible {
	opacity: 0.8;
}
@media (any-hover: hover) {
	.medical-search__button:hover {
		opacity: 0.8;
	}
}
.medical-search__button.-submit {
	color: #fff;
	background: linear-gradient(45deg, #2a71d1 0%, #07aede 100%);
	border: none;
}
/* .medical-search__button.-reset {
} */
@media screen and (max-width: 750px) {
	.medical-search__head {
		font-size: 18px;
	}
	.medical-search__category__button {
		width: 100%;
	}
	.medical-search__group {
		grid-template-columns: unset;
	}
	.medical-search__actions {
		gap: 10px;
		justify-content: center;
	}
}

section#privacy h2:not(:first-of-type) {
	margin-top: 1.5lh;
}
