@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/******************************************************************************
 * Common：　共通スタイル設定
******************************************************************************/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	color: #666666;
	font-size: 11pt;
	font-family: "Noto Sans JP", sans-serif;
	/* テキストのレンダリングを改善 */
	-webkit-font-smoothing: antialiased;
	/* https://marco.org/2012/11/15/text-rendering-optimize-legibility */
	text-rendering: optimizeSpeed;
	/* アプリケーションでパーセントによる高さを許可する */
	min-block-size: 100%;
}

body.expand_active {
	overflow: hidden;
}

ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

a {
	text-decoration: none;
	cursor: pointer;
	transition: all .3s linear 0s;
}

a:where(:visited) {
	color: inherit;
}

:where(a[href^="mailto"]) {
	text-decoration: underline;
}

input,
button {
	padding: 0;
	border-radius: 8px;
	line-height: 46px;
	cursor: pointer;
}

input:where([type=text]) {
	min-width: 130px;
}

.input-basic,
input:where(:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
textarea {
	width: 100%;
	padding-left: 16px;
	padding-right: 16px;
	overflow: scroll;
	border: solid 1px #aaaaaa;
}

/******************************************************************************
 * Layout：　基本レイアウト設定
******************************************************************************/
.wrapper {
	width: 100%;
}

.header {
	position: relative;
}

.header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	width: 100%;
	max-width: 1200px;
	height: 100%;
	margin: 0 auto;
	padding-right: 100px;
	padding-left: 100px;
}

.main {
	/* display: flex; */
	justify-content: flex-start;
	width: 100%;
	min-height: 985px;
	min-height: calc(100vh - 95px);
	/* 100vh - (header + footer) */
	overflow: hidden;
	display: grid;
	grid-template-rows: 1fr;
	grid-template-columns: 235px 1fr;
}

:where(.side-menu-open) .main {
	grid-template-columns: 235px 1fr;
}

:where(.wrapper:not(.side-menu-open)) .main {
	grid-template-columns: 106px 1fr;
}

:where(.not-has-sidemenu) .main {
	display: flex;
}

.page-front .main {
	display: block;
	grid-template-columns: 1fr;
}

@media screen and (max-width: 1440px) {
	:where(.wrapper:not(.side-menu-open)) .main {
		grid-template-columns: 88px 1fr;
	}
}

@media screen and (max-width: 1024px) {
	.main {
		/* grid-template-columns: auto; */
		grid-template-columns: 1fr;
		grid-auto-flow: column;
	}
}


/******************************************************************************
	Layout：　.footer
-------------------------------------------------------------------------------
	全部
******************************************************************************/
.footer {
	margin-bottom: 30px;
	background-color: #5cbaa8;
	color: #ffffff;
	font-weight: bold;
	line-height: 35px;
}

.is-no-login .footer {
	margin-bottom: 0;
}

.footer-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 16px;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 35px;
}

@media screen and (max-width: 768px) {
	.footer-inner {
		flex-direction: column;
	}
}

/** フッターナビ
******************************************************************************/
.footer-nav-list {
	display: flex;
	flex-wrap: wrap;
	column-gap: 1.6em;
}

.footer-nav-list li a {
	color: inherit;
}

.copyright {
	font-size: 11pt;
	white-space: nowrap;
}

/******************************************************************************
	Layout：　main-container
-------------------------------------------------------------------------------
	全部
******************************************************************************/
.main-container {
	position: relative;
	padding: 24px 48px;
	line-height: 2em;
	transition: all .1s ease-out 0s;
}

.section-container {
	position: relative;
	margin-top: 40px;
	margin-right: auto;
}

.section-container.section-container-regular {
	max-width: 960px;
	margin-bottom: 60px;
	margin-left: auto;
}

.section-heading {
	color: #5cbaa8;
	font-weight: bold;
	font-size: 32px;
}

.section-heading__center {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}

.section-heading__center::before,
.section-heading__center::after {
	display: block;
	width: calc(50% - calc(36px + 120px));
	max-width: 320px;
	height: 6px;
	background: #e2f8f7;
	content: "";
}

.section-heading__center::before {
	margin-right: 36px;
}

.section-heading__center::after {
	margin-left: 36px;
}

.section-contents-container {
	max-width: 1200px;
	margin: 48px auto;
}

/******************************************************************************
	モジュール
-------------------------------------------------------------------------------
	全部
******************************************************************************/
/******************************************************************************
	汎用
******************************************************************************/
.char-spacer-right {
	display: inline-block;
	margin-right: 1em;
}

/******************************************************************************
	ボタン
******************************************************************************/
.button-design {
	width: 100% !important;
	/* border: none; */
	border: solid 2px #5cbaa8;
	background-color: #5cbaa8;
	color: #ffffff;
	font-weight: bold;
	font-size: 13pt;
	text-align: center;
	transition: all .1s linear 0s;
}

.button-design.dropshadow {
	filter: drop-shadow(0 5px 0px #4fa292);
}

/** line-table
******************************************************************************/
.line-table {
	width: 100%;
}

.line-table__cell {
	padding: 24px 24px 24px 48px;
	border-width: 1px 0;
	border-style: solid;
	border-color: #5c7bba;
	color: #666666;
	font-weight: normal;
	text-align: left;
	text-align: left;
}

.line-table__cell-sm {
	font-size: 12px;
}

.line-table__cell-th {
	width: 20%;
	min-width: 220px;
	border-width: 3px 0;
	border-color: #5cbaa8;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.line-table__row {
		border-width: 1px 0;
		border-style: solid;
		border-color: #5cbaa8;
	}

	.line-table__cell {
		display: block;
		width: 100%;
		margin-bottom: 16px;
		padding-top: 0;
		padding-bottom: 0;
		border: none;
	}

	.line-table__cell-th {
		width: 100%;
		margin-top: 16px;
		margin-bottom: 0;
	}
}

@media screen and (max-width: 425px) {
	.line-table__cell {
		padding-right: 12px;
		padding-left: 12px;
	}
}

/** .nav-link
******************************************************************************/
.nav-link {
	color: var(--default-theme--color);
	font-weight: bold;
	text-decoration: underline;
}

.nav-link:visited {
	color: var(--default-theme--color);
}

.nav-link.nav-link-reverse {
	color: #ffffff;
}

/** .page-header
******************************************************************************/
.page-header {
	margin: 42px auto 56px;
	text-align: center;
}

.page-header__logo {
	display: none;
	margin-bottom: 32px;
}

.page-header__title {
	margin: 0 auto;
	color: #5cbaa8;
	font-weight: bold;
	font-size: 20px;
}

.page-header__under-hr {
	max-width: 830.5px;
	height: 0px;
	background: transparent;
	border: 6px solid #e2f8f7;
	margin: 0 auto 0 auto;
}

/******************************************************************************
	個別ページスタイル
-------------------------------------------------------------------------------
	公開ヘッダー
******************************************************************************/

.public_header {
	display: flex;
	align-items: center;
	position: fixed;
	top: 0;
	z-index: 3;
	width: 100%;
}

.public_header-inner {
	position: relative;
	max-width: 1820px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}


.public_header-logo {
	position: relative;
	z-index: 9999;
	margin: 0;
	width: 80px;
}

.public_header-logo img {
	display: block;
	width: 100%;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
	object-fit: contain;
}

.public_header-menu {
	max-width: 1025px;
	width: 61.9336%;
	min-width: 935px;
}

@media screen and (min-width: 1071px) {
	.navToggle {
		display: none !important;
	}
}

@media screen and (max-width: 1070px) {
	.public_header-menu {
		display: none;
	}
}

.public_header-menu ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-size: 15px;
	font-weight: bold;
}

.public_menu-item {
	transition: all 0.3s;
}

.public_menu-item:not(.gradient_link):nth-child(-n+4) {
	margin-right: 1.4635%;
}

.public_menu-item:not(.gradient_link) {
	padding: 6.5px 20px;
	border-radius: 15px;
}

.public_menu-item:not(.gradient_link) a {
	color: #000000;
	word-break: keep-all;
}

.public_menu-item.gradient_link {
	max-width: 175px;
	width: 17.0732%;
	min-width: 135px;
}

.public_menu-item.gradient_link:nth-last-of-type(1) {
	margin-left: 3.4147%;
}

.public_menu-item.gradient_link:nth-last-of-type(2) {
	margin-left: 1.9513%;
}

.public_menu-item.gradient_link a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	/*width: 17.0731%;*/
	height: 50px;
	border-radius: 10px;
	color: #ffffff;
	transition: all 0.7s;
	background: linear-gradient(to right, #369EC8 0%, #5CBAA8 76.57%, #5CBAA8 100%);
}

.public_menu-item.gradient_link a:hover {
	opacity: 0.6;
}

.has-child > li > a {
	pointer-events: none;
}
.develop_sub-menu .has-child > a::after {
	content: "";
	aspect-ratio: 19/12;
	width: 19px;
	background-color: #ffffff;
	display: block;
	margin-left: 5px;
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-position: center;
	-webkit-mask-position: center;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(/images/develop_icon.png);
	-webkit-mask-image: url(/images/develop_icon.png);
}
.public_menu-list li{
	position: relative;
}
.public_menu-list li.has-child ul{
	flex-direction: column;
    /*絶対配置で位置を指定*/
	position: absolute;
	left:0;
	top: 100%;
	width: 100%;
	z-index: 4;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}

/*hoverしたら表示*/
.public_menu-list li.has-child:hover > ul,
.public_menu-list li.has-child ul li:hover > ul,
.public_menu-list li.has-child:active > ul,
.public_menu-list li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状*/
.public_menu-list li.has-child ul li{
	width: 100%;
}
:is(.public_menu-list, .develop_sub-menu) li.has-child ul li a {
	color: #fff;
	border-bottom: solid 1px rgba(255,255,255,0.6);
	border-radius: 0;
}
:is(.public_menu-list, .develop_sub-menu) li.has-child ul li:first-child a {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
:is(.public_menu-list, .develop_sub-menu) li.has-child ul li:last-child a {
	border-bottom: none;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.public_menu-list li.has-child ul li:first-child a:hover,
.public_menu-list li.has-child ul li:first-child a:active,
.develop_sub-menu li.has-child ul li:first-child a:hover,
.develop_sub-menu li.has-child ul li:first-child a:active{
	background:#5C7BBA;
	opacity: 1;
}
.public_menu-list li.has-child ul li:last-child a:hover,
.public_menu-list li.has-child ul li:last-child a:active,
.develop_sub-menu li.has-child ul li:last-child a:hover,
.develop_sub-menu li.has-child ul li:last-child a:active{
	background:#50A590;
	opacity: 1;
}

@media screen and (max-width:1070px){

	nav li.has-child ul,
	nav li.has-child ul ul{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	visibility:visible;/*JSで制御するため一旦表示*/
	opacity:1;/*JSで制御するため一旦表示*/
	display: none;/*JSのslidetoggleで表示させるため非表示に*/
	transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}


/*矢印の位置と向き*/


nav ul ul li.has-child a::after{
    transform: rotate(0deg);
}

nav ul li.has-child.active a::after{
    transform: rotateX(180deg);
}

}




:is(.public_menu-item.current_item, .public_menu-item.current),
.public_menu-item.hover_item:not(.gradient_link) {
	background-color: #50A590;
}

:is(.public_menu-item.current_item, .public_menu-item.current) a,
.public_menu-item.hover_item a {
	color: #ffffff;
}
:is(.public_menu-item.current_item, .public_menu-item.current) a {
	pointer-events: none;
}

:is(.public_menu-item.current_item, .public_menu-item.current).hover_del {
	background-color: transparent;
}

:is(.public_menu-item.current_item, .public_menu-item.current).hover_del:not(.gradient_link) a {
	color: #000000;
}

.navToggle,
.navToggle span:not(.toggle_text) {
	display: block;
	transition: all 0.4s;
	-moz-transition: all 0.4s;
	-webkit-transition: all 0.4s;
}

.navToggle {
	position: absolute;
	top: 50%;
	width: 40px;
	z-index: 9999;
	transform: translateY(-50%);
	text-align: center;
	cursor: pointer;
}


/*.navToggle.active {
	background-color: #000000;
}*/
.navToggle span:not(.toggle_text) {
	position: absolute;
	background-color: #50A590;
}

.navToggle span:not(.toggle_text):nth-child(1) {
	top: 0px;
}


.motion_union span:not(.toggle_text):nth-of-type(1) {
	animation: union-bar01 0.75s forwards;
	-webkit-animation: union-bar01 0.75s forwards;
}


.motion_union span:not(.toggle_text):nth-of-type(2) {
	opacity: 1;
	transition: all 0.25s 0.25s;
}

.motion_union span:not(.toggle_text):nth-of-type(3) {
	animation: union-bar02 0.75s forwards;
	-webkit-animation: union-bar02 0.75s forwards;
}

.motion_union.active span:not(.toggle_text):nth-of-type(1) {
	animation: active-union-bar01 0.75s forwards;
	-webkit-animation: active-union-bar01 0.75s forwards;
}


.motion_union.active span:not(.toggle_text):nth-of-type(2) {
	opacity: 0;
}

.motion_union.active span:not(.toggle_text):nth-of-type(3) {
	animation: active-union-bar03 0.75s forwards;
	-webkit-animation: active-union-bar03 0.75s forwards;
}

.navToggle span {
	width: 40px;
	height: 6px;
}
.navToggle.active span {
	height: 3px;
}
.navToggle.active span.toggle_text {
	display: none;
}

.navToggle span:not(.toggle_text):nth-child(2) {
	top: 12px;
}

@keyframes union-bar01 {
	0% {
		transform: translateY(13.5px) rotate(45deg);
	}

	50% {
		transform: translateY(12px) rotate(0);
	}

	100% {
		transform: translateY(0) rotate(0);
	}
}

@keyframes union-bar02 {
	0% {
		transform: translateY(-13.5px) rotate(-45deg);
	}

	50% {
		transform: translateY(-12px) rotate(0);
	}

	100% {
		transform: translateY(0) rotate(0);
	}
}

@keyframes active-union-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}

	50% {
		transform: translateY(12px) rotate(0);
	}

	100% {
		transform: translateY(13.5px) rotate(45deg);
	}
}

@keyframes active-union-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}

	50% {
		transform: translateY(-12px) rotate(0);
	}

	100% {
		transform: translateY(-13.5px) rotate(-45deg);
	}
}

.menu_container {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 8000;
	width: 100%;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	background-image: url(/images/menu_wrapper-bg.png);
	background-size: 1354px 806px;
	background-repeat: no-repeat;
	background-position: center top 100px;
	background-color: #E2F8F7;
	opacity: 0;
	transition: all 0.6s;
}

.menu_container.active {
	visibility: visible;
	opacity: 1;
}
.develop_menu-container {
	display: flex;
	flex-direction: column;
	row-gap: 55px;

	max-width: 675px;
	width: calc(100% - 150px);
	min-width: 225px;
	margin: 0 auto;
}
.develop_main-menu ul {
	font-size: 15px;
	font-weight: bold;
	display: flex;
	margin: 0 auto;
	flex-wrap: wrap;
	row-gap: 20px;
	line-height: 22px;
}
.develop_main-menu a {
	color: #000000;
	border-bottom: 2px solid transparent;
}
.develop_main-menu a:hover , .develop_main-menu :is(.current_item, .current) a {
		color: #008067;
		border-bottom: 2px solid #008067;
}
.develop_main-menu :is(.current_item, .current) a {
		pointer-events: none;
}
.develop_main-menu li {
	display: block;
}
@media screen and (min-width: 611px) {

.develop_main-menu ul {
	justify-content: space-between;
}
}
@media screen and (min-width: 496px) and (max-width: 610px) {

.develop_main-menu ul {
	max-width: 350px;
	margin: 0 auto;
	justify-content: space-evenly;
	column-gap: 20.7391%;
}
}
@media screen and (max-width: 495px) {

.develop_main-menu ul {
	max-width: 225px;
	column-gap: 60px;
	justify-content: space-between;
}
}

.develop_sub-menu {	max-width: 470px;
	width: 100%;
	margin: 0 auto;
	width: 100%;
}
.develop_sub-menu ul {
display: flex;
width: 100%;
row-gap: 10px;
flex-wrap: wrap;
column-gap: 20px;
justify-content: center;
}

.develop_sub-menu .public_menu-item.gradient_link {
	margin-left: 0 !important;
	max-width: 225px;
	width: 100%;
	min-width: 135px;
}
.develop_menu-text {
	position: absolute;
	right: 30px;
	bottom: 15px;
	font-size: 14px;
	font-weight: bold;
	color: #5CBAA8;
}
.develop_menu-text a {
	font-size: 21px;
	margin-left: 5px;
	color: #5CBAA8;
}

.public_main-wrapper {
	position: relative;
}

@media screen and (min-width: 769px) {
	.head_position .public_header {
		position: absolute;
		/*top: 60px;*/
	}

	/*.header {
		height: 60px;
		background-color: #5cbaa8;
	}*/

	.public_header {
		background-color: #ffffff;
		height: 100px;
	}

	.public_header-inner {
		width: 95%;
	}

	.public_header-logo {
		width: 80px;
	}

	.navToggle {
		right: 1.9231%;
		height: 30px;
	}

	.navToggle span:not(.toggle_text):nth-child(3) {
		bottom: 0px;
	}

	.motion_union span.toggle_text {
		display: none;
		word-break: keep-all;
	}
}

@media screen and (max-width: 768px) {

	.public_header,
	.public_header-inner {
		visibility: hidden;
	}

	.header-inner {
		display: none;
	}

	.public_header {
		height: 75px;
		padding: 0 30px;
	}

	.public_header-inner {
		width: 100%;
	}

	.public_header-logo,
	.navToggle {
		visibility: visible;

	}

	.public_header-logo {
		width: 56px;
	}

	.navToggle {
		right: 0;
		height: 45px;
		padding-bottom: 15px;
	}

	.navToggle span:not(.toggle_text):nth-child(3) {
		bottom: 15px;
	}

	.motion_union span.toggle_text {
		height: auto;
		position: absolute;
		bottom: 0;
		font-size: 13px;
		font-weight: 500;
		left: 50%;
		transform: translateX(-51%);
	}
}


/******************************************************************************
	個別ページスタイル
-------------------------------------------------------------------------------
	公開フッター
******************************************************************************/
.page_top-container {
	position: fixed;
	display: flex;
	max-width: 1320px;
	margin: 0 auto;
	visibility: hidden;
	left: 50%;
	transform: translateX(-50%);
}

.scroll_start {
	display: none;
}

.page_top-container.scroll_end {
	position: absolute;
}

.page_top-btn {
	margin-left: auto;
	visibility: visible;
	width: 65px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: bold;
	text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.page_top-btn a {
	color: #5CBAA8;
}

.page_top-btn img {
	display: block;
	margin: 0 auto 10px;
	width: 31px;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

.public_footer {
	line-height: normal;
}

.public_footer-nav {
	display: block;
	max-width: 770px;
	margin: 0 auto 40px;
	font-size: clamp(0.813rem, 0.782rem + 0.13vw, 0.938rem);
}

.public_footer-menu {
	display: flex;
	flex-wrap: wrap;
	row-gap: 10px;
}

.public_footer-menu a {
	color: #ffffff;
}

.public_footer-menu a:hover {
	color: #000000;
}

.public_footer-menu :is(.current_item, .current) a {
	pointer-events: none;
}

.public_footer-request {
	display: block;
	max-width: 330px;
	width: 68%;
	min-width: 255px;
	margin: 0 auto;
}

.public_footer-request img {
	display: block;
	max-width: 144px;
	width: clamp(6.25rem, 5.583rem + 2.85vw, 9rem);
	margin: 0 auto;
}

.public_footer-request figcaption {
	text-align: center;
}

.public_footer-request figcaption span {
	position: relative;
	width: 100%;
	display: block;
	margin: 0 auto;
	border-bottom: 1px solid #ffffff;
	font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
	font-weight: bold;
}

.public_footer-request figcaption span::before,
.public_footer-request figcaption span::after {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	width: 0;
	height: 0;
	border: solid transparent;
	border-width: 6px 6px 0 6px;
	content: "";
}

.public_footer-request figcaption span::before {
	top: 100%;
	border-top-color: #ffffff;
}

.public_footer-request figcaption span:after {
	top: calc(100% - 1.1px);
	border-top-color: #5cbaa8;
}

.public_footer .copyright {
	text-align: center;
	font-size: 13px;
	font-weight: 500;
	display: flex;
	text-align: center;
	justify-content: center;
	align-items: center;
}

.footer-inner {
	display: none;
}

@media screen and (min-width: 769px) {
	.page_top-container {
		width: 95%;
		bottom: 140px;
	}

	.public_footer {
		padding-top: 40px;
		padding-bottom: 15px;
	}

	.public_footer-nav {
		width: 95%;
	}

	.public_footer-menu {
		width: 100%;
		column-gap: 5.1948%;
	}

	.public_footer-request {
		margin-bottom: 45px;
	}

	.public_footer-request img {
		margin-bottom: 35px;
	}

	.public_footer-request figcaption span {
		max-width: fit-content;
		margin-bottom: 20px;
		padding-bottom: 10px;
	}

	.footer_contact-link {
		width: 100%;
		display: flex;
		justify-content: center;
		background-color: #ffffff;
		border: 2px solid #ffffff;
		color: #50A590;
		font-size: 23px;
		padding: 8.5px 0;
		border-radius: 40px;
	}

	.footer_contact-link:hover {
		background-color: #50A590;
		color: #ffffff;
	}

	.footer_tel-link {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.page_top-container {
		width: 100%;
		padding: 0 30px;
		bottom: 55px;
	}

	.public_footer {
		padding-top: 50px;
		padding-bottom: 20px;
	}

	.public_footer-nav {
		width: 100%;
		padding: 0 30px;
	}

	.public_footer-menu {
		justify-content: space-between;
	}

	.public_footer-request {
		margin-bottom: 80px;
	}

	.public_footer-request img {
		margin-bottom: 20px;
	}

	.public_footer-request figcaption span {
		margin-bottom: 10px;
		padding-bottom: 15px;
	}

	.footer_contact-link {
		display: none;
	}

	.footer_tel-link {
		color: #ffffff;
		font-size: 21px;
		font-weight: bold;
	}

	@media screen and (min-width: 375px) {
		.public_footer-menu {
			column-gap: 20px;
		}
	}

	@media screen and (max-width: 374px) {
		.public_footer-menu {
			column-gap: 15px;
		}
	}
}

/******************************************************************************
	個別ページスタイル
-------------------------------------------------------------------------------
	トップページ
******************************************************************************/
.visual_container {
	position: relative;
	background-repeat: no-repeat;
	width: 100%;
	display: block;
}

.patent_container {
	max-width: 1730px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.patent_img {
	max-width: 230px;
	width: clamp(7.188rem, 5.329rem + 7.93vw, 14.375rem);
}

.visual_contents {
	position: relative;
	display: flex;
	flex-direction: column;
	max-width: 1100px;
	margin: 0 auto;
	color: #000000;
}

.visual_guide {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	row-gap: 15px;
}

.common_guide-content {
	display: flex;
	flex-direction: column;
	max-width: 540px;
}
.common_guide-content h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(1.063rem, 0.926rem + 0.58vw, 1.625rem);
	margin-bottom: 10px;
}
.common_guide-content#hospital_guide h3 {
	color: #5C7BBA;
}
.common_guide-content#corp_guide h3 {
	color: #4E9B82;
}
.common_guide-content > ul {
	display: flex;
	flex-direction: column;
	font-weight: 500;
	max-width: 100%;
	margin: 0 auto 25px;
	font-size: 14px;
	line-height: 20px;
}

.common_guide-content h3::after {
	content: "";
	aspect-ratio: 1/1;
	margin-top: 3px;
	width: clamp(1.063rem, 0.956rem + 0.45vw, 1.5rem);
	display: block;
	margin-left: 10px;
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-position: center;
	-webkit-mask-position: center;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(/images/common_guide-icon.png);
	-webkit-mask-image: url(/images/common_guide-icon.png);
}

.common_guide-content#hospital_guide h3::after {
	background-color: #5C7BBA;
}
.common_guide-content#corp_guide h3::after {
	background-color: #4E9B82;
}

@media screen and (min-width: 581px) {

.visual_guide {
	justify-content: space-between;
}
.common_guide-content {
	width: 49.091%;
}
.common_guide-content > ul {
	margin-bottom: 25px;
}
}
@media screen and (max-width: 580px) {

.visual_guide {

	flex-direction: column;
}
.common_guide-content {
	width: 100%;
}
.common_guide-content > ul {
	margin-bottom: 15px;
}
}


.visual_guide-description {
	display: block;
}

.visual_guide-description img {
	max-width: 269px;
	display: block;
	margin: 0 auto;
}

.visual_guide-description figcaption h2 {
	font-size: clamp(1.188rem, 0.93rem + 1.1vw, 2.25rem);
	font-weight: bold;
	text-align: center;
	line-height: 1.6;
}

.visual_guide-description figcaption span {
	display: block;
	text-align: center;
	color: #5C7BBA;
	font-weight: 500;
	line-height: 1.45;
	margin-top: 3px;
	font-size: clamp(0.875rem, 0.708rem + 0.71vw, 1.563rem);
}

.visual_guide-link {
	font-weight: bold;
}

.visual_guide-list {
	display: flex;
	flex-wrap: wrap;
}

.visual_guide-item a {
	color: #ffffff;
	display: flex;
	height: 100%;
	align-items: center;
	justify-content: center;
	transition: all 0.7s;
	text-align: center;
}

.visual_guide-item a:hover {
	opacity: 0.5;
}

.tab_frame-balloon {
	font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
	line-height: 27px;
	font-weight: bold;
	position: relative;
	max-width: 580px;
	width: calc(100% - 60px);
	margin: 0 auto;
	padding-right: 8.1819%;
	margin-top: 35px;
	padding-bottom: 20px;
}

.tab_frame-balloon img {
	z-index: 1;
	max-width: 133px;
	width: 22.9311%;
	position: absolute;
	right: 0;
	bottom: 0;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

.tab_frame-balloon figcaption {
	min-height: 145px;
	position: relative;
	display: flex;
	align-items: center;
	border-radius: 10px;
	justify-content: center;
	text-align: justify;
	padding: 6.1225% 0;
	width: 100%;
	border-width: 3px;
	border-style: solid;
}
#hospital .tab_frame-balloon figcaption {
	color: #5C7BBA;
	padding-left: 8.5715%;
	padding-right: 8.5715%;
}
#corp .tab_frame-balloon figcaption {
	color: #50A590;
	padding-left: 6.5307%;
	padding-right: 6.5307%;
}
.tab_frame-balloon figcaption::before, .tab_frame-balloon figcaption::after {
	aspect-ratio: 24/13;
	position: absolute;
	content: "";
	transform: rotateX(180deg);
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-position: center top;
	-webkit-mask-position: center top;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}


.tab_frame-balloon figcaption::before {
	width: 45px;
	bottom: calc(100% + 1px);
	left: 30px;
	mask-image: url(/images/balloon_back.png);
	-webkit-mask-image: url(/images/balloon_back.png);
}
#hospital .tab_frame-balloon figcaption::before  {
	background-color: #5C7BBA;
}
#corp .tab_frame-balloon figcaption::before {
	background-color: #50A590;
}

.tab_frame-balloon figcaption::after {
	left: 31px;
	width: 38px;
	bottom: calc(100% - 1px);
	background-color: #ffffff;
	mask-image: url(/images/balloon_front.png);
	-webkit-mask-image: url(/images/balloon_front.png);
}

.change_word {
	display: flex;
}

.visual_guide-item a::after {
	aspect-ratio: 15/23;
	content: "";
	width: clamp(0.813rem, 0.782rem + 0.13vw, 0.938rem);
	background-color: #ffffff;
	display: block;
	margin-left: 2.1583%;
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-position: center;
	-webkit-mask-position: center;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(/images/guide-link-icon.png);
	-webkit-mask-image: url(/images/guide-link-icon.png);
}

#guide_document-link {
	display: none;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	background-image: url(/images/guide_document-bg.png);
	font-size: clamp(0.813rem, 0.676rem + 0.58vw, 1.375rem);
	background-size: 695px 464px;
	background-position: center;
	background-color: rgba(92, 123, 186, 0.99);
	background-repeat: no-repeat;
	background-blend-mode: multiply;
	width: 100%;
	border-radius: 10px;
}

.tab_frame .visual_guide-item#guide_document-link {
	/*display: none;*/
	font-size: clamp(0.875rem, 0.769rem + 0.45vw, 1.313rem);
	line-height: clamp(1.313rem, 1.161rem + 0.65vw, 1.938rem);
}

.common_guide-content#corp_guide .visual_guide-item#guide_document-link ,

.tab_frame#corp .visual_guide-item#guide_document-link {
	background-color: rgba(80, 165, 144, 0.99);
}

#guide_register-link,
#guide_login-link {
	font-size: clamp(0.938rem, 0.831rem + 0.45vw, 1.375rem);
	width: 50%;
}

#guide_register-link {
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	background: linear-gradient(to right, #3a95cd 0%, #349dc9 41.42%, #49acb7 100%);
}

#guide_register-link span {
	font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
}

#guide_login-link {
	position: relative;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	background: linear-gradient(to right, #49adb8 0%, #58b7ab 41.42%, #5cbaa8 100%);
}

#guide_login-link::before {
	position: absolute;
	display: block;
	content: "";
	width: 1px;
	top: 50%;
	transform: translateY(-50%);
	height: 70px;
	background-color: #ffffff;
	left: 0;
}









.visual_about {
	max-width: 1010px;
	display: flex;
	flex-direction: column;
}

.balloon_content {
	margin-bottom: 80px;
}

.balloon_head {
	padding-left: 0.5312%;
	font-size: clamp(0.875rem, 0.738rem + 0.58vw, 1.438rem);
	font-weight: bold;
	color: #5C7BBA;
	margin-bottom: 10px;
}

.balloon_frame {
	padding: 23.5px 4.2343% 23.5px 5.8221%;
	max-width: 580px;
	position: relative;
	border: 2px solid #5C7BBA;
	color: #5C7BBA;
	border-radius: 10px;
	background-color: #ffffff;
}

.balloon_frame p {
	text-align: justify;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.56;
}

.balloon_frame::before,
.balloon_frame::after {
	position: absolute;
	content: "";
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-position: center top;
	-webkit-mask-position: center top;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}

.balloon_frame::before {
	top: 100%;
	right: 40px;
	width: 48px;
	height: 26px;
	background-color: #5C7BBA;
	mask-image: url(/images/balloon_back.png);
	-webkit-mask-image: url(/images/balloon_back.png);
}

.balloon_frame::after {
	right: 43.5px;
	top: calc(100% - 1px);
	width: 43px;
	background-color: #ffffff;
	height: 23px;
	mask-image: url(/images/balloon_front.png);
	-webkit-mask-image: url(/images/balloon_front.png);
}

.balloon_image {
	max-width: 795px;
	position: relative;
	padding-bottom: 25px;
}

.balloon_image img {
	width: 100%;
	display: block;
}

.balloon_image figcaption {
	position: absolute;
	bottom: 0;
}

.balloon_image figcaption a {
	display: flex;
	align-items: center;
	color: #ffffff;
	justify-content: center;
	text-align: center;
	background-color: #F55A5A;
	transition: all 0.7s;
}

.balloon_image figcaption a:hover {
	color: rgba(255, 255, 255, 0.7);
}

.balloon_image figcaption img {
	max-width: 69px;
	width: clamp(2.25rem, 1.749rem + 2.14vw, 4.313rem);
	transition: all 0.7s;
}

.balloon_image figcaption p {
	font-size: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
	font-weight: bold;
	line-height: 1.2;
}

.balloon_image figcaption a:hover img {
	opacity: 0.7;
}

.plan_container {
	display: block;
	max-width: 1100px;
	margin: 0 auto;
}

.plan_about {
	max-width: 830px;
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.plan_about-title {
	position: relative;
	font-size: clamp(1.375rem, 1.223rem + 0.65vw, 2rem);
	color: #5CBAA8;
}

.plan_about-title::after {
	position: absolute;
	display: block;
	height: 6px;
	max-width: 830px;
	width: 68.254%;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	background-color: #E2F8F7;
	content: "";
}

.plan_about-title figure {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.plan_about-title figure img {
	display: block;
	max-width: 64px;
	width: 18.0953%;
	margin-bottom: 35px;
}

.plan_about p {
	font-size: clamp(0.813rem, 0.737rem + 0.32vw, 1.125rem);
	font-weight: 500;
	color: #5CBAA8;
}

.tab_link-container {
	display: block;
	max-width: 785px;
	margin: 0 auto;
	width: 100%;
}

.tab_link-list {
	display: flex;
	width: 100%;
	column-gap: 7.0064%;
	flex-wrap: wrap;
}

.tab_link-item {
	max-width: 365px;
}

.tab_link-item a {
	display: flex;
	width: 100%;
	color: rgba(255, 255, 255, 0.44);
	font-weight: bold;
	font-size: 22px;
	margin-bottom: 20px;
	justify-content: center;
	align-items: center;
	padding: 30px 0;
	border-radius: 10px;
	background: rgba(92, 186, 168, 0.44);
	transition: all 0.8s;
}

.tab_link-item a:hover,
.tab_link-item.active a {
	color: #ffffff;
	background: linear-gradient(to right, #359EC8 0%, #5CBAA8 76.35%, #5CBAA8 100%);
}

/*.tab_link-item a:hover {
	transition: all 0.8s;
}*/

.tab_link-item.active a {
	pointer-events: none;
}

.tab_link-item a::after {
	content: "";
	width: 15px;
	height: 24px;
	background-color: rgba(255, 255, 255, 0.44);
	display: block;
	margin-left: 20px;
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-position: center;
	-webkit-mask-position: center;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-image: url(/images/tab_icon.png);
	-webkit-mask-image: url(/images/tab_icon.png);
	transition: all 0.8s;
}

.tab_link-item a:hover::after,
.tab_link-item.active a::after {
	background-color: #ffffff;
}

.tab_link-item span {
	display: flex;
	text-align: justify;
	color: #5CBAA8;
	font-weight: 500;
	line-height: 1.5;
}

.tab_link-item span::before {
	content: "・";
}

@media screen and (min-width: 831px) {
	.tab_link-item span {
		font-size: 18px;
	}
}

@media screen and (max-width: 830px) {
	.tab_link-item span {
		font-size: clamp(0.688rem, 0.327rem + 1.54vw, 1.125rem);
	}
}

.tab_frame {
	flex-direction: column;
	display: none;
	opacity: 0;
	animation: displayAnime 1.3s linear forwards;
}

.tab_frame.is_show {
	display: flex;
}

@keyframes displayAnime {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.tab_details {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	width: 100%;
}

.tab_details h3 {
	margin: 0 auto;
	display: flex;
	font-size: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
	align-items: center;
	justify-content: center;
}

.tab_details h3::before , .tab_details h3::after {
	content: "";
	height: 2px;
	max-width: 50px;
	width: 2.6667vw;
	min-width: 10px;
	display: block;
}

.tab_details h3::before {
	margin-right: 15px;
}

.tab_details h3::after {
	margin-left: 15px;
}

.tab_plan-list {
	display: flex;
	flex-direction: column;
	max-width: 990px;
	width: 100%;
}

.tab_plan-item {
	display: flex;
}

.plan_text-container h4 {
	display: flex;
	color: #ffffff;
	border-radius: 5px;
	font-size: 18px;
	width: 195px;
	font-weight: bold;
	padding: 10px 0;
	align-items: center;
	justify-content: center;
}

.plan_balloon-container {
	position: relative;
	padding-bottom: 40px;
}

.plan_balloon-img {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 1;
}

.plan_balloon-frame {
	padding: 6.747% 9.6386%;
	position: relative;
	width: 100%;
	border: 2px solid;
	border-radius: 10px;
	background-color: #ffffff;
}

.plan_balloon-frame::before,
.plan_balloon-frame::after {
	position: absolute;
	content: "";
	transform: rotateY(180deg);
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-position: center top;
	-webkit-mask-position: center top;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}

.plan_balloon-frame::before {
	top: 100%;
	left: 30px;
	mask-image: url(/images/balloon_back.png);
	-webkit-mask-image: url(/images/balloon_back.png);
}

.plan_balloon-frame::after {
	top: calc(100% - 1px);
	background-color: #ffffff;
	mask-image: url(/images/balloon_front.png);
	-webkit-mask-image: url(/images/balloon_front.png);
}

.plan_balloon-frame p {
	text-align: justify;
	font-size: clamp(0.688rem, 0.627rem + 0.26vw, 0.938rem);
	font-weight: 500;
	line-height: 1.45;
}

.plan_image-container {
	display: flex;
	flex-direction: column;
}

.plan_image-content {
	position: relative;
	display: flex;
	flex-direction: column;
}

.plan_image {
	border: 2px solid;
	position: relative;
	z-index: 1;
	border-radius: 10px;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
}

.plan_image a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0;
	background-color: #ffffff;
	transition: all 0.5s;
}

.plan_image a:hover::before {
	opacity: 0.2;
}

.plan_image a::after {
	content: "";
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: block;
	aspect-ratio: 1/1;
	max-width: 20px;
	width: 5.8652%;
	border-right: 3px solid;
	border-bottom: 3px solid;
}

.plan_image img {
	aspect-ratio: 3/2;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.plan_image-frame {
	position: absolute;
	top: 0;
	left: 0;
	color: #ffffff;
	height: calc(100% - 45px);
	width: 100%;
	border-radius: 10px;
}

#hospital .tab_details h3 {
	color: #5C7BBA;
}
#hospital .tab_details h3::before, #hospital .tab_details h3::after , #hospital .plan_text-container h4 , #hospital .plan_image-frame , #hospital .plan_balloon-frame::before , #hospital .plan_image a::before {
	background-color: #5C7BBA;
}

#hospital .plan_image , #hospital .plan_balloon-frame {
	border-color: #5C7BBA;
}
#hospital .plan_image a::after {
	border-right-color: #5C7BBA;
	border-bottom-color: #5C7BBA;
}


#corp .tab_details h3 {
	color: #5CBAA8;
}
#corp .tab_details h3::before, #corp .tab_details h3::after , #corp .plan_text-container h4 , #corp .plan_image-frame , #corp .plan_balloon-frame::before , #corp .plan_image a::before {
	background-color: #5CBAA8;
}
#corp .plan_image , #corp .plan_balloon-frame {
	border-color: #5CBAA8;
}
#corp .plan_image a::after {
	border-right-color: #5CBAA8;
	border-bottom-color: #5CBAA8;
}

.plan_image-frame h5 {
	font-size: clamp(1.063rem, 0.988rem + 0.38vw, 1.438rem);
	font-weight: bold;
}


.demo_link {
	pointer-events: none;
	position: relative;
	display: flex;
	max-width: 370px;
	width: 41.032%;
	align-items: center;
	justify-content: center;
	background-color: #E2EFF8;
	margin-left: auto;
	color: #5C7BBA;
	font-size: clamp(0.688rem, 0.581rem + 0.45vw, 1.125rem);
	font-weight: bold;
}

.demo_link:hover {
	opacity: 0.7;
}

.demo_link::before,
.demo_link::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background-color: #0045FF;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-size: 370px 50px;
	-webkit-mask-size: 370px 50px;
	transition: all 0.5s;
}

.demo_link::before {
	mask-image: url(/images/demo_link-before.png);
	-webkit-mask-image: url(/images/demo_link-before.png);
	mask-position: left bottom 1px;
	-webkit-mask-position: left bottom 1px;
}

.demo_link::after {
	mask-image: url(/images/demo_link-after.png);
	-webkit-mask-image: url(/images/demo_link-after.png);
	mask-position: right top;
	-webkit-mask-position: right top;
}

.demo_link:hover::before,
.demo_link:hover::after {
	bottom: 0;
	right: 0;
}

.tab_frame .visual_guide-link {
	width: 100%;
}

.operate_container {
	display: block;
	max-width: 1100px;
	margin: 0 auto;
}

.operate_title {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 880px;
	font-size: clamp(1.375rem, 1.223rem + 0.65vw, 2rem);
	font-weight: bold;
	margin: 0 auto;
	width: 100%;
	color: #5CBAA8;
	white-space: nowrap;
}

.operate_title::before,
.operate_title::after {
	content: "";
	background-color: #E2F8F7;
	display: block;
}

.operate_tab-link {
	display: flex;
	width: 100%;
	margin: 0 auto;
}

.operate_tab-link a {
	color: #000000;
}

.operate_tab-link h3 {
	text-align: center;
	font-size: 21px;
	font-weight: bold;
	color: #ffffff;
}

.hosptal_operate-link,
.corp_operate-link {
	border-radius: 5px;
	overflow: hidden;
	display: block;
}

.hosptal_operate-link {
	padding: 32.5px 4.6196%;
	background-color: #5C7BBA;
}

.corp_operate-link {
	padding: 32.5px 3.261%;
	max-width: 565px;
	width: 61.4131%;
	background-color: #50A590;
}

.hosptal_operate-nav,
.corp_operate-nav {
	font-size: 19px;
	font-weight: bold;
	display: block;
	width: 100%;
	margin: 0 auto;
}

.hosptal_operate-nav a,
.corp_operate-nav a {
	display: flex;
	align-items: center;
	padding: 17.5px 0;
	justify-content: center;
	background-color: #ffffff;
	border-style: solid;
	border-width: 2px;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	transition: all 0.6s;
}

.hosptal_operate-nav a {
	color: #5C7BBA;
	border-color: #5C7BBA;
}

.hosptal_operate-nav a:hover {
	color: #ffffff;
	background-color: #5C7BBA;
}


.hosptal_operate-nav li:last-child {
	margin-top: 20px;
}


.corp_operate-nav a {
	color: #50A590;
	border-color: #50A590;
}

.corp_operate-nav a:hover {
	color: #ffffff;
	background-color: #50A590;
}

.corp_operate-nav ul {
	display: flex;
	flex-wrap: wrap;
}

.operate_tab-contents {
	position: relative;
	border-radius: 10px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.common_operate-content {
	display: none;
	opacity: 0;
	animation: displayAnime 1.3s linear forwards;
}

.common_operate-content.is_show {
	display: block;
}

.common_operate-head {
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	color: #ffffff;
}

.common_operate-head::before {
	position: absolute;
	display: block;
	content: "";
	background-color: red;
	left: 50%;
	transform: translateX(-50%);
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-position: center;
	-webkit-mask-position: center;
}

#hosptal_operate-content .common_operate-head,
#hosptal_operate-content .common_operate-head::before {
	background-color: #5C7BBA;
}

#corp_operate-content .common_operate-head,
#corp_operate-content .common_operate-head::before {
	background-color: #50A590;
}

.common_operate-head dl {
	font-size: 18px;
	display: flex;
	margin-bottom: 10px;
}

.common_operate-head dt {
	display: flex;
	align-items: center;
}

.common_operate-head dt::after {
	content: "：";
}

.common_operate-head h4 {
	font-weight: bold;
	font-size: clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
	text-align: center;
}

.common_operate-menu {
	display: flex;
	flex-flow: column wrap;
	width: 100%;
	position: relative;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	border-top: none !important;
}

.common_operate-menu::after {
	position: absolute;
	display: block;
	width: 100%;
	content: "";
	bottom: 0;
	z-index: -1;
	right: 0;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-position: center bottom;
	-webkit-mask-position: center bottom;
	border-bottom-right-radius: 8px;
}

#hosptal_operate-content .common_operate-menu::after {
	background-color: rgba(226, 239, 248, 0.3);
}

#hosptal_operate-content .common_operate-menu {
	border: 2px solid #5C7BBA;
	height: 1010px;
}

#corp_operate-content .common_operate-menu::after {
	background-color: rgba(226, 246, 241, 0.3);
}

#corp_operate-content .common_operate-menu {
	border: 2px solid#50A590;
}


.common_operate-menu .lock {
	opacity: 0.37;
}

.operate_title-hospital {
	display: none;
}

.operate_menu-item h5 {
	font-size: clamp(1.375rem, 1.284rem + 0.39vw, 1.75rem);
	display: flex;
	align-items: center;
	font-weight: bold;
}

#hosptal_operate-content .common_operate-menu h5 {
	color: #5C7BBA;
}

#corp_operate-content .common_operate-menu h5 {
	color: #50A590;
}

.operate_menu-item h5 i {
	width: clamp(1.25rem, 1.22rem + 0.13vw, 1.375rem);
	display: flex;
	justify-content: center;
	font-size: clamp(1.25rem, 1.22rem + 0.13vw, 1.375rem);
}

.operate_menu-item h5 i.icon-dashboard:before {
	content: "\e905";
}

.operate_menu-item ul {
	font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
	display: flex;
	flex-direction: column;
	font-weight: normal;
	color: #000000;
}

.operate_menu-item ul a {
	transition: all 0.7s;
}

#hosptal_operate-content .operate_menu-item ul a:hover {
	color: #5C7BBA;
}

#corp_operate-content .operate_menu-item ul a:hover {
	color: #50A590;
}

.ask_container,
.resource_container {
	max-width: 830px;
	display: block;
	margin: 0 auto;
}

.ask_title,
.resource_title {
	position: relative;
	text-align: center;
	color: #5CBAA8;
	font-size: clamp(1.375rem, 1.223rem + 0.65vw, 2rem);
	font-weight: bold;
}

.ask_title::after,
.resource_title::after {
	position: absolute;
	content: "";
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	max-width: 830px;
	height: 6px;
	background-color: #E2F8F7;
	display: block;
}

.slick-prev,
.slick-next {
	top: calc(100% + 15px) !important;
	width: 20px !important;
	height: 31px !important;
	transform: none !important;
	background-color: #5CBAA8 !important;
	mask-image: url(/images/slick_arrow.png);
	-webkit-mask-image: url(/images/slick_arrow.png);
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-position: center;
	-webkit-mask-position: center;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	transition: all 0.7s;
}

.slick-prev:hover,
.slick-next:hover {
	opacity: 0.5;
}

.slick-prev::before,
.slick-next::before {
	display: none;
}

.slick-prev {
	transform: rotateY(180deg) !important;
}

.ask_slide {
	width: 100%;
	margin: 0 auto;
}

.slick-slide {
	margin: 0 5px;
}

.ask_slide-item {
	width: 100%;
	display: flex !important;
	align-items: center;
	flex-direction: column;
	margin: 0 auto;
}

.ask_slide-item figcaption {
	width: 100%;
}

.ask_img {
	display: block;
	max-width: 590px;
	width: 100%;
	margin: 0 auto;
}

.ask_contents {
	width: 100%;
	margin: 0 auto;
	display: block;
}

.ask_contents dt {
	position: relative;
	display: flex;
	align-items: center;
	color: #5CBAA8;
	font-weight: bold;
	font-size: clamp(1.125rem, 1.064rem + 0.26vw, 1.375rem);
}

.ask_contents dt img {
	display: block;
	max-width: 50px;
	margin-left: 10px;
}

.ask_contents dt:nth-of-type(2)::before {
	content: "";
	position: absolute;
	max-width: 760px;
	width: 100%;
	background-color: #E4F1EE;
	left: 50%;
	transform: translateX(-50%);
	mask-image: url(/images/ask_line.png);
	-webkit-mask-image: url(/images/ask_line.png);
	mask-position: left center;
	-webkit-mask-position: left center;
	mask-repeat: repeat-x;
	-webkit-mask-repeat: repeat-x;
}

.ask_contents dd {
	color: #000000;
	padding-left: 3px;
	font-size: clamp(0.813rem, 0.737rem + 0.32vw, 1.125rem);
	text-align: justify;
}

.resource_list {
	width: 100%;
	margin: 0 auto;
	line-height: 1.45;
}

.resource_item {
	display: flex;
	align-items: center;
	font-size: 14px;
}

.resource_item a {
	position: relative;
	color: #4687D6;
	transition: all 0.7s;
}

.resource_item a:hover {
	opacity: 0.6;
}

.resource_item a::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	border-bottom: 1px solid;
	left: 0;
	top: calc(100% + 1px);
}

.resource_item::before {
	margin-right: 15px;
	box-sizing: border-box;
	content: "";
	display: block;
	width: 8px;
	margin-top: 1px;
	height: 8px;
	border-radius: 100%;
	background-color: #5CBAA8;
}

.qa-inner-link {
	text-decoration: underline;
    color: var(--default-theme--color);
}

@media screen and (min-width: 921px) {
	.visual_contents {
		padding-top: 80px;
		justify-content: flex-end;
	}

	.visual_guide-description figcaption span {
		display: none;
	}

}

@media screen and (max-width: 920px) {
	.visual_contents {
		padding-top: 8%;
		flex-direction: column;
		align-items: center;
	}

	.visual_guide {
		width: 100%;
		margin-bottom: 30px;
	}


	.balloon_content {
		display: none;
	}
}

@media screen and (min-width: 501px) {
	.corp_operate-nav li:first-child {
		margin-right: 2.9703%;
	}

	.corp_operate-nav li:not(:last-child) {
		max-width: 245px;
		width: 48.5149%;
	}

	.corp_operate-nav li:last-child {
		margin-top: 20px;
		width: 100%;
	}
}

@media screen and (max-width: 500px) {
	.corp_operate-nav ul {
		row-gap: 20px;
		flex-direction: column;
	}
}

@media screen and (min-width: 769px) {
	.visual_container {
		background-image: url(/images/visual_bg-pc.png);
		background-size: 2808px 2126px;
		padding-bottom: 20px;
	}
.patent_container {
	width: 95%;
	top: calc(100px + clamp(0.625rem, -1.196rem + 3.79vw, 3.125rem));
}

	.visual_guide-description {
		margin-bottom: 90px;
	}

	.visual_guide-description img {
		width: 100%;
		margin-bottom: 20px;
	}

	.visual_guide-description figcaption span br {
		display: none;
	}

	.visual_guide-list {
		row-gap: 20px;
	}

	.visual_guide-item a {
		padding: 37.5px 0;
	}
	.common_guide-content .visual_guide-item#guide_document-link a {
		padding: 25px 0;
	}

	.tab_frame .visual_guide-item#guide_document-link a {
		padding: 19px 0;
	}

	.visual_guide-item a::after {
		margin-left: 2.1583%;
	}

	#guide_login-link::before {
		height: 70px;
	}

	.change_word {
		align-items: flex-end;
	}

	@media screen and (min-width: 1921px) {
		.visual_container {
			background-position: center bottom 65px;
		}
	}

	@media screen and (max-width: 1920px) {
		.visual_container {
			background-position: center bottom 3.35vw;
		}
	}

	.visual_container {
		padding-top: 100px;
	}

	.visual_contents {
		width: 95%;
	}

	.balloon_image figcaption {
		right: 25px;
		max-width: 160px;
		width: 30%;
		aspect-ratio: 1/1;
		border-radius: 100%;
	}

	.balloon_image figcaption a {
		flex-direction: column;
		height: 100%;
		align-items: center;
		border-radius: 100%;
	}

	.balloon_image figcaption img {
		margin-bottom: 6.25%;
	}

	.balloon_image figcaption p {
		font-weight: bold;
	}

	.plan_container {
		width: 95%;
		margin-bottom: 140px;
	}

	@media screen and (min-width: 921px) {
		.visual_about {
			margin-left: 1.3889%;
			width: 52.4831%;
		}

		.balloon_image {
			margin-left: auto;
		}

		.plan_container {
			padding-top: 160px;
		}
	}

	@media screen and (max-width: 920px) {
		.visual_about {
			width: 95%;
		}

		.plan_container {
			padding-top: 17.3914%;
		}
	}

	.plan_about {
		margin-bottom: 55px;
	}

	.plan_about-title figure img {
		margin-bottom: 35px;
	}

	.plan_about-title {
		padding-bottom: 45px;
		margin-bottom: 25px;
	}

	.plan_about-title::after {
		height: 6px;
	}

	.tab_link-container {
		margin-bottom: 70px;
	}

	.tab_link-list {
		column-gap: 7.0064%;
	}

	.tab_link-item {
		width: 46.4969%;
	}

	.tab_link-item a {
		margin-bottom: 20px;
		padding: 30px 0;
	}

	.tab_details {
		padding: 35px 3.6364% 90px;
		box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
		margin-bottom: 40px;
		background: #ffffff;
		border-radius: 10px;
	}

	.tab_details h3 {
		margin-bottom: 65px;
	}

	.tab_plan-list {
		row-gap: 60px;
	}

.plan_text-container {
		max-width: 510px;
		width: 51.5152%;

}
	.plan_balloon-container {
		width: 100%;
		padding-left: 18.6275%;
	}

.plan_text-container h4 {
	margin-bottom: 25px;
	margin-left: 18.6275%;
}

	.plan_balloon-img {
		max-width: 95px;
	}

	.plan_balloon-frame {
		padding: 6.747% 9.6386%;
	}

	.plan_balloon-frame::before {
		width: 48px;
		height: 26px;
	}

	.plan_balloon-frame::after {
		left: 33px;
		width: 43px;
		height: 23px;
	}

	.plan_balloon-frame p {
		line-height: 1.45;
	}

	.plan_image-container {
		max-width: 415px;
		width: 41.9192%;
		margin-left: 6.5657%;
	}

	.plan_image-content {
		padding: 0 8.4338%;
	}

	.plan_image {
		max-width: 345px;
	}

	.plan_image-frame {
		padding: 0 8.4338%;
	}

	.plan_image-frame::before {
		position: absolute;
		content: "";
		right: calc(100% + 6.0241%);
		top: 50%;
		transform: translateY(-50%);
		width: 15px;
		height: 23px;
		background-color: #000000;
		mask-image: url(/images/plan_image-icon.png);
		-webkit-mask-image: url(/images/plan_image-icon.png);
		mask-size: 100%;
		-webkit-mask-size: 100%;
		mask-position: center top;
		-webkit-mask-position: center top;
		mask-repeat: no-repeat;
		-webkit-mask-repeat: no-repeat;
	}

	.plan_image-frame h5 {
		padding: 20px 0 3px;
	}
	.demo_link {
		padding: 15px 0;
		margin-bottom: 60px;
	}

	/*.demo_link:hover {
		padding: 8px 0 22px;
	}*/

	.demo_link::before,
	.demo_link::after {
		bottom: 5px;
		right: 5px;
	}

	.tab_frame .visual_guide-link {
		max-width: 695px;
		margin: 0 auto;
	}

	.operate_container {
		width: 95%;
		margin-bottom: 105px;
	}

	.operate_title {
		margin-bottom: 70px;
	}

	.operate_title::before,
	.operate_title::after {
		height: 6px;
		width: 100%;
	}

	.operate_title::before {
		margin-right: 15px;
	}

	.operate_title::after {
		margin-left: 15px;
	}

	.operate_tab-link {
		max-width: 920px;
		margin-bottom: 120px;
		column-gap: 2.7174%;
	}

	.operate_tab-link h3 {
		margin-bottom: 20px;
	}

	.hosptal_operate-link {
		max-width: 330px;
		padding: 32.5px 4.6196%;
		width: 35.8696%;
	}

	.hosptal_operate-nav a,
	.corp_operate-nav a {
		padding: 17.5px 0;
	}

	.hosptal_operate-nav {
		max-width: 245px;
	}

	.corp_operate-link {
		padding: 32.5px 3.261%;
		max-width: 565px;
		width: 61.4131%;
	}

	.corp_operate-nav {
		max-width: 505px;
	}

	.common_operate-head {
		padding: 15px 7.2728% 35px;
	}

	.common_operate-head::before {
		width: 40px;
		aspect-ratio: 8/5;
		mask-image: url(/images/operate_icon-pc.png);
		-webkit-mask-image: url(/images/operate_icon-pc.png);
		bottom: calc(100% + 40px);
	}

	.common_operate-menu {
		padding: 60px 9.5455% 13.6364%;
		row-gap: 80px;
	}

	#hosptal_operate-content .common_operate-menu {
		height: 1010px;
	}

	@media screen and (min-width: 851px) {
		#corp_operate-content .common_operate-menu {
			height: 970px;
		}
	}

	@media screen and (max-width: 850px) {
		#corp_operate-content .common_operate-menu {
			height: 1170px;
		}
	}

	.common_operate-menu::after {
		height: 442px;
		mask-size: 1096px 442px;
		-webkit-mask-size: 1096px 442px;
		mask-image: url(/images/operate_menu-bgpc.png);
		-webkit-mask-image: url(/images/operate_menu-bgpc.png);
	}

	.operate_menu-item h5 {
		margin-bottom: 25px;
	}

	.operate_menu-item h5 i {
		margin-top: 2px;
		margin-right: 15px;
	}

	.operate_menu-item ul {
		row-gap: 19.3px;
	}

	.ask_container,
	.resource_container {
		width: 95%;
	}

	.ask_title,
	.resource_title {
		padding-bottom: 45px;
	}

	.ask_title::after,
	.resource_title::after {
		height: 6px;
		width: 100%;
	}

	.ask_container {
		padding-top: 120px;
		margin-bottom: 180px;
	}

	.ask_title {
		margin-bottom: 90px;
	}

	.ask_slide {
		max-width: 770px;
	}

	.slick-slide {
		/*margin: 0 55px;*/
	}

	.slick-prev {
		left: 60px !important;
	}

	.slick-next {
		right: 60px !important;
	}



	.ask_img {
		margin-bottom: 40px;
	}

	.ask_contents dt,
	.ask_contents dd {
		padding: 0 55px;
	}

	.ask_contents dt:nth-of-type(2)::before {
		bottom: calc(100% + 19px);
		height: 7px;
		mask-size: 750px 7px;
		-webkit-mask-size: 750px 7px;
	}

	.ask_contents dt {
		margin-bottom: 15px;
	}

	.ask_contents dd {
		line-height: 1.65;
	}

	.ask_contents dd:not(:nth-last-of-type(1)) {
		margin-bottom: 45px;
	}

	.resource_title {
		margin-bottom: 35px;
	}

	.resource_container {
		margin-bottom: 235px;
	}

	.resource_list {
	max-width: max-content;
	column-gap: clamp(1.25rem, -1.255rem + 5.21vw, 5rem);
		row-gap: 20px;
	display: grid;
	grid-template-columns: auto auto;
		justify-content: center;
	}
}

@media screen and (max-width: 768px) {
	.visual_container {
		background-image: url(/images/visual_bg-mb.png);
		background-position: center bottom 35px;
		background-size: 1221px 900px;
	}
	.patent_container {
		width: 100%;
		top: 80px;
		padding: 0 30px;
	}

	.visual_guide-description {
		margin-bottom: 30px;
	}

	.visual_guide-description img {
		width: 21.0667%;
		margin-bottom: 17px;
	}

	/*.visual_container {
		padding-top: 95px;
	}*/

	.visual_contents {
		width: 100%;
	}

	.visual_guide-list {
		row-gap: 10px;
	}

	.visual_guide-link {
		max-width: 695px;
		margin: 0 auto;
		width: 100%;
		min-width: 250px;
	}

	.tab_frame .visual_guide-item#guide_document-link a {
		padding: 9px 0;
	}
	.visual_guide-item a {
		padding: 20px 0;
	}
	.visual_guide {
		padding: 0 30px;
	}

	.visual_guide-item a::after {
		margin-left: 10px;
	}

	#guide_login-link::before {
		height: 40px;
	}

	.change_word {
		line-height: 1.25;
		flex-direction: column;
	}

	#guide_register-link a {
		padding: 12px 0;
	}

	#guide_register-link a span {
		display: block;
		width: 100%;
		text-align: center;
	}

	.balloon_image {
		padding: 0 33px 20px;
	}

	.balloon_image figcaption {
		border-top-left-radius: 20px;
		border-bottom-left-radius: 20px;
	}

	.balloon_image figcaption a {
		border-top-left-radius: 20px;
		border-bottom-left-radius: 20px;
		padding: 8px 10px 8px 15px;
		box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.42);
	}

	.balloon_image figcaption img {
		margin-right: 5px;
	}

	.balloon_image figcaption {
		right: 0;
	}

	.balloon_image figcaption p span,
	.balloon_image figcaption p br {
		display: none;
	}

	.balloon_image figcaption p {
		font-weight: 900;
	}

	.plan_container {
		width: 100%;
		padding-top: 12%;
		margin-bottom: 70px;
	}

	.plan_about {
		padding: 0 30px;
		margin-bottom: 45px;
	}

	.plan_about-title figure img {
		margin-bottom: 30px;
	}

	.plan_about-title {
		padding-bottom: 15px;
		margin-bottom: 10px;
	}

	.plan_about-title::after {
		height: 4px;
	}

	.tab_link-container {
		margin-bottom: 40px;
		padding: 0 30px;
	}

	.tab_link-list {
		column-gap: 4.7618%;
	}

	.tab_link-item {
		width: 47.6191%;
	}

	.tab_link-item a {
		margin-bottom: 10px;
		padding: 20px 0;
	}
	.tab_link-item .plan_about_tab_link-item__link--hospital {
		font-size: 16px;
	}
	.tab_link-item span br {
		display: none;
	}

	.tab_details {
		padding: 0 30px;
		margin-bottom: 20px;
	}

	.tab_details h3 {
		margin-bottom: 40px;
	}


	.tab_plan-list {
		row-gap: 60px;
	}

	.tab_plan-item {
		flex-direction: column;
	}

	.plan_balloon-container {
		width: 100%;
		padding-left: 25px;
	}

.plan_text-container h4 {
	margin-bottom: 15px;
	margin-left: 25px;
}
	.plan_balloon-img {
		max-width: 60px;
	}

	.plan_balloon-frame {
		padding: 20px 25px;
	}

	.plan_balloon-frame::before {
		width: 36px;
		height: 19px;
	}

	.plan_balloon-frame::after {
		left: 33.4px;
		width: 31px;
		height: 17px;
	}

	.plan_balloon-frame p {
		line-height: 1.55;
	}

	.plan_image-container {
		width: 100%;
		margin-top: -10px;
	}

	.plan_image-content {
		padding: 0 25px;
	}


	.plan_image a::after {
		min-width: 15px;
	}

	.plan_image-frame {
		padding: 0 25px;
	}

	.plan_image-frame h5 {
		padding: 10px 0 5px;
		text-align: center;
	}


	.demo_link {
		padding: 10px 0;
		margin-right: 30px;
		margin-bottom: 35px;
	}

	/*.demo_link:hover {
		padding: 6px 0 14px;
	}*/

	.demo_link::before,
	.demo_link::after {
		bottom: 3px;
		right: 3px;
	}

	.tab_frame .visual_guide-link {
		max-width: none;
		min-width: auto;
		padding: 25px 0 0;
		/*background-color: rgba(239, 239, 239, 0.47);*/
	}

	.tab_frame .visual_guide-list {
		max-width: 695px;
		min-width: 250px;
		margin: 0 auto;
		width: 66.6667%;
	}

	.operate_container {
		width: 100%;
		padding: 0 20px;
	}

	.operate_title::before,
	.operate_title::after {
		height: 4px;
		width: 17.9105%;
		min-width: 60px;
	}

	.operate_title {
		margin-bottom: 40px;
	}

	.operate_title::before {
		margin-right: 5px;
	}

	.operate_title::after {
		margin-left: 5px;
	}

	.operate_tab-link {
		max-width: 565px;
		flex-direction: column;
		row-gap: 20px;
		margin-bottom: 60px;
	}

	.operate_tab-link h3 {
		margin-bottom: 25px;
	}

	.hosptal_operate-link,
	.corp_operate-link {
		padding: 35px 45px;
		width: 100%;
	}

	.hosptal_operate-nav a,
	.corp_operate-nav a {
		padding: 15px 0;
	}

	.common_operate-head {
		padding: 21px 7.2728%;
	}

	.common_operate-head::before {
		width: 25px;
		aspect-ratio: 25/16;
		bottom: calc(100% + 22px);
		mask-image: url(/images/operate_icon-mb.png);
		-webkit-mask-image: url(/images/operate_icon-mb.png);
	}

	.common_operate-head dl {
		display: none;
	}

	.common_operate-menu {
		padding: 40px 7.4627% 325px;
		row-gap: 50px;
	}

	#hosptal_operate-content .common_operate-menu {
		height: 955px;
	}

	@media screen and (min-width: 501px) {
		#corp_operate-content .common_operate-menu {
			height: 980px;
		}
	}

	@media screen and (min-width: 431px) and (max-width: 500px) {
		#corp_operate-content .common_operate-menu {
			height: 1320px;
		}
	}

	@media screen and (max-width: 430px) {
		#corp_operate-content .common_operate-menu {
			flex-flow: column;
		}
	}


	.common_operate-menu::after {
		height: 331px;
		mask-size: 724px 331px;
		-webkit-mask-size: 724px 331px;
		mask-image: url(/images/operate_menu-bgmb.png);
		-webkit-mask-image: url(/images/operate_menu-bgmb.png);
	}

	.operate_menu-item h5 {
		margin-bottom: 20px;
	}

	.operate_menu-item h5 i {
		margin-right: 5px;
	}

	.operate_menu-item ul {
		row-gap: 8px;
	}

	.ask_container,
	.resource_container {
		width: 100%;
	}

	.ask_container {
		padding: 60px 15px 0;
		margin-bottom: 140px;
	}

	.ask_title,
	.resource_title {
		display: block;
		width: 100%;
		margin: 0 auto;
		padding-bottom: 20px;
	}

	.ask_title::after,
	.resource_title::after {
		height: 4px;
		width: 64.1792%;
		min-width: 215px;
	}

	.ask_title {
		margin-bottom: 45px;
	}

	.ask_slide {
		max-width: 660px;
	}

	.slick-slide {
		margin: 0 5px;
	}

	.slick-prev {
		left: 15px !important;
	}

	.slick-next {
		right: 15px !important;
	}

	.ask_img {
		margin-bottom: 35px;
	}

	.ask_contents {
		padding: 0 10px;
	}

	.ask_contents dt:nth-of-type(2)::before {
		bottom: calc(100% + 12.5px);
		height: 5px;
		mask-size: 536px 5px;
		-webkit-mask-size: 536px 5px;
	}

	.ask_contents dt {
		margin-bottom: 15px;
	}

	.ask_contents dd {
		line-height: 1.55;
	}

	.ask_contents dd:not(:nth-last-of-type(1)) {
		margin-bottom: 30px;
	}

	.resource_container {
		padding: 0 30px;
		margin-bottom: 175px;
	}

	.resource_title {
		margin-bottom: 25px;
	}

	.resource_list {
		display: flex;
		max-width: 500px;
		flex-direction: column;
		row-gap: 25px;
	}

	@media screen and (max-width: 700px) {
		.visual_contents {
			padding-top: 160px;
		}
	}

	@media screen and (max-width: 350px) {
		.patent_img {
			width: clamp(5.938rem, -7.396rem + 66.67vw, 7.188rem);
		}
		.visual_contents {
			padding-top: 45%;
		}
	}
}


/******************************************************************************
	ページ固有	会員登録ページ
-------------------------------------------------------------------------------
	/application/.../signup.php
******************************************************************************/
.form-container.process-form {
	max-width: 450px;
	margin: 0 auto;
}

.form-header {
	padding: 40px 0;
	text-align: center;
}

.form-basic.single-form {
	max-width: 450px;
	margin: 0 auto;
	padding: 80px 30px;
	border: solid 1px #707070;
	border-radius: 10px;
	background-color: #ffffff;
}

.form-basic .form-row {
	display: flex;
	flex-direction: column;
	row-gap: 16px;
}

.form-basic .form-row+.form-row {
	margin-top: 32px;
}

.form-basic .form-row+.form-row.form-annotation-row {
	position: relative;
	margin-top: 24px;
}

.form-basic .form-row label {
	display: block;
	width: 100%;
}

.is-required::after {
	margin-left: 1em;
	color: red;
	font-weight: inherit;
	font-size: inherit;
	vertical-align: baseline;
	content: "【必須】";
}

.form-basic-vertical input:not([type="checkbox"]):not([type="radio"]),
.form-basic-vertical textarea,
.form-basic-vertical .input-file-design {
	display: block;
}

.form-basic .form-row+.form-row.form-annotation-row+.form-row.form-button-row {
	margin-top: 40px;
}

.form-footer {
	margin-top: 30px;
	padding: 0 30px;
}

/******************************************************************************
	ページ固有	サービス利用規約
-------------------------------------------------------------------------------
	//terms-of-service.php
******************************************************************************/
.page-summary {
	margin: auto;
	padding-right: 32px;
	padding-left: 32px;
}

.page-summary__body {
	font-weight: normal;
	font-size: 16px;
}

.terms-block {
	margin: 56px auto;
}

.page-title-container {
	display: grid;
	justify-content: space-between;
	align-items: center;
	column-gap: 12px;
	margin-right: auto;
	margin-bottom: 24px;
	margin-left: auto;
	padding-bottom: 8px;
	padding-left: 8px;
	border-bottom: solid 6px #5cbaa888;
}

.page-title-container.side-line {
	display: flex;
	margin-left: 0;
	margin-right: 0;
	border-bottom: none;
}

.page-title-container.side-line::after {
	content: "";
	flex-grow: 1;
	display: inline-block;
	height: 6px;
	background-color: #e2f8f7;
}

.page-title {
	margin: 0;
	color: #5cbaa8;
	font-weight: bold;
	font-size: 14pt;
	line-height: 34px;
	white-space: nowrap;
}

.page-title__note {
	white-space: normal;
}

.page-title-container>* {
	grid-row: 1 / 1;
	white-space: nowrap;
}

.detail-info__page-title {
	color: var(--default-theme--color) !important;
	white-space: normal;
}

.terms-block__body {
	margin: 0 auto 16px;
	padding: 0 32px;
	font-size: 16px;
}

.terms-block__item {
	padding-left: 28px;
	text-indent: -28px;
	counter-increment: item-counter;
}

.terms-block__item::before {
	display: inline-block;
	width: 12px;
	margin-right: 12px;
	text-align: right;
	content: counter(item-counter) ".";
}

.terms-block__sub-list {
	margin-top: 4px;
	margin-bottom: 16px;
}

.terms-block__item--sub {
	padding-left: 28px;
	counter-increment: sub-item-counter;
}

.terms-block__item--sub::before {
	text-align: right;
	content: "（" counter(sub-item-counter) "）";
}

@media screen and (max-width: 768px) {
	.terms-block__body {
		padding-right: 5%;
		padding-left: 5%;
	}
}

@media screen and (max-width: 425px) {
	.terms-block__item {
		padding-left: 0;
		text-indent: 0;
	}

	.terms-block__item::before {
		display: inline;
	}

	.terms-block__item--sub {
		padding-left: 16px;
		text-indent: -18px;
	}
}

.circle-list__item {
	margin-bottom: 8px;
	padding-left: 20px;
	line-height: 1.6em;
}

.circle-list__item::before {
	display: inline-block;
	width: 12px;
	margin-right: 8px;
	margin-left: -20px;
	font-size: 10px;
	vertical-align: middle;
}

.circle-list__item.icon-list-circle::before {
	color: var(--default-theme--color);
}