<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/* 英語サイト-フォーマット-文字基本サイズ 16px */

/* @group symbol-icon */

@font-face {
	font-family: 'font-library';
	src: url('../fonts/font-library.ttf?iftez1') format('truetype'), url('../fonts/font-library.woff?iftez1') format('woff'), url('../fonts/font-library.svg?iftez1#font-library') format('svg');
	font-weight: normal;
	font-style: normal;
}

.ai {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'font-library' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	padding-left: .5em;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.ai-out::after {
	background: url("../images/icon_out.svg") no-repeat center / 100% auto;
	content: "";
	display: inline-block;
	height: 15px;
	width: 20px;
}

.ai-pdf::after {
	content: "\e905";
	color: #CD1C02;
	font-size: 0.9em;
	background: #fff;
}

.ai-word::before {
	content: "\e903";
	color: #4063BA;
	font-size: 0.9em;
	background: #fff;
}

.ai-excel::before {
	content: "\e901";
	color: #629B4A;
	font-size: 0.9em;
	background: #fff;
}

.ai-mail::after {
	background: url("../images/icon_mail.svg") no-repeat center / 100% auto;
	content: "";
	display: inline-block;
	height: 12px;
	width: 16px;
}

/* @end */

/* @group 初期設定 */

html {
	overflow: auto;
	color: #4D4D4D;
}

body {
	color: #4D4D4D;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 16px;
	font-weight: 400;
	min-width: calc(1024px + 40px);
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden; /* コンテンツ幅を超える背景対策 */
	overflow-y: hidden; /* コンテンツ幅を超える背景対策 */
	width: 100%;
}

_:-ms-input-placeholder body, :root body {
	font-family: 'Noto Sans JP', "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

body.fixed {
	/*position: fixed;*/
}

ul ol,
ol ul {
	font-size: 100% !important;
}

ul,
ol,
li ul,
li ol {
	list-style: none;
}

sup {
	vertical-align: top;
	font-size: 0.77em;
}

h2 sup {
	font-size: .5em !important;
	display: inline-block;
	padding-top: 5px;
}

sub {
	vertical-align: baseline;
	font-size: 0.77em;
}

img {
	height: auto;
	max-width: 100%;
	margin: auto;
}

label {
	cursor: pointer;
}

a {
	text-decoration: underline;
	text-decoration-color: #99004F;
	color: #99004F;
	transition: all .5s;
}

a:visited {
	color: #99004F;
}

a:hover {
	text-decoration-color: transparent;
}

a[href^="tel:"] {
	text-decoration: underline;
	cursor: default;
}

a img,
button,
input[type="submit"] {
	transition: all .5s;
}

figure {
	margin-bottom: 1em;
}

figcaption {
	font-size: 93%;
	line-height: 1.5;
	margin: .5em 0 2em;
	position: relative;
}

strong {
	font-weight: bold;
}

address {
	font-style: normal;
	line-height: 1.9;
}

*,
::before,
::after {
	box-sizing: border-box;
}

.clear {
	clear: both;
}

.fc-main,
[id^="header-menu"] ul li a:hover, [id^="header-menu"] ul li.active a, #drawer ul.sub-nav li a:hover, #h1-area h1, #main-content h2, #main-content h3, #main-content .heading-h3, #main-content h4, #main-content .heading-h4, .lead, #main-content dl dt, #main-content table.table-column th, #main-content table.table-history th, .index-pattern2 .col .clf, .index-pattern5 .col .more, #main-content .form-area div.cell1, .form-btn button, #breadcrumb a:hover, ul.tales-pagenation li a, #float-nav ul li.parent &gt; p, #float-nav ul ul li a:hover, #float-contact h3, #float-contact .tel, [class*="index-pattern"] .col .entry-header .cate, .pattern-business .head, .accordion-btn {
	color: #99004F;
}

.fc-caution { color:#CB0361; }

.fc-orange, [class*="index-pattern"] .col .head .en, .lower-nav .en, #home h2 span.en {
	color: #E76800;
}

.fc-black { color:#000 !important; }

.fc-orange2 { color:#ff6800; }

.fc-normal,
#footer-nav ul ul &gt; li a, #main-content [class*="index-pattern"] .col  p:not(.head):not(.more), .caution.fc-normal li::before {
	color: #4D4D4D;
}

.ff-mincho,
#h1-area h1, #main-content h2, #drawer ul.main-nav li a, #copyright, .lead, .lead-s, .lead-box, dl.qa dt, #main-content .accordion dt, [class*="index-pattern"] .col .head, .index-pattern4 .col p, .lower-nav .head, .lower-nav .en, [class*="index-pattern-list"] ul li a, .link-anchor ul li a, .medical-link-box &gt; div, #float-contact h2, #float-contact &gt; div &gt; *:not(.sub-head), #main-content .pattern-movie .head, .related-link ul li a, #home h2 span.en, .pattern-business .head, ul.list.type-A li, ol.ol-circle &gt; li::before {
	font-family: 'Noto Serif JP', serif;
}

.ff-normal,
#main-content .heading-h3, #main-content .heading-h4, #main-content .pattern-overview h3, #main-content .form-area div.cell2 input, #main-content .form-area div.cell2 select, #main-content .form-area div.cell2 textarea {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif !important;
}

/* @end */

/* @group header */

[id*="header-area"] {
	margin: 0 auto;
	min-width: calc(1024px + 40px);
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#header {
	margin: 0 auto;
	height: 170px;
	padding: 0 20px;
	position: relative;
}

#header .header-logo {
	float: left;
	height: 41px;
	width: 154px;
	margin: 0 0 0 12px;
	position: relative;
}

#header .header-logo-group {
	left: -20px;
	height: 80px;
	width: calc(100% + 40px);
	background: #fff;
	position: relative;
}

#header .header-logo-group img {
	position: absolute;
	width: 170px;
	height: 31px;
	top: 27px;
	right: 24px;
}


#header .header-logo a,
#header .header-logo-group a {
	display: block;
}

#header-area-clone {
	background: rgba(255, 255, 255, .95);
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, .2);
	height: 66px;
	position: fixed;
	top: -100px;
	z-index: 1;
}

#header-area-clone #header {
	height: 66px;
}

#header-area-clone .header-logo {
	height: 38px;
	width: 137px;
	margin: 13px 0 0 0;
}

#header-area-clone #gnav li.parent .gnav_lv2_wrap {
	top: 66px;
}

#header-area-clone .header-logo-group {
	display: none;
}

/* @end */

/* @group header-menu */

[id^="header-menu"] {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 80px 118px 0 0;
	position: absolute;
	top: 0;
	right: 0;
}

[id^="header-menu"] &gt; ul {
	display: flex;
	justify-content: flex-end;
	margin: 6px 0 0;
}

[id^="header-menu"] ul li {
	font-size: 13px;
	height: 20px;
	margin-right: 23px;
	position: relative;
}

[id^="header-menu"] ul li a {
	color: #4D4D4D;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	vertical-align: top;
}

[id^="header-menu"] ul li a::before {
	background-color: #99004F;
	content: "";
	height: 1px;
	width: 100%;
	transition: all .5s;
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: 0;
}

[id^="header-menu"] ul li a:hover::before,
[id^="header-menu"] ul li.active a::before {
	opacity: 1;
}

[id^="header-menu"] li.language ul {
	display: flex;
	justify-content: flex-end;
	margin: 0;
}

[id^="header-menu"] li.language {
	margin-right: 25px;
}

[id^="header-menu"] li.language li {
	margin-right: 17px;
}

[id^="header-menu"] li.language li a {
}

[id^="header-menu"] li.language li:last-child {
	margin-right: 0 !important;
	position: relative;
}

[id^="header-menu"] li.language li:last-child::before {
	background-color: #D1D1D1;
	content: "";
	height: 21px;
	width: 1px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 3px;
	left: -9px;
}

[id^="header-menu"] li.language li:last-child a {
	font-family: 'Open Sans', sans-serif;
	font-size: 15px;
	letter-spacing: .025em;
}

#header-area-clone [id^="header-menu"] {
	display: none;
}

#site-search {
	position: relative;
}

#site-search #search-input {
	background: #FFF;
	border: 1px solid #E0E0D4;
	font-size: 15px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	line-height: 1;
	height: 26px;
	padding-right: 30px;
	width: 176px;
}

#site-search #search-buttom {
	background: #99004F url("../images/icon_search.svg") no-repeat center / 14px 14px;
	border: none;
	cursor: pointer;
	height: 26px;
	width: 26px;
	text-indent: -999px;
	position: absolute;
	top: 0;
	right: 0;
}

/* @end */

/* @group gnav */

#gnav-area {
	float: right;
	height: 42px;
	margin-top: 48px;
	padding-right: 98px;
	width: calc(100% - 200px);
}

#gnav {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	margin: auto;
	padding: 0;
	width: 100%;
}

[id*="toggle-nav"] {
	display: block;
	position: absolute;
	top: 80px;
	right: 24px;
}

#header-area-clone #gnav-area {
	margin-top: 24px;
	padding-right: 85px;
}

#header-area-clone #toggle-nav {
	top: 0;
	right: 0;
}

.toggle-menu {
	background-color: #99004F;
	cursor: pointer;
	height: 66px;
	width: 66px;
}

.toggle-menu span {
	background: #FFF;
	display: block;
	margin: auto;
	height: 2px;
	width: 15px;
	transition: .2s;
	position: absolute;
	top: 32px;
	left: 0;
	right: 0;
}

.toggle-menu span::before,
.toggle-menu span::after {
	background: #FFF;
	display: block;
	content: "";
	height: 2px;
	width: 15px;
	transition: .3s;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

.toggle-menu span::before {
	margin-top: -6px;
}

.toggle-menu span::after {
	margin-top: 6px;
}

.toggle-menu.close span {
	background: transparent;
}

.toggle-menu.close span::before,
.toggle-menu.close span::after {
	width: 20px;
	margin: 2px 0 0 -2px;
}

.toggle-menu.close span::before {
	transform: rotate(-45deg);
}

.toggle-menu.close span::after {
	transform: rotate(-135deg);
}

/* 1階層目 */

#gnav ul.gnav_lv1 {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	height: 100%;
	margin-bottom: 0;
	width: 100%;
}

#gnav ul.gnav_lv1 &gt; li {
	height: 100%;
	margin: 0 0 0 32px;
	white-space: nowrap;
}

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

	#header .header-logo {
		margin-left: 0;
	}

	#gnav-area {
		width: calc(100% - 180px);
	}

	#gnav ul.gnav_lv1 &gt; li {
		margin: 0 0 0 2.6%;
	}

}

#gnav ul.gnav_lv1 &gt; li &gt; a {
	display: block;
	font-size: 17px;
	font-weight: bold;
	line-height: 1;
	height: 100%;
	text-decoration: none;
	position: relative;
}

#gnav ul.gnav_lv1 &gt; li &gt; a {
	padding-bottom: 17px;
}

#gnav ul.gnav_lv1 &gt; li &gt; a::before {
	background-color: #99004F;
	content: "";
	height: 3px;
	width: 100%;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0;
}

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

	#gnav ul.gnav_lv1 &gt; li:hover &gt; a::before,
	#gnav ul.gnav_lv1 &gt; li.active &gt; a::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

}

.gnav-bg {
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 10;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(25, 27, 31, 0.7);
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
	transition: .5s ease-out;
}

.gnav-bg.active {
	opacity: 100;
	visibility: visible;
}

/* 2階層目 */

#gnav .gnav_lv2_wrap {
	display: none;
	margin: auto;
	padding: 42px 20px;
	width: 100%;
	transition: all .5s;
	position: absolute;
	top: 170px;
	left: -50vw;
	right: -50vw;
	z-index: 99;
}

#gnav .gnav_lv2_wrap::before {
	background-color: #FFF;
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#gnav .gnav_lv2_wrap::after {
	background-color: #EEEED7;
	content: "";
	height: 100%;
	width: 30%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#gnav .gnav_lv2 {
	display: flex;
	align-items: flex-start;
	margin: auto;
	min-width: 1024px;
	max-width: 1158px;
	position: relative;
}

#gnav .gnav_lv2::after {
	background-color: #EEEED7;
	content: "";
	height: calc(100% + 84px);
	width: calc(290px + 42px);
	position: absolute;
	top: -42px;
	left: 0;
	z-index: -1;
}

#gnav .gnav_lv2 .head {
	margin: 0 42px 0 0;
	padding-right: 42px;
}

#gnav .gnav_lv2 .head a {
	display: block;
	height: 192px;
	width: 290px;
	overflow: hidden;
	position: relative;
}

#gnav .gnav_lv2 .head figure {
	height: 100%;
	overflow: hidden;
	transition: all .5s;
}

#gnav .gnav_lv2 .head a:hover figure {
	transform: scale(1.1);
}

#gnav .gnav_lv2 .head p {
	background-color: rgba(255,255,255,.8);
	line-height: 1;
	padding: 1em;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}

#gnav .gnav_lv2 ul {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin: 0;
	padding: 6px 0;
	width: calc(100% - 260px - 84px);
}

#gnav .gnav_lv2 li {
	border-bottom: 1px dotted #373737;
	margin: 1.2em 30px 0 0;
	width: calc((100% - 30px) / 2);
}

#gnav .gnav_lv2 li:nth-of-type(2n) {
	margin-right: 0;
}

#gnav .gnav_lv2 li:nth-of-type(-n+2) {
	margin-top: 0;
}

#gnav .gnav_lv2 li a {
	display: flex;
	align-items: center;
	line-height: 1;
	height: 100%;
	padding: 1em;
	text-decoration: none;
	width: 100%;
	position: relative;
}

#gnav .gnav_lv2 li a::before{
	background: #F6F6E9 url("../images/icon_arrow.svg") no-repeat right 13px center / 17px auto;
	content: "";
	margin: auto;
	height: 100%;
	width: 100%;
	transition: all .5s;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0;
}

#gnav .gnav_lv2 li a:hover::before {
	opacity: 1;
}

/* @end */

/* @group drawer-nav-area */

#drawer-nav-area {
	background-color: #FFF;
	display: none;
	height: 100vh;
	min-width: calc(1024px + 40px);
	width: 100%;
	overflow-y: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 80;
}

#drawer-nav-area &gt; div {
	max-width: 880px;
	margin: auto;
	padding-top: 245px;
}

#drawer .header-logo {
	height: 41px;
	width: 154px;
	position: absolute;
	top: 80px;
	left: 32px;
}

#drawer .header-logo-group {
	height: 31px;
	width: 170px;
	position: absolute;
	top: 27px;
	right:24px;
}

body.pc #header-menu-clone,
body.pc #site-search-area {
	display: none;
}

#drawer #toggle-nav-clone {
	transition: all .8s;
	transition-delay: .4s;
	opacity: 0;

}

#drawer #toggle-nav-clone.close {
	opacity: 1;
}

#drawer &gt; ul {
	display: flex;
	flex-wrap: wrap;
}

#drawer ul.main-nav {
	margin-bottom: 56px;
}

#drawer ul.main-nav li {
	margin-right: 41px;
	width: calc((100% - (41px * 2)) / 3);
}

#drawer ul.main-nav li:nth-of-type(3n) {
	margin-right: 0;
}

#drawer ul.main-nav li.parent &gt; div {
	display: none;
}

#drawer ul.main-nav li a {
	border-bottom: 1px solid #CCC;
	display: block;
	font-size: 21px;
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 1;
	margin-bottom: 60px;
	padding-bottom: .9em;
	text-decoration: none;
	text-align: center;
	position: relative;
}

#drawer ul.main-nav li a::before,
#drawer ul.sub-nav li a::after {
	background-color: #99004F;
	content: "";
	height: 1px;
	width: 100%;
	transform: scale(0,1);
	transform-origin: left bottom;
	transition: all .5s;
	position: absolute;
	bottom: -1px;
	left: 0;
}

#drawer ul.main-nav li a:hover::before,
#drawer ul.sub-nav li a:hover::after {
	transform: scale(1,1);
}

#drawer ul.sub-nav {
	margin-right: -45px;
}

#drawer ul.sub-nav li {
	margin-bottom: 2.5em;
	width: 185px;
}

#drawer ul.sub-nav li a {
	color: #4D4D4D;
	line-height: 1;
	padding: 0 0 7px 10px;
	text-decoration: none;
	position: relative;
}

#drawer ul.sub-nav li a::before {
	background-color: #4D4D4D;
	border-radius: 50%;
	content: "";
	height: 4px;
	width: 4px;
	transition: all .5s;
	position: absolute;
	top: calc((1em - 4px) / 2);
	left: 0;
}

#drawer ul.sub-nav li a::after {
	width: calc(100% - 10px);
	left: 10px;
}

#drawer ul.sub-nav li a:hover::before {
	background-color: #99004F;
}

/* @end */

/* @group content-area */

#content-area {
	margin-top: 170px;
	width: 100%;
	position: relative;
}

/* @group h1-area */

#h1-area {
	background-color: #EAF3F8;
	background-image: url("../images/h1_bg_pc.jpg");
	background-position: right center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	display: table;
	height: 140px;
	margin-bottom: 60px;
	min-width: calc(1024px + 40px);
	width: 100%;
	overflow: hidden;
	position: relative;
}

#h1-area h1 {
	display: table-cell;
	font-size: 34px;
	font-weight: 500;
	height: 100%;
	line-height: 1;
	margin: auto;
	text-align: center;
	width: calc(1024px + 40px);
	vertical-align: middle;
}

body.pc #h1-area h1.fz-en-s {
	font-size: 29px
}

#h1-area span {
	display: block;
	line-height: 1.4;
	padding: 0 15px;
	width: 100%;
}

#h1-area span span {
	display: block;
	font-size: 23px;
	margin-bottom: 3px;
}

/* @end */

/* @group breadcrumb */

#bread-crumb-area {
	padding: 20px 0 15px;
}

#breadcrumb {
	font-size: 12px;
	line-height: 1.4;
	margin: 0 auto;
	padding: 0 20px;
	width: calc(1024px + 40px);
	position: relative;
}

#breadcrumb li {
	float: left;
	letter-spacing: 0;
	margin-bottom: .3em;
	padding: 0 .4em 0 1.1em;
	position: relative;
}

#breadcrumb li::before {
	content: "&gt;";
	display: block;
	height: 1em;
	width: .6em;
	transform: scale(.6, 1);
	position: absolute;
	top: -1px;
	left: 0;
}

#breadcrumb li:first-of-type {
	background: url("../images/icon_home.svg") no-repeat left center / 10px 12px;
	padding: 0 .4em 0 15px;
}

#breadcrumb li:first-of-type:before {
	display: none;
}

#breadcrumb a {
	color: #4D4D4D;
	text-decoration-color: #4D4D4D;
}

#breadcrumb a:hover {
	text-decoration-color: #99004F;
}

/* @end */

/* @group main-content */

#main-content {
	margin: 0 auto 80px;
	padding: 0 20px;
	width: calc(1024px + 40px);
	position: relative;
	z-index: 0;
}

#main-content section,
#main-content .section {
	margin-bottom: 75px;
	position: relative;
}

.load-fade,
.scroll-fade {
	opacity: 0;
	transform: translateY(15px);
	transition: all .8s;
}

.load-fade {
	transition-delay: .1s;
}

.scroll-fade {
	transition-delay: .1s;
}

figure.scroll-fade {
	transform: translateY(15px);
	transition-delay: .1s;
}

.fadeIn {
	transform: translateY(0);
	opacity: 1 !important;
}

figure.fadeIn {
	transform: translateY(0);
}

#main-content &gt; *:last-child,
#main-content section &gt; *:last-child,
#main-content .section &gt; *:last-child {
	margin-bottom: 0;
}

#main-content p {
	margin-bottom: 2em;
	line-height: 1.9;
}
.wd-full {
	margin-left: calc((100vw - 1024px) / -2);
	width: 100vw;
}

.wd-full-2nd {
	margin-left: calc((100vw - 1024px) / -2);
	padding: 0 calc((100vw - 1024px) / 2);
	width: 100vw;
}

.inner {
	margin: 0 auto;
	max-width: 1024px;
}

.bgcolor-main {
	background-color: #F8F6E5;
}

[class*="bg-full"] {
	position: relative;
}

[class*="bg-full"]::before {
	background-color: #F8F6E5;
	content: "";
	height: calc(100% - 60px);
	width: 146.4%;
	position: absolute;
	bottom: 0;
	z-index: -1;
}

.bg-full::before {
	width: 150vw;
	left: -25vw;
}

.bg-full-left::before {
	right: -96px;
}

.bg-full-right::before {
	left: -96px;
}

.wd-full.bg-full-left::before {
	right: calc(50% - 608px);
}

.wd-full.bg-full-right::before {
	left: calc(50% - 608px);
}

@media screen and (max-width: 1064px) and (min-width: 769px) {
	.wd-full {
		margin-left: -20px;
		margin-right: -20px;
		min-width: 1064px;
	}

	.wd-full-2nd {
		margin-left: -20px;
		margin-right: -20px;
		padding-left: 20px;
		padding-right: 20px;
		min-width: 1024px;
	}
}

/* @group heading */

#main-content h2 {
	background: url("../images/icon_h2.svg") no-repeat center top / 14px 14px;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 1.7em;
	padding: .7em 0 .8em;
	text-align: center;
	position: relative;
}

#main-content h2::before {
	background-color: #99004F;
	content: "";
	height: 2px;
	width: 200vw;
	position: absolute;
	bottom: 0;
	left: -50vw;
}

#main-content h3,
#main-content .heading-h3 {
	border-bottom: 1px dotted #000;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.75;
	margin-bottom: .9em;
	padding-bottom: .5em;
}

#main-content h3.border-none,
#main-content .heading-h3.border-none {
	border-bottom: none;
	padding-bottom: 0;
}

#main-content h4,
#main-content .heading-h4 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.75;
	margin-bottom: .6em;
}

#main-content .heading-h3 {
	background: none;
	letter-spacing: 0;
	padding-top: 0;
	text-align: left;
}

#main-content .heading-h4 {
	background: none;
	border: none;
	letter-spacing: 0;
	padding-top: 0;
	padding-bottom: 0;
	text-align: left;
}

#main-content .heading-h3::before,
#main-content .heading-h4::before {
	display: none;
}

/* @end */

/* @group lead */

.lead-s {
	color: #000;
	font-size: 20px;
	text-align: center;
}

.lead {
	font-size: 30px;
	text-align: center;
}

.lead-box {
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.08);
	padding: 30px 30px 37px;
	text-align: center;
}

#main-content .lead-box .lead {
	font-size: 27px;
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.6;
	margin-bottom: 0;
}

#main-content .lead-box .lead + p {
	border-top: 1px solid #CCC;
	color: #333;
	font-size: 17px;
	letter-spacing: .02em;
	line-height: 1.65;
	margin-top: 16px;
	padding-top: 19px;
}

#main-content .lead-box &gt; *:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group pattern */

.caption {
	line-height: 1.5 !important;
}

figure img {
	vertical-align: middle;
}

figure + .caption {
	margin-top: -.3em;
}

[class*="pattern1-"],
[class*="pattern2-"],
[class*="pattern3-"],
[class*="pattern4-"] {
	margin-bottom: 2em;
}

.right-col {
	float: right;
}

.left-col {
	float: left;
}

/* pattern1-1 */

.pattern1-1 .left-col {
	width: calc((100% - 40px) / 2);
}

.pattern1-1 .right-col {
	width: calc((100% - 40px) / 2);
}

.pattern1-1 .col {
	float: left;
	margin-right: 40px;
	width: calc((100% - 40px) / 2);
}

.pattern1-1 .col:nth-of-type(2n) {
	margin-right: 0;
}

/* pattern2-3(3-2) */

.pattern2-3 .right-col,
.pattern3-2 .left-col {
	width: calc(((100% - 40px) / 5) * 3);
}

.pattern2-3 .left-col,
.pattern3-2 .right-col {
	width: calc(((100% - 40px) / 5) * 2);
}

.pattern2-4 .right-col,
.pattern4-2 .left-col {
	width: calc(((100% - 40px) / 6) * 4);
}

.pattern2-4 .left-col,
.pattern4-2 .right-col {
	width: calc(((100% - 40px) / 6) * 2);
}

/* pattern1-2(2-1) */

.pattern1-2 .left-col,
.pattern2-1 .right-col {
	width: calc((100% - 40px) / 3);
}

.pattern1-2 .right-col,
.pattern2-1 .left-col {
	width: calc(((100% - 40px) / 3) * 2);
}

/* pattern1-3(3-1) */

.pattern1-3 .left-col,
.pattern3-1 .right-col {
	width: calc((100% - 40px) / 4);
}

.pattern1-3 .right-col,
.pattern3-1 .left-col {
	width: calc(((100% - 40px) / 4) * 3);
}

/* pattern1-4(4-1) */

.pattern1-4 .left-col,
.pattern4-1 .right-col {
	width: calc((100% - 40px) / 5);
}

.pattern1-4 .right-col,
.pattern4-1 .left-col {
	width: calc(((100% - 40px) / 5) * 4);
}

/* pattern1-1-1 */

[class*="pattern1-1-1"] {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.pattern1-1-1 .col {
	margin-right: 40px;
	width: calc((99.9% - (40px * 2)) / 3);
}

.pattern1-1-1 .col:nth-of-type(3n) {
	margin-right: 0;
}

/* patterm1-1-1-1 */

.pattern1-1-1-1 .col {
	margin-right: 40px;
	width: calc((100% - (40px * 3)) / 4);
}

.pattern1-1-1-1 .col:nth-of-type(4n) {
	margin-right: 0;
}

/* 子要素の余白調整 */
@media screen and (min-width: 769px) {
	.pattern1-1 .col:nth-of-type(n+3),
	.pattern1-1-1 .col:nth-of-type(n+4),
	.pattern1-1-1-1 .col:nth-of-type(n+5) {
		margin-top: 2em;
	}
}

#main-content [class*="pattern"] [class*="col"]:last-of-type,
#main-content [class*="pattern"] [class*="col"] &gt; :last-child {
	margin-bottom: 0;
}

/* @end */

/* @group caution */

p.caution::before,
ul.caution li::before,
ol.caution li::before,
span.caution::before {
	font-family: 'font-library' !important;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "*";
	color: #CB0361;
	font-size: 1.2em;
	position: absolute;
	top: .05em;
	left: -.8em;
}

#main-content .caution {
	margin-left: 1em;
	position: relative;
}

span.caution::before {
	top: -.3em;
	left: -1.3em;
}

ul.caution li,
ol.caution li {
	list-style: none;
	margin-bottom: 2px;
	line-height: 1.8;
	position: relative;
}

ul.caution li:last-child {
	margin-bottom: 0;
}

ol.caution {
	counter-reset: cautionNum;
}

ol.caution li {
	padding-left: .7em;
}

ol.caution li::before {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif !important;
	counter-increment: cautionNum;
	content: "*"counter(cautionNum);
	font-size: 1em;
	font-weight: 400;
	top: 0;
	left: -1em;
}

/* @end */

/* @group box */

.box {
	border: 1px solid #B84D84;
	margin-bottom: 2em;
	padding: 25px 25px;
}

.box.box-gray {
	border-color: #B2B2B2;
}

#main-content .box &gt; *:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group ul */

ul {
	margin-bottom: 2em;
}
ul.list {}

ul.list &gt; li,
ul.list ul &gt; li {
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: .3em;
	padding-left: 1.3em;
	position: relative;
}

ul.list &gt; li::after,
ul.list ul &gt; li::after {
	background-color: #99004F;
	border-radius: 50%;
	content: "";
	display: block;
	height: .4em;
	width: .4em;
	position: absolute;
	top: calc((1.7em - .4em) / 2);
	left: .2em;
}

ul ul,
ul ol,
ol ul {
	margin: .3em 0 .9em .8em;
}

ul.list ul &gt; li {
	margin-left: .1em;
	padding-left: 1em;
}

ul.list ul &gt; li::after {
	left: 0;
}

ul li:last-child,
ul li:last-child &gt; *:not(ul):last-child {
	margin-bottom: 0;
}

/* @end */

/* @group list type-A */

ul.list.type-A {
}

ul.list.type-A li {
	border-color: #888;
	border-style: dotted;
	border-width: 0 0 1px;
	color: #000;
	font-size: 20px;
	margin-bottom: 1.1em;
	padding: 0 0 .9em 1.6em;
}

ul.list.type-A li::before {
	border: 1px solid #99004F;
	border-radius: 50%;
	content: "";
	display: block;
	height: .7em;
	width: .7em;
	position: absolute;
	top: calc((1.7em - .7em) / 2);
	left: .6em;
}

ul.list.type-A li::after {
	height: .5em;
	width: .5em;
	top: calc((1.7em - .5em) / 2);
	left: .7em;
}

ul.list.type-A li:last-of-type,
ul.list.type-A li &gt; *:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group ol */

ol {
	margin: 0 0 2em 0;
	counter-reset: li;
}

ol &gt; li {
	font-size: 15px;
	list-style: none;
	margin-bottom: .3em;
	padding-left: 1.3em;
	line-height: 1.7;
	position: relative;
}

ol &gt; li::before {
	color: #99004F;
	content: counter(li, decimal) ". ";
	counter-increment: li;
	font-size: 1.1em;
	font-weight: bold;
	position: absolute;
	top: -.1em;
	left: .1em;
}

ol ol {
	margin: .3em 0 .9em .5em;
	counter-reset: li-child;
}

ol ol &gt; li::before {
	color: #333;
	content: counter(li-child, decimal) ". ";
	counter-increment: li-child;
	font-size: 15px;
	font-weight: normal;
	top: 0;
	left: .3em;
}

ol ul.list &gt; li::after {
	left: .2em;
}

ul.list ol li::before {
	color: #333;
	font-size: 15px;
	font-weight: normal;
}

ol.ol-paren {
	counter-reset: li;
}

ol.ol-paren &gt; li {
	padding-left: 2.2em;
}

ol.ol-paren &gt; li::before {
	counter-increment: li;
	content: "(" counter(li, decimal) ")";
	font-size: 1.1em;
	font-weight: 500;
	top: -.05em;
}

ol.indent li {
	padding-left: 1.2em;
	text-indent: -1.2em;
}

ol.indent-2em li {
	padding-left: 2.2em;
	text-indent: -2.2em;
}

ol[class*="indent"] li:before {
	display: none;
}

ol.lower-alpha {
	counter-reset: alpha;
	margin-left: .2em;
}

ol.lower-alpha &gt; li::before {
	counter-increment: alpha;
	content: counter(alpha, lower-alpha) ".";
	left: 0;
}

ol.ol-circle {
	counter-reset: olcircle;
	margin-left: .2em;
}

ol.ol-circle li {
	padding-left: 1.9em;
}

ol.ol-circle &gt; li::before {
	counter-increment: olcircle;
	content: counter(olcircle);
	background-color: #99004F;
	border-radius: 50%;
	box-sizing: border-box;
	color: #FFF;
	font-size: 1em;
	font-weight: 400;
	line-height: 1;
	height: 1.2em;
	width: 1.2em;
	padding-top: .05em;
	text-align: center;
	top: .25em;
	left: 0;
}

ol &gt; li:last-child,
ol li &gt; *:last-child {
	margin-bottom: 0;
}

body.pc ul.fz-normal li,
body.pc ol.fz-normal li {
	font-size: 16px;
}

/* @end */

/* @group link */

#main-content p.link,
ul.link-list li {
	line-height: 1.7;
	padding-left: 1.8em;
	position: relative;
}

.link a,
ul.link-list li a {
	display: inline;
	transition: all .3s;
	position: relative;
}

.link::before,
ul.link-list li::before {
	background: url("../images/icon_arrow.svg") no-repeat center / 100% auto;
	content: "";
	height: 6px;
	width: 17px;
	transform-origin: left center;
	position: absolute;
	top: calc((1.7em - 6px) / 2);
	left: 0;
}

.link a:hover,
ul.link-list li a:hover {
	text-decoration: none;
}

a.link-url {
	width: 100%;
	word-wrap: break-word;
}

.link-btn-l.link-thinner {
	border: 1px solid #99004F;
}
.link-btn-l.link-thinner span.title {
	font-size: 100%;
}

/* @end */

/* @group link-list */

ul.link-list li {
	list-style: none;
	margin-bottom: 1em;
}

ul.link-list ul {
	margin: 1em 0 0 !important;
}

ul.link-list li:last-child,
#main-content ul.link-list li &gt; *:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group link-list2 */

ul.link-list2 {
}

ul.link-list2 li {
	border-bottom: 1px solid #B2B2B2;
	color: #666;
	font-size: 13px;
	padding: 25px 0 30px 85px;
	position: relative;
}

ul.link-list2 li img {
	width: 41px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
}

ul.link-list2 li a {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: .02em;
	margin-right: .4em;
	text-decoration: none;
}

ul.link-list2 li a span {
	display: inline-block;
	line-height: 1.2;
	padding: 13px 0 7px;
	position: relative;
}

ul.link-list2 li a span::before {
	background-color: #99004F;
	content: "";
	height: 1px;
	width: 100%;
	transform-origin: left bottom;
	transform: scale(0,1);
	transition: all .5s;
	position: absolute;
	bottom: 0;
	left: 0;
}

ul.link-list2 li a span:hover::before {
	transform: scale(1,1);
}

ul[class*="link-list"].list-2col,
ul[class*="link-list"].list-3col {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

ul[class*="link-list"].list-2col li {
	margin-right: 42px;
	margin-bottom: 0;
	width: calc((100% - 42px) / 2);
}

ul[class*="link-list"].list-3col li {
	margin-right: 42px;
	margin-bottom: 0;
	width: calc((100% - (42px * 2)) / 3);
}

ul[class*="link-list"].list-2col li:nth-of-type(2n),
ul[class*="link-list"].list-3col li:nth-of-type(3n) {
	margin-right: 0;
}

ul.link-list.list-2col li:nth-of-type(n+3),
ul.link-list.list-3col li:nth-of-type(n+4) {
	margin-top: 15px;
}

/* @end */

/* @group link-btn */

.link-btn,
#main-content .link-btn {
	border: 1px solid #AD3372;
	line-height: 1.5;
	width: 100%;
	max-width: 392px;
}

.link-btn a {
	display: inline-block;
	font-weight: bold;
	letter-spacing: .02em;
	padding: .9em 2em;
	text-align: center;
	text-decoration: none;
	width: 100%;
	position: relative;
}

.link-btn a::before {
	background-color: #A31A61;
	content: "";
	height: 100%;
	width: 100%;
	opacity: 0;
	transform: scale(1.04, 1.3);
	transition: transform .4s, opacity .5s;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.link-btn a:hover {
	color: #FFF;
}

.link-btn a:hover::before {
	transform: scale(1);
	opacity: 1;
}

.link-btn.bg-white {
	background-color: transparent;
	position: relative;
	z-index: 0;
}

[class*="link-btn"].bg-white::after {
	background-color: #FFF;
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
}

.link-btn-l {
	background-color: #FFF;
	border: 2px solid #99004F;
	width: 100%;
	max-width: 500px;
	position: relative;
}

.link-btn-l::before {
	border-color: transparent #b23131 transparent transparent;
	border-style: solid;
	border-width: 0 13px 13px 0;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	top: 0;
	right: 0;
}

.link-btn-l a {
	border-color: transparent;
	border-style: solid;
	border-width: 2px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 1.3em 60px .9em 90px;
	text-decoration: none;
}

.link-btn-l a:hover {
	border-color: #B23231;
}

.link-btn-l span.icon {
	height: 55px;
	width: 48px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 26px;
}

.link-btn-l span.title {
	display: block;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: .07em;
	line-height: 1.4;
}

.link-btn-l span.date {
	color: #666;
	display: block;
	font-size: 13px;
}

.link-btn-l.btn-fz-s a {
	padding: 1.5em 40px 1.6em 60px;
}

.link-btn-l.btn-fz-s span.icon {
	height: 33px;
	width: 29px;
	left: 20px;
}

.link-btn-l.btn-fz-s span.title {
	font-size: 17px;
	letter-spacing: .03em;
	line-height: 1.5;
	text-align: center;
}

.link-btn-l.btn-fz-s span.date {
	margin-top: 3px;
}

.link-btn-ll {
	background-color: #FFF;
	border: 2px solid #B23231;
	width: 314px;
	position: relative;
}

.link-btn-ll::before {
	border-color: transparent #b23131 transparent transparent;
	border-style: solid;
	border-width: 0 13px 13px 0;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	top: 0;
	right: 0;
}

.link-btn-ll a {
	border-color: transparent;
	border-style: solid;
	border-width: 2px;
	display: block;
	height: 202px;
	padding-top: 34px;
	text-align: center;
	text-decoration: none;
	transition: border .3s;
	width: 100%;
}

.link-btn-ll a:hover {
	border-color: #B23231;
}

.link-btn-ll span.icon {
	display: block;
	margin: 0 auto 14px;
	height: 55px;
	width: 48px;
}

.link-btn-ll span.title {
	display: block;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: .07em;
}

.link-btn-ll span.date {
	color: #666;
	display: block;
	font-size: 14px;
}

.center-position .link-btn,
.center-position [class*="link-btn-l"] {
	display: inline-block;
}

[class*="link-btn"].wd-100p,
#main-content [class*="link-btn"].wd-100p,
[class*="link-btn"].wd-auto,
#main-content [class*="link-btn"].wd-auto {
	max-width: inherit;
}

.download-all {
	padding-bottom: 50px;
	position: relative;
}

.download-all::before {
	background-color: #F8F6E5;
	content: "";
	height: calc(100% - 32px);
	width: 150vw;
	position: absolute;
	bottom: 0;
	left: -25vw;
	z-index: -1;
}

.download-all .right-col {
	padding-top: 85px;
}

.download-all ul li {
	font-size: 16px;
	margin-bottom: .6em;
}

.download-all &gt; *:last-child {
	margin-bottom: 0;
}

.link-btn.info-list-btn {
	margin: 0 auto;
	margin-top: 2em;
	max-width: 220px;
}

.link-btn.info-list-btn a {
	display: inline-block;
	padding: .5em 1em !important;
	font-weight: normal;
}

.link-btn-arrow {
	background-color: #FFF;
	border: 1px solid #99004F;
	margin: auto;
}

.link-btn-arrow a {
	border: 2px solid transparent;
	display: block;
	font-weight: 500;
	padding: .8em;
	text-decoration: none;
	position: relative;
}

.link-btn-arrow a::before {
	background: url("../images/icon_arrow.svg") no-repeat center / 100% auto;
	content: "";
	height: 5px;
	width: 20px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 5px;
	left: 25px;
}

.link-btn-arrow a:hover {
	border-color: #99004F;
}

.link-btn-arrow.btn-intro {
	border-width: 2px;
	font-size: 23px;
	max-width: 614px;
}

.link-btn-arrow.btn-intro a::before {
	height: 9px;
	width: 30px;
}

/* @end */

/* @group dl */

#main-content dl {
	margin-bottom: 2em;
}

#main-content dl dt {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.8;
	margin: 0 0 .5em;
	padding-left: 1.3em;
	position: relative;
}

#main-content dl dt::before {
	border: 3px solid #99004F;
	border-radius: 100%;
	content: "";
	display: block;
	height: .5em;
	width: .5em;
	position: absolute;
	top: calc((1.8em - .5em) / 2);
	left: 0;
}

#main-content dl dd {
	line-height: 1.9;
	margin: 0 0 2.9em;
	padding-left: 1.4em;
}

#main-content dl dd:last-child,
#main-content dl dd &gt; *:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group table */

#main-content table {
	line-height: 1.7;
	margin-bottom: 2em;
	max-width: inherit;
	overflow: inherit;
	width: 100%;
}

#main-content table th {
	text-align: left;
}

#main-content table.table-normal th,
#main-content table.table-normal td {
	border-color: #E0E0E0;
	border-style: solid;
	border-width: 1px;
	padding: 10px 20px 7px;
}

#main-content table.table-normal th {
	background-color: #FAF9EE;
	text-align: left;
}

#main-content table.table-column {
}

#main-content table.table-column th,
#main-content table.table-column td,
#main-content table.table-history th,
#main-content table.table-history td {
	border-color: #E0E0E0;
	border-style: solid;
	border-width: 0 0 1px 0;
	line-height: 1.8;
	padding: 1.4em 1.9em;
}

#main-content table.table-column th,
#main-content table.table-history th {
	font-weight: normal;
}

#main-content table.table-column td {}

#main-content table.table-history th:not(.sub-head) {
	white-space: nowrap;
	width: 12.6em;
}

#main-content table.table-history th.sub-head {
	padding-left: 0;
	padding-right: 0;
	text-align: right;
	width: 4.2em;
	white-space: nowrap;
}

#main-content table.table-history td {
	padding-left: 1.6em;
	padding-right: 1.5em;
	width: calc(100% - 12.6em - 4.2em);
}

#main-content table table {
	margin-left: -1.9em;
}

#main-content table table tr:first-child th,
#main-content table table tr:first-child td {
	padding-top: 0;
}

#main-content table table tr:last-child th,
#main-content table table tr:last-child td {
	border-width: 0;
	padding-bottom: 0;
}

#main-content table td &gt; *:last-child {
	margin-bottom: 0;
}

#main-content .scroll-box {
	margin-bottom: 1.5em;
}

#main-content .scroll-box table {
	margin-bottom: 15px;
}

#main-content .scroll-box.scroll-hint table {
	white-space: nowrap;
}

/* @group テーブルスクロール用 */

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}

.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, .7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}

/* @end of scroll-hint */

#main-content table.table-ir {
}

#main-content table.table-ir th,
#main-content table.table-ir td {
	border-color: #E0E0E0;
	border-style: solid;
	border-width: 1px;
	vertical-align: middle;
}

#main-content table.table-ir th {
	background-color: #F8F6E5;
	font-weight: 400;
}

#main-content table.table-ir tr:first-child th {
	text-align: center;
	height: 77px;
}

#main-content table.table-ir tr th:first-child {
	line-height: 1.5;
	padding-left: 25px;
	width: 23.3%;
}

#main-content table.table-ir tr:first-child th:first-child {
	background-color: #FFF;
}

#main-content table.table-ir td {
	width: 19%;
	height: 75px;
}
#main-content table.table-ir td a {
	display: block;
	height: 43px;
	width: 32px;
	margin: auto;
	text-decoration: none;
	position: relative;
}

#main-content table.table-ir td a::before {
	background: url("../images/icon_pdf.svg") no-repeat center / 100% auto;
	content: "";
	height: 100%;
	width: 100%;
	transition: all .5s;
	position: absolute;
	top: 0;
	left: 0;
}

#main-content table.table-ir td a span {
	display: none;
}

#main-content table.table-column.table-medical th,
#main-content table.table-column.table-medical td {
	padding: 1.2em 1.5em !important;
}

#main-content table.table-column.table-medical th {
	padding: 1.2em 1.7em !important;
	position: relative;
	border: none;
}

#main-content table.table-column.table-medical th::before {
	position: absolute;
	content: '';
	height: 1px;
	width: calc(100% - 10px);
	background: #E0E0E0;
	left: 0;
	bottom: 0;
}

/* @end of table */

/* @group dl.qa */

#main-content dl.qa &gt; dt {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: .03em;
	margin-bottom: 1.7em;
	padding-left: 3em;
}

#main-content dl.qa &gt; dt::before {
	background: url("../images/icon_qa_q.svg") no-repeat left top / 100% auto;
	border: none;
	border-radius: 0;
	height: 40px;
	width: 40px;
	top: 0;
	left: 0;
}

#main-content dl.qa &gt; dd {
	border-bottom: 1px dotted #000;
	padding: 6px 0 2.7em 3.7em;
	margin-bottom: 50px;
	position: relative;
}

#main-content dl.qa &gt; dd::before {
	background: url("../images/icon_qa_a.svg") no-repeat left top / 100% auto;
	content: "";
	height: 40px;
	width: 40px;
	position: absolute;
	top: 0;
	left: 0;
}

#main-content dl.qa dd:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group accordion */

#main-content .accordion {
	margin-bottom: 2em;
}

#main-content .accordion dl &gt; div {
	border: 1px solid #B84D84;
	margin-bottom: 25px;
}

#main-content .accordion dl,
#main-content .accordion dl &gt; div:last-child,
#main-content .accordion dl &gt; div &gt; *:last-child {
	margin-bottom: 0;
}

#main-content .accordion div &gt; dt {
	cursor: pointer;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: .02em;
	margin-bottom: 0;
	padding: 0 66px 0 0;
	position: relative;
}

#main-content .accordion div &gt; dt::before,
#main-content .accordion div &gt; dt::after {
	background-color: #99004F;
	border: none;
	border-radius: 0;
	content: "";
	height: 2px;
	width: 14px;
	margin: auto;
	transition: all 0.5s;
	position: absolute;
	top: 0;
	bottom: 0;
	left: auto;
	right: calc((66px - 14px) / 2);
}

#main-content .accordion div &gt; dt::after {
	transform-origin: center;
	transform: rotate(90deg);
}

#main-content .accordion div &gt; dt.open::after {
	transform: rotate(0deg);
}

#main-content .accordion div &gt; dt span {
	background-color: #F8F6E5;
	display: block;
	padding: 14px 23px 16px;
	position: relative;
}

#main-content .accordion div &gt; dd {
	display: none;
	margin-bottom: 0;
	padding: 28px 35px 35px;
}

/* @group accordion-block */

.accordion-block {
	display: none;
}

#main-content .accordion-btn {
	cursor: pointer;
	font-weight: bold;
	height: 54px;
	margin: 2.4em auto 0;
	width: 330px;
	text-align: center;
	position: relative;
}

.accordion-btn::before {
	background-color: #A31A61;
	content: "";
	height: 100%;
	width: 100%;
	opacity: 0;
	transform: scale(1.04, 1.3);
	transition: transform .4s, opacity .5s;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.accordion-btn:hover {
	color: #FFF;
}

.accordion-btn:hover::before {
	transform: scale(1);
	opacity: 1;
}

.accordion-btn span {
	height: 16px;
	line-height: 1;
	margin: auto;
	transition: all .5s;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.accordion-btn span:nth-of-type(2) {
	z-index: 1;
	opacity: 0;
}

.accordion-btn span::before,
.accordion-btn span::after {
	background-color: #99004F;
	border: none;
	border-radius: 0;
	content: "";
	height: 2px;
	width: 14px;
	margin: auto;
	transition: all 0.5s;
	position: absolute;
	top: 0;
	bottom: 0;
	left: auto;
	right: calc((66px - 14px) / 2);
}

.accordion-btn span::after {
	transform-origin: center;
	transform: rotate(90deg);
}

.accordion-btn:hover span::before,
.accordion-btn:hover span::after {
	background-color: #FFF;
}

.accordion-btn.open span:nth-of-type(1) {
	opacity: 0;
}

.accordion-btn.open span:nth-of-type(2) {
	opacity: 1;
}

.accordion-btn.open span::after {
	transform: rotate(0deg);
}

/* @end */

/* @end of accordion */

/* @group link-anchor */

.link-anchor {
	margin-bottom: 60px;
}

.link-anchor ul {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin-bottom: 0;
}

.link-anchor ul li {
	border-right: 1px dotted #000;
	min-height: 82px;
}

.link-anchor.link-2col ul li {
	width: calc(100% / 2);
}

.link-anchor.link-3col ul li {
	width: calc(100% / 3);
}

.link-anchor.link-4col ul li {
	width: calc(100% / 4);
}

.link-anchor.link-2col ul li:nth-of-type(2n+1),
.link-anchor.link-3col ul li:nth-of-type(3n+1),
.link-anchor.link-4col ul li:nth-of-type(4n+1) {
	border-left: 1px dotted #000;
}

.link-anchor.link-2col ul li:nth-of-type(n+3),
.link-anchor.link-3col ul li:nth-of-type(n+4),
.link-anchor.link-4col ul li:nth-of-type(n+5) {
	margin-top: 1.5em;
}

.link-anchor ul li a {
	background-color: transparent;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	line-height: 1.4;
	height: 100%;
	padding: 1em 1em 2em;
	text-align: center;
	text-decoration: none;
	position: relative;
}

.link-anchor ul li a:hover {
	background-color: #F8F6E5;
}

.link-anchor ul li a::before {
	background: url("../images/icon_triangle.svg") no-repeat center / 100% auto;
	content: "";
	height: 6px;
	width: 12px;
	margin: auto;
	transform: translateZ(0);
	position: absolute;
	bottom: 1em;
	left: 0;
	right: 0;
}

.link-anchor ul li a:hover::before {
	animation-name: hvr-icon-hang-sink, hvr-icon-hang;
	animation-duration: .3s, 1.5s;
	animation-delay: 0s, .3s;
	animation-timing-function: ease-out, ease-in-out;
	animation-iteration-count: 1, infinite;
	animation-fill-mode: forwards;
	animation-direction: normal, alternate;
}

@keyframes hvr-icon-hang {
	0% {
		transform: translateY(6px);
	}
	50% {
		transform: translateY(2px);
	}
	100% {
		transform: translateY(6px);
	}
}

@keyframes hvr-icon-hang-sink {
	100% {
		transform: translateY(6px);
	}
}

/* @end */

/* @group link-pattern */

[class*="wd-full"].link-pattern {
	padding-top: 40px;
	padding-bottom: 20px;
}

.link-pattern .col a {
	display: block;
	text-decoration: none;
}

.link-pattern .col figure {
	overflow: hidden;
}

.link-pattern p.link {
	margin-bottom: .7em !important;
	text-decoration: underline;
}

.link-pattern a p:not(.link) {
	color: #4D4D4D;
}

.link-pattern .col a &gt; *:last-child {
	margin-bottom: 0 !important;
}

.link-pattern .col a:hover figure img {
	transform: scale(1.05);
}

.link-pattern .col a:hover p.link {
	text-decoration: none;
}

/* @end */

/* @group index-pattern */

[class*="index-pattern"][class*="bg-full"]{
	padding-bottom: 55px;
}

[class*="index-pattern"] a {
	background-color: #FFF;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	display: block;
	margin: 30px 0 0 30px;
	padding-bottom: 32px;
	text-decoration: none;
	text-align: center;
	position: relative;
}

[class*="index-pattern"] a::before {
	border-color: transparent transparent #99004F transparent;
	border-style: solid;
	border-width: 0 0 15px 15px;
	content: "";
	height: 0;
	width: 0;
	transition: all .5s;
	position: absolute;
	bottom: 0;
	right: 0;
	opacity: 0;
}

[class*="index-pattern"] a:hover::before {
	opacity: 1;
}

[class*="index-pattern"] a.link-normal {
	background: transparent;
	box-shadow: none;
	display: inline;
	margin: 0;
	padding: 0;
	text-align: left;
	text-decoration: underline;
}

[class*="index-pattern"] a.link-normal:hover {
	text-decoration: none;
}

[class*="index-pattern"] a.link-normal:hover::before {
	display: none;
}

[class*="index-pattern"] .col figure {
	margin: 0 0 -30px;
	width: 101.4%;
	overflow: hidden;
	position: relative;
	top: -30px;
	left: -30px;
}

[class*="index-pattern"] .col figure img {
	transform: scale(1);
	transition: all .5s;
}

[class*="index-pattern"] .col a:hover figure img {
	transform: scale(1.05);
}

[class*="index-pattern"] .col div p:not(.head) {
	font-size: 15px;
}

#main-content [class*="index-pattern"] .col figure + p:not(.head) {
	line-height: 1.5;
	margin: 28px 0 0;
}

#main-content [class*="index-pattern"] .col .head {
	font-size: 22px;
	line-height: 1.4;
	margin-top: 1em;
}

#main-content [class*="index-pattern"] .col p + .head {
	margin-top: 10px;
}

[class*="index-pattern"] .col .head .en {
	display: block;
	font-size: 11px;
	letter-spacing: .04em;
	line-height: 1.4;
	margin-top: .5em;
}

[class*="index-pattern"] .col.coming-soon a {
	align-items: center;
	pointer-events: none;
}

#main-content [class*="index-pattern"] .coming-soon p {
	color: #808080;
	font-size: 17px;
	letter-spacing: .03em;
}

[class*="index-pattern"] .coming-soon a::before {
	display: none;
}

body.pc .index-pattern.pattern1-1 .col:nth-of-type(n+3),
body.pc .index-pattern.pattern1-1-1 .col:nth-of-type(n+4),
body.pc .index-pattern.pattern1-1-1-1 .col:nth-of-type(n+5) {
	margin-top: 2.5em;
}

body.pc .index-pattern .head {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* @group index-pattern2 */

.index-pattern2 {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.index-pattern2[class*="bg-full"]::before {
	height: calc(100% - 34px);
}

.index-pattern2 &gt; .col {
	margin: 0 32px 0 0;
	width: calc((100% - 32px) / 2);
}

.index-pattern2 &gt; .col:nth-of-type(n+3) {
	margin-top: 30px;
}

.index-pattern2 &gt; .col:nth-of-type(2n) {
	margin-right: 0;
}

.index-pattern2 &gt; .col a {
	border: 1px solid transparent;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	height: 100%;
	margin: 0;
	padding: 25px 0 28px 0;
}

.index-pattern2 &gt; .col a::before {
	display: none;
}

.index-pattern2 .col .left-col {
	float: none;
	width: 216px;
}

.index-pattern2 .col .right-col {
	float: none;
	padding-top: 32px;
	width: 215px;
}

#main-content .index-pattern2 .clf {
	margin-bottom: 13px;
}

.index-pattern2 .col figure {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	height: 126px;
	width: 216px;
	position: static;
}

.index-pattern2 .col figure img {
	transform: scale(1) !important;
}

#main-content .index-pattern2 .col .head {
	font-size: 20px;
	letter-spacing: .06em;
}

#main-content .index-pattern2 .right-col p {
	line-height: 1.5;
	margin-bottom: 0;
}

.index-pattern2 a:hover {
	border-color: #AD3372;
}

/* @end */

/* @group index-pattern3 */

body.pc .index-pattern3[class*="bg-full"] {
	padding-bottom: 60px;
}

.index-pattern3[class*="bg-full"]::before {
	height: calc(100% - 130px);
}

.index-pattern3 .col:nth-of-type(n+3) {
	margin-top: 6px;
}

.index-pattern3 .col:nth-of-type(2n) {
	margin-top: 40px;
}

.index-pattern3.pattern1-1-1 .col:nth-of-type(3n) {
	margin-top: 80px;
}

.index-pattern3 .col:nth-of-type(n+3):nth-of-type(2n) {
	margin-top: 46px;
}

.index-pattern3 .col a {
	margin: 42px 0 0 40px;
}

.index-pattern3 .col figure {
	margin: 0 0 -40px;
	width: 100%;
	top: -40px;
	left: -40px;
}

#main-content .index-pattern3 .col .head {
	font-size: 25px;
	font-weight: 500;
	margin-top: 1em;
	line-height: 1.3;
}

#main-content .index-pattern3 .col .head span:not(.en) {
	font-size: 19px;
}

#main-content .index-pattern3 .col .head .en {
	margin-top: 1em;
}

body.pc .index-pattern3.and-pattern4[class*="bg-full"] {
	padding-bottom: 50px;
}

body.pc .index-pattern3.and-pattern4[class*="bg-full"]::before {
	height: calc(100% - 80px);
}

.index-pattern3.and-pattern4 .col figure {
	margin-bottom: -10px;
}

#main-content .index-pattern3.and-pattern4 .col p:not(.head) {
	color: #333;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	margin: 0;
}

#main-content .index-pattern3.and-pattern4 .col p.head {
	font-size: 22px;
	font-weight: 500;
	margin: 7px 0 5px;
}

.index-pattern3.and-pattern4 .col:nth-of-type(2n) {
	margin-top: 0;
}

body.pc .and-pattern4 .col:nth-of-type(n+3) {
	margin-top: 40px !important;
}

#main-content [class*="index-pattern"] .col a &gt; *:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group index-pattern4 */

.index-pattern4 a {
	border: 1px solid transparent;
	display: table;
	min-height: 146px;
	margin: 0;
	padding: 1em 3em;
	width: 100%;
}

.index-pattern4 a::before {
	background: url("../images/icon_arrow.svg") no-repeat center / 100% auto;
	border: none;
	content: "";
	display: block;
	height: 4px;
	width: 20px;
	margin: auto;
	top: 0;
	bottom: 5px;
	left: 25px;
	right: auto;
	opacity: 1;
}

.index-pattern4 a:hover {
	border-color: #AD3372;
}

.index-pattern4 a:hover::before {
	left: 30px;
}

.index-pattern4 a div {
	display: table-cell;
	vertical-align: middle;
}

#main-content .index-pattern4 .col p:not(.head) {
	color: #333;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.4;
	margin: 0;
}

#main-content .index-pattern4 .col p.head {
	font-weight: 500;
	letter-spacing: .05em;
	margin: 5px 0 0;
}

.index-pattern4.medical a {
	padding: 0em 3em;
}

#main-content .index-pattern4.medical .col p:not(.head) {
	font-size: 14px !important;
	margin-top: 10px;
}

/* @end */

/* @group lower-nav */

.lower-nav {
	display: flex;
	align-items: stretch;
	max-width: 1500px;
	min-width: 1064px;
	margin: 0 auto 2em;
	position: relative;
}

.lower-nav::before {
	background-color: #F6F2DF;
	content: "";
	height: 100%;
	width: 150vw;
	position: absolute;
	top: 0;
	left: -25vw;
	z-index: -1;
}

.lower-nav [class*="col"] {
	border-color: #FFF;
	border-style: solid;
	border-width: 0 0 0 1px;
	width: calc(100% / 4);
}

.lower-nav [class*="col"]:first-child {
	border-width: 0;
}

.lower-nav .head {
	margin-bottom: 0 !important;
	position: relative;
}

.lower-nav .head::before {
	background-color: rgba(255,255,255,1);
	content: "";
	height: 100%;
	width: 100%;
	transition: all .5s;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.lower-nav .head:hover::before {
	opacity: 1;
}

.lower-nav .head a {
	display: block;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.4;
	height: 221px;
	padding-top: 123px;
	text-align: center;
	text-decoration: none;
	position: relative;
	z-index: 0;
}

.lower-nav .head .en {
	display: block;
	font-size: 11px;
	letter-spacing: .04em;
	line-height: 1;
	margin-top: 14px;
}

.lower-nav .head + ul.list {
	margin-top: 1.7em;
}

.lower-nav ul.list {
	margin: 0 20px 0 30px;
}

.lower-nav ul.list li {
	margin-bottom: .8em;
}

/* @end */

/* @group index-pattern5 */

.index-pattern5[class*="bg-full"] {
	padding-bottom: 60px;
}

.index-pattern5 .col:nth-of-type(n+4) {
	margin-top: 2.6em;
}

.index-pattern5 .col &gt; div{
	margin: 0;
}

.index-pattern5 .col a {
	background-color: #FFF;
	border: 1px solid transparent;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	margin: 0;
	padding: 37px 40px 25px;
	text-align: center;
}

.index-pattern5 .col a::before {
	display: none;
}

.index-pattern5 .col a:hover {
	border-color: #AD3372;
}

#main-content .index-pattern5 .col .head {
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: .05em;
	margin: 0 0 1.1em;
}

#main-content .index-pattern5 .col .head + p {
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 1.3em;
	text-align: left;
}

#main-content [class*="index-pattern"] .col .more {
	font-size: 14px;
	margin-bottom: 0;
	text-align: right;
}

#main-content [class*="index-pattern"] .col .more span {
	display: inline-block;
	padding-bottom: 2px;
	overflow: hidden;
	position: relative;
}

[class*="index-pattern"] .col .more span::before {
	background-color: #99004F;
	content: "";
	height: 1px;
	width: 5.3em;
	position: absolute;
	bottom: 0;
	right: -.05em;
}

[class*="index-pattern"] .col a:hover .more span::before {
	animation: borderReturnToLeft .5s;
}

@keyframes borderReturnToLeft {
	0%{
		opacity: 1;
		transform: translateX(0);
	}
	49.9%{
		opacity: 0;
		transform: translateX(100%);
	}
	50%{
		opacity: 1;
		transform: translateX(-100%);
	}
	100%{
		transform: translateX(0);
	}
}

/* @end */

/* @group index-pattern-1col */

.index-pattern-1col.bg-full-right::before {
	height: calc(100% - 40px);
	width: calc(50% + 385px);
	left: auto;
	right: 0;
}

.index-pattern-1col .col {
	margin: auto;
	max-width: 1140px;
	padding: 0 20px;
}

.index-pattern-1col a {
	background-color: transparent;
	box-shadow: none;
	display: flex;
	justify-content: flex-end;
	margin: 0;
	padding: 77px 0 0;
	position: relative;
}

.index-pattern-1col a::before {
	display: none;
}

.index-pattern-1col .col figure {
	max-width: 960px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.index-pattern-1col .col a &gt; div {
	background-color: #FFF;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	padding: 44px 29px 27px 35px;
	width: 390px;
}

#main-content .index-pattern-1col .col .head {
	font-size: 26px;
	font-weight: 500;
	margin: 0 0 1.1em;
	text-align: center;
}

#main-content .index-pattern-1col .col .head + p {
	line-height: 1.6;
	margin-bottom: .2em;
	text-align: left;
}

/* @end */

/* @group index-pattern-btn */

.index-pattern-btn[class*="bg-full"]::before {
	height: calc(100% - 80px);
}

.index-pattern-btn &gt; div {
	margin: auto;
	max-width: cacl(1169px + 40px);
	padding: 135px 20px 0;
}

.index-pattern-btn figure {
	margin: 0;
	width: 540px;
	position: absolute;
	top: 0;
	right: calc(50% + 79px);
}

.index-pattern-btn figure img {
	box-shadow: 0 0 30px 5px rgba(0, 0, 0,.04);
}

.index-pattern-btn .col {
	margin-bottom: 30px;
	padding-left: calc(50% - 22px);
}

.index-pattern-btn &gt; .col:last-child {
	margin-bottom: 0;
}

.index-pattern-btn .col a {
	background-color: #FFF;
	border: 1px solid transparent;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	display: block;
	margin: 0;
	max-width: 572px;
	padding: 0 90px 28px 28px;
	overflow: hidden;
}

.index-pattern-btn .col a::before,
.index-pattern-btn .col a::after {
	background: url("../images/icon_arrow.svg") no-repeat center / 100% auto;
	border: none;
	content: "";
	height: 5px;
	width: 25px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 3px;
	right: 28px;
	opacity: 1;
}

.index-pattern-btn .col a::after {
	transform: translateX(-100%);
	opacity: 0;
}

.index-pattern-btn .col a:hover {
	border-color: #AD3372;
}

.index-pattern-btn .col a:hover::before {
	animation: arrowbefore .5s forwards;
}

.index-pattern-btn .col a:hover::after {
	animation: arrowafter .5s forwards;
}

@keyframes arrowbefore {
	100% {
		transform: translateX(100%);
		opacity: 0;
	}
}

@keyframes arrowafter {
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

#main-content .index-pattern-btn .col .head {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0em;
	margin: 1.5em 0 .9em;
	text-align: left;
}

#main-content .index-pattern-btn .col p:not(.head) {
	font-size: 15px;
	line-height: 1.7;
	text-align: left;
}

/* @end */

/* @group index-pattern-list */

.pattern-list-area2 {
	padding-bottom: 40px;
}

section[class*="pattern-list-area"] + section[class*="pattern-list-area"] {
	margin-top: -35px;
}

[class*="index-pattern-list"] {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.index-pattern-list.bg-full-right::before {
	height: calc(100% - 42px);
}

.index-pattern-list {
	justify-content: flex-end;
	margin-bottom: 40px;
}

#main-content .index-pattern-list .head {
	background: #FFF;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
	height: 240px;
	margin: 0;
	padding: 109px 0 0;
	width: 240px;
	position: absolute;
	top: 0;
	left: 0;
}

#main-content .index-pattern-list .head img[class*="icon"] {
	margin: auto;
	position: absolute;
	top: 49px;
	left: 2px;
	right: 0;
}

#main-content .index-pattern-list .head img.icon01 {
	width: 53px;
	left: 4px;
}

#main-content .index-pattern-list .head img.icon02 {
	width: 36px;
	top: 44px;
}

#main-content .index-pattern-list .head img.icon03 {
	width: 35px;
	top: 42px;
}

#main-content .index-pattern-list .head img.icon04 {
	width: 49px;
	top: 50px;
	left: 20px;
}

#main-content [class*="index-pattern-list"] h2[class*="head"]::before {
	display: none;
}

.index-pattern-list &gt; div {
	padding-top: 85px;
	width: 704px;
}

[class*="index-pattern-list"] &gt; div &gt; *:last-child {
	margin-bottom: 0;
}

#main-content .index-pattern-list &gt; div &gt; p:first-child {
	margin-bottom: 1.3em;
}

[class*="index-pattern-list"] ul li {
	border-color: transparent;
	border-style: solid;
	border-width: 0 0 2px;
}

.index-pattern-list ul li:last-of-type {
	border-width: 0;
}

[class*="index-pattern-list"] ul li a {
	box-shadow: none;
	display: block;
	font-size: 18px;
	line-height: 1.5;
	margin: 0;
	padding: 17px 60px 18px 26px;
	text-align: left;
	transform: translateX(0);
}

[class*="index-pattern-list"] ul li a::before {
	background: url("../images/icon_arrow.svg") no-repeat center / 100% auto;
	border: none;
	content: "";
	height: 7px;
	width: 25px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 1px;
	right: 20px;
	opacity: 1;
}

[class*="index-pattern-list"] ul li a:hover {
	background-color: rgba(255,255,255,.8);
	transform: translateX(20px);
}

[class*="index-pattern-list"] .list-col li a {
	padding: 17px 60px 18px 31px;
}

[class*="index-pattern-list"] .list-col li a::before {
	bottom: 0;
	right: 31px;
}

#main-content .index-pattern-list2 h2.head-img {
	background: none;
	box-shadow: 5px 5px 25px 0 rgba(0, 0, 0, .1);
	margin: 0;
	padding: 0;
	width: 520px;
}

#main-content .index-pattern-list2 h2.head-img img {
	vertical-align: middle;
}

.index-pattern-list2 .list-col {
	padding-top: 110px;
	width: 455px;
}

.index-pattern-list3[class*="bg-full"]::before {
	height: calc(100% - 78px);
}

.index-pattern-list3 .col {
	width: 492px;
}

.index-pattern-list3 .col a {
	margin: 40px 0 0 40px;
	padding-bottom: 40px;
}

.index-pattern-list3 .col figure {
	margin-bottom: -15px;
	width: 100%;
	top: -40px;
	left: -40px;
}

#main-content .index-pattern-list3 .col .head {
	font-size: 24px;
	margin: 0 0 1.1em;
}

#main-content .index-pattern-list3 .col p:not(.head) {
	font-size: 14px;
	line-height: 1.7;
	padding: 0 30px;
	text-align: left;
}

.index-pattern-list3 .list-col {
	padding-top: 128px;
	width: 481px;
}

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

	.index-pattern-list3 .list-col li a {
		padding-left: 26px;
	}

	.index-pattern-list3 .list-col li a::before {
		right: 21px;
	}

}

/* @end */

/* @end of index-pattern */

/* @group info-area */

.info-area {
	margin-bottom: 2em;
}

.info-area ul {
	margin-bottom: 0;
}

.info-area ul li {
	border-bottom: 1px dotted #888;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 1em .7em;
}

#main-content .info-area li p {
	margin-bottom: 0;
}

.info-area .date-cate {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.info-area .date-cate .date {
	width: 7em;
	line-height: 1.4;
}

.info-area .date-cate .cate {
	background-color: #99004F;
	color: #FFF;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	padding: .3em .7em;
	text-align: center;
	width: 120px;
}

.news-detail-area .info-area .date-cate .cate {
	width: auto;
}

.info-area ul li &gt; div {
	margin-left: 1.2em;
	width: calc(100% - 8.5em - 120px - 1.2em);
}

#main-content .info-area ul li .title {
	line-height: 1.8;
}

#main-content .info-area ul li &gt; div p:not(.title) {
	color: #595959;
	font-size: 14px;
	line-height: 1.6;
}

#main-content .info-area ul li &gt; div p:not(.title),
.info-area ul li a {
	word-wrap: break-word;
}

.info-area ul li a {
	text-decoration: none;
}

.info-area ul li a:hover {
	text-decoration: underline;
	-webkit-text-decoration:underline;/* safari対策 */
}

/* @end */

/* @group index-sustainability */

@media screen and (min-width: 769px) {
.index-pattern.index-sus {
	width: 750px;
	margin: 0 auto;
}

.index-pattern.index-sus .col a {
	display: flex;
	height: 150px;
	margin: 0;
	padding-bottom: 0;
	align-items: center;
}

.index-pattern.index-sus .col a figure {
	width: 340px;
	height: 150px;
	margin: 0;
	top: 0;
	left: 0;
}

.index-pattern.index-sus .col a .head {
	width: calc(100% - 340px);
	text-align: center;
	margin-top: 0 !important;
}

.index-pattern.index-sus .col a::before {
	display: none;
}

.index-pattern.index-sus .col a::after {
	background: url("../images/icon_arrow.svg") no-repeat center / 100% auto;
	border: none;
	content: "";
	height: 7px;
	width: 25px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 1px;
	right: 20px;
	opacity: 1;
	transition: all .4s;
}

.index-pattern.index-sus .col a:hover::after {
	transform: translateX(5px);
}
}

/* @end */



/* @group pagenation */

.pagenation {
	margin: 35px 0 0;
}

.pagenation ul {
	margin-bottom: 0;
	overflow: hidden;
	text-align: center;
}

.pagenation ul li {
	display: inline-block;
	margin: 0 3px;
}

.pagenation ul li.prev {
	margin-right: 15px;
}

.pagenation ul li.next {
	margin-left: 15px;
}

.pagenation ul li a {
	display: block;
	line-height: 28px;
	height: 28px;
	width: 28px;
}

.pagenation ul li:not(.prev):not(.next) a {
	border: 1px solid #CCC;
	color: #595959;
	text-decoration: none;
}

.pagenation ul li.active:not(.prev):not(.next) a,
.pagenation ul li:not(.prev):not(.next) a:hover {
	border-color: #99004F !important;
	background-color: #99004F;
	color: #FFF !important;
}

.pagenation ul li.prev a,
.pagenation ul li.next a {
	width: auto;
}

.pagenation ul li.prev a:hover,
.pagenation ul li.next a:hover {
	background: none;
	color: #99004F;
	text-decoration: none;
}

/* @end */

/* @group medical-link-box */

.medical-link-box {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	margin-bottom: 55px;
}

.medical-link-box &gt; div {
	padding: 30px 50px 48px;
}

.medical-link-box .col-yes {
	width: calc(100% - 296px);
}

.medical-link-box .col-no {
	background-color: rgba(0,0,0,.04);
	border-left: 1px solid #FFF;
	width: 295px;
}

#main-content .medical-link-box .head {
	font-size: 21px;
	letter-spacing: .1em;
	margin-bottom: 1.1em;
	text-align: center;
}

.medical-link-box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	margin-bottom: 0;
}

.medical-link-box ul li {
	border: 1px solid #99004F;
	background-color: #FFF;
}

.medical-link-box .col-yes ul li {
	margin-right: 20px;
	width: calc((100% - (20px * 2)) / 3);
}

.medical-link-box .col-yes ul li:nth-of-type(3n) {
	margin-right: 0;
}

.medical-link-box .col-no ul li {
	width: 100%;
}

.medical-link-box ul li a {
	display: block;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: .03em;
	padding: 15px 0 17px;
	text-align: center;
	text-decoration: none;
	position: relative;
	z-index: 0;
}

.medical-link-box ul li a::before {
	background-color: #99004F;
	content: "";
	height: 100%;
	width: 100%;
	opacity: 0;
	transform: scale(1.07, 1.3);
	transition: transform .4s, opacity .5s;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.medical-link-box ul li a:hover {
	color: #FFF;
}

.medical-link-box ul li a:hover::before {
	transform: scale(1);
	opacity: 1;
}

/* @end */

/* @group form */

#main-content .form-area div.row {
	display: flex;
	align-items: stretch;
	width: 100%;
	position: relative;
}

#main-content .form-area div.row::before {
	border-bottom: 1px solid #E0E0E0;
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#main-content .form-area div.cell1,
#main-content .form-area div.cell2 {
	border-bottom: 1px solid #CCC;
	line-height: 1.5;
	vertical-align: top;
}

#main-content .form-area div.cell1 {
	font-weight: 500;
	padding: 32px 17px 22px;
	width: 260px;
	position: relative;
}

#main-content .form-area div.cell2 {
	padding: 25px 40px 22px;
	width: calc(100% - 260px);
}

#main-content .form-area div.cell1 .required {
	color: #99004F;
	margin-left: 3px;
}

#main-content .form-area div.cell2 p {
	margin-bottom: 0;
}

#main-content .form-area div.cell2 p.caution {
	font-size: 15px;
	margin-top: .5em;
}

#main-content .form-area div.cell2 input,
#main-content .form-area div.cell2 select,
#main-content .form-area div.cell2 textarea {
	font-size: 15px;
}

#main-content .form-area div.cell2 input[type="text"],
#main-content .form-area div.cell2 input[type="email"],
#main-content .form-area div.cell2 input[type="tel"] {
	background-color: #F5F5F5;
	border: 0px solid #ccc;
	box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.1) inset;
	height: 38px;
	padding: 0 0.5em;
	width: 100%;
}

#main-content .form-area div.cell2 input.text-s {
	width: 230px;
}

#main-content .form-area div.cell2 input.text-s + input.text-s,
#main-content .form-area div.cell2 input.text-s + span.hyphen + input.text-s {
	margin-left: 30px;
}

#main-content .form-area div.cell2 input.text-s + span.hyphen {
	position: relative;
}

#main-content .form-area div.cell2 input.text-s + span.hyphen::before {
	background-color: #666;
	content: "";
	height: 1px;
	width: 12px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 9px;
}

#main-content .form-area div.cell2 input::placeholder {
	color: #666;
	font-size: 15px;
}

#main-content .form-area div.cell2 input#postcode {
	margin-left: 1em;
}

#main-content .form-area div.cell2 input#postcode + input {
	margin-top: 1em;
}

#main-content .form-area div.cell2 textarea {
	background-color: #F5F5F5;
	border: 0 solid #ccc;
	box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.1) inset;
	line-height: 1.8;
	height: auto;
	min-height: 150px;
	padding: .5em;
	resize: vertical;
	width: 100%;
	margin: 0;
}

#main-content .form-area div.cell2 select {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
	background: #F5F5F5 url(../images/icon_select.png) no-repeat right top / auto 100%;
	border: 0px solid #ccc;
	box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.1) inset;
	color: #666;
	height: 2.5em;
	min-width: 300px;
	max-width: 95%;
	padding: 0 40px 0 .5em;
}

#main-content select::-ms-expand {
	display: none;
}

#main-content .form-area div.cell2 select::-ms-expand {
	display: none;
}

#main-content .form-area div.cell2 .input-group.form-file {
	width: 300px;
}

#main-content .form-area div.cell2 .input-group.form-file #inputFileReset {
	background-color: #d9dcdf;
	border-color: #FFF;
	border-width: 0 0 0 1px;
	border-radius: 0;
	font-size: 14px;
	font-weight: 400;
}

#main-content .form-area div.cell2 ul.form-checkbox,
#main-content .form-area div.cell2 ul.form-list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin-bottom: -1em;
}

#main-content .form-area div.cell2 ul.form-checkbox li,
#main-content .form-area div.cell2 ul.form-list li {
	margin-bottom: 1em;
	min-width: calc(100% / 4);
}

#main-content .form-area div.cell2 ul.form-checkbox.list-1col li,
#main-content .form-area div.cell2 ul.form-list.list-1col li {
	min-width: 100%;
}

#inquiry .form-area div.cell2 ul.form-checkbox.list-2col li,
#inquiry .form-area div.cell2 ul.form-list.list-2col li {
	min-width: calc(100% / 2);
}

#main-content .form-area div.cell2 input[type="radio"],
#main-content .form-area div.cell2 input[type="checkbox"] {
	display: inline-block;
	margin-right: .5em;
}

#main-content .form-area div.cell2 input[type="radio"] ~ label,
#main-content .form-area div.cell2 input[type="checkbox"] + label,
#main-content .form-area div.cell2 input[type="checkbox"] ~ [class*="label"] {
	position: relative;
	display: inline-block;
	margin-right: 1em;
	line-height: 1.4;
	vertical-align: middle;
	cursor: pointer;
}

@media (min-width: 1px) { /* 〜IE8は適用外*/
	#main-content .form-area div.cell2 input[type="radio"],
	#main-content .form-area div.cell2 input[type="checkbox"] {
		display: none;
		margin: 0;
	}

	#main-content .form-area div.cell2 input[type="radio"] ~ label,
	#main-content .form-area div.cell2 input[type="checkbox"] + label,
	#main-content .form-area div.cell2 input[type="checkbox"] ~ [class*="label"] {
		padding: 0 0 0 26px;
	}

	#main-content .form-area div.cell2 input[type="radio"] ~ label::before,
	#main-content .form-area div.cell2 input[type="checkbox"] + label::before,
	#main-content .form-area div.cell2 input[type="checkbox"] ~ [class*="label"]::before {
		background: #FFF;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		content: "";
		display: block;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
	}

	#main-content .form-area div.cell2 input[type="radio"] ~ label::before {
		background-color: #F5F5F5;
		box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.2) inset;
		border-radius: 30px;
		height: 18px;
		width: 18px;
	}

	#main-content .form-area div.cell2 input[type="checkbox"] + label::before,
	#main-content .form-area div.cell2 input[type="checkbox"] ~ [class*="label"]::before {
		background-color: #F5F5F5;
		box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.2) inset;
		height: 16px;
		width: 16px;
	}

	#main-content .form-area div.cell2 input[type="radio"]:checked ~ label::after,
	#main-content .form-area div.cell2 input[type="checkbox"]:checked + label::after,
	#main-content .form-area div.cell2 input[type="checkbox"]:checked ~ [class*="label"]::after {
		content: "";
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		position: absolute;
		top: 50%;
	}

	#main-content .form-area div.cell2 input[type="radio"]:checked ~ label::after {
		background: #99004F;
		border-radius: 8px;
		height: 8px;
		margin: auto;
		width: 8px;
		left: 5px;
		top: 0;
		bottom: 0;
	}

	#main-content .form-area div.cell2 input[type="checkbox"]:checked + label::after,
	#main-content .form-area div.cell2 input[type="checkbox"]:checked ~ [class*="label"]::after {
		left: 2px;
		width: 12px;
		height: 7px;
		margin-top: -8px;
		border-left: 3px solid #99004F;
		border-bottom: 3px solid #99004F;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: calc(50% + 3px);
	}
}

#main-content .form-area div.cell2.error input,
#main-content .form-area div.cell2.error textarea,
#main-content .form-area div.cell2.error select,
#main-content .form-area div.cell2 input.inputError,
#main-content .form-area div.cell2 textarea.inputError,
#main-content .form-area div.cell2 select.inputError {
	border: 2px solid #e60012;
}

#main-content .form-area div.error-msg {
	color: #CB0361;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: .5em;
	padding-left: 1.5em;
	position: relative;
}

#main-content .form-area div.error-msg::before {
	content: "!";
	color: #fff;
	background: #CB0361;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 3px;
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	font-size: 13px;
}

#main-content .form-area div.cell2 div.error-msg ~ input,
#main-content .form-area div.cell2 div.error-msg ~ textarea {
	border: 2px solid #CB0361;
}

#main-content .other-field {
	display: flex;
	flex-wrap: wrap;
	margin-top: 17px;
}

#main-content .form-area li .other-field {
	margin-left: 25px;
	margin-top: 10px;
}

#main-content .other-field p {
	margin-bottom: 5px !important;
}

#main-content .other-field .error-msg {
	margin-left: 20px;
}


#main-content .form-area h3.privacy-title {
	border: none;
	font-size: 18px;
	letter-spacing: 0;
	margin-bottom: 1em;
	padding: 0;
}

#form-privacy {
	background: none;
	border: 1px solid #ccc;
	box-shadow: none;
	margin: 0 0 60px;
	overflow: inherit;
	padding: 0;
	position: relative;
}

#form-privacy::before {
	content: "";
	display: block;
	padding-top: 20%;
}

#form-privacy iframe {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

#main-content #privacy-box {
	background-color: #F5F5F5;
	box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.1) inset;
	font-size: 15px;
	height: 162px;
	margin-bottom: 80px;
	padding: 1.5em 1.9em;
	overflow-y: auto;
	width: 100%;
}

#main-content #privacy-box &gt; div {
	padding: 25px;
}

#main-content #privacy-box &gt; div &gt; *:last-child {
	margin-bottom: 0;
}

#main-content .form-area #approval-check {
	margin-bottom: 1.5em;
}

#main-content .form-area #approval-check div.cell2 {
	border: none;
	display: block;
	padding: 0;
	text-align: center;
	width: 100%;
}

.form-area .form-btn-area {
	display: flex;
	justify-content: center;
	align-items: stretch;
}

#main-content .form-btn-area .form-btn {
	margin: 0 40px 0 0;
}

#main-content .form-btn-area .form-btn:last-child {
	margin-right: 0;
}

.form-btn button {
	background-color: transparent;
	border: 2px solid #99004F;
	cursor: pointer;
	font-size: 17px;
	font-weight: 700;
	padding: .8em 0;
	width: 240px;
	position: relative;
}

.form-btn button::before {
	background-color: #99004F;
	content: "";
	height: calc(100% + 2px);
	width: 100%;
	opacity: 0;
	transform: scale(1.07, 1.3);
	transition: transform .4s, opacity .5s;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.form-btn button.btn-confirm {
	font-size: 20px;
	letter-spacing: .05em;
	width: 400px;
}

.form-btn button.btn-confirm span {
	display: block;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	margin-bottom: .5em;
}

.form-btn button.btn-confirm:not(.check_on) {
	background: #e6e6e6;
	border: 2px solid #e6e6e6;
	color: #666;
	cursor: inherit;
}

.form-btn button.check_on {
	cursor: pointer;
}

.form-btn button:hover {
	color: #FFF;
}

.form-btn button:hover::before {
	transform: scale(1);
	opacity: 1;
}

.form-btn button.btn-confirm:not(.check_on)::before {
	opacity: 0;
}

/* @end */

/* @group gmap */

.gmap {
	margin-bottom: 1em;
	width: 100%;
	position: relative;
}

.gmap::before {
	content: "";
	display: block;
	padding-top: 57.5%;
}

.gmap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

/* @end */

/* @group related-link */

.related-link {
	position: relative;
}

.related-link::before {
	background-color: #F3F1D5;
	content: "";
	height: 100%;
	width: 150vw;
	position: absolute;
	top: 0;
	left: -25vw;
	z-index: -1;
}

.related-link ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	margin: 0;
	padding: 48px 0;
}

.related-link ul li {
	border-color: rgba(0,0,0,.07);
	border-style: solid;
	border-width: 0 1px 0 0;
	height: 92px;
	width: calc(100% / 5);
}

.related-link ul li:first-of-type {
	border-width: 0 1px;
}

.related-link ul li a {
	background-color: transparent;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 1.4;
	height: 100%;
	text-decoration: none;
}

.related-link ul li a:hover {
	background-color: rgba(255,255,255,.7);
}

/* @end */

/* @end of main-content */

/* @group footer-bnr-area */

#footer-bnr-area {
	margin-bottom: 80px;
}

#footer-bnr-area &gt; div {
	margin: 0 auto;
	max-width: 1150px;
}

#footer-bnr-area a {
	display: block;
	position: relative;
}

#footer-bnr-area a::before {
	background: rgba(255,255,255,.2);
	border-radius: 100%;
	content: '';
	display: block;
	width: 0;
	height: 0;
	transform: translate(-50%, -50%);
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
}

#footer-bnr-area a:hover::before {
	animation: effectCircle .75s;
}

@keyframes effectCircle {
	0% {
		opacity: 1;
	}
	40% {
		opacity: 1;
	}
	100% {
		width: 100%;
		height: 200%;
		opacity: 0;
	}
}

/* @end */

/* @group float-nav */

#float-nav {
	transform: translateY(-50%);
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 10;
}

#float-nav &gt; ul {
	box-shadow: 0 0 15px 0 rgba(0, 0, 0,.08);
	margin: 0;
	width: 145px;
}

#float-nav ul li {
}

#float-nav ul li a,
#float-nav ul li.parent &gt; p {
	cursor: pointer;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 0 0 0 1.1em;
	text-decoration: none;
	width: 100%;
	position: relative;
}

#float-nav &gt; ul &gt; li {
	border-color: #AD3372;
	border-style: solid;
	border-width: 0 0 1px;
	position: relative;
}

#float-nav &gt; ul &gt; li::before {
	background-color: #FFF;
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#float-nav &gt; ul &gt; li::after {
	background-color: #A31A61;
	content: "";
	transform-origin: 0 50%;
	transform: scaleX(0);
	transition: all .5s;
	transition-timing-function: ease-out;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
}

#float-nav &gt; ul &gt; li:hover::after,
#float-nav &gt; ul &gt; li.active::after {
	transform: scaleX(1);
	transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

#float-nav &gt; ul &gt; li &gt; a,
#float-nav ul li.parent &gt; p {
	font-size: 13px;
	line-height: 1.3;
	height: 65px;
}

#float-nav &gt; ul &gt; li &gt; a span,
#float-nav ul li.parent &gt; p span{
	display: block;
	font-size: 10px;
	letter-spacing: .05em;
	margin-top: 3px;
	width: 100%;
}

#float-nav &gt; ul &gt; li:hover &gt; a,
#float-nav ul li.parent:hover &gt; p,
#float-nav ul li.parent.active &gt; p {
	color: #FFF;
}

#float-nav ul li.parent &gt; p {
	background-color: transparent;
	cursor: pointer;
	transition: all .5s;
}

#float-nav ul li.parent &gt; p::before,
#float-nav ul li.parent &gt; p::after {
	background-color: #A31A61;
	content: "";
	height: 2px;
	width: 10px;
	margin: auto;
	transition: all .5s;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 19px;
}

#float-nav ul li.parent &gt; p::after {
	transform: rotate(90deg);
}

#float-nav ul li.parent &gt; p:hover::before,
#float-nav ul li.parent.active &gt; p::before {
	background-color: #FFF;
}

#float-nav ul li.parent &gt; p:hover::after,
#float-nav ul li.parent.active &gt; p::after {
	transform: rotate(0deg);
	opacity: 0;
}

#float-nav ul li:not(.parent) &gt; a:not([target="_blank"])::after {
	border-top: 2px solid #A31A61;
	border-right: 2px solid #A31A61;
	content: "";
	height: 7px;
	width: 7px;
	margin: auto;
	transition: all .5s;
	position: absolute;
	top: 0;
	bottom: 1px;
	transform: rotate(45deg);
	right: 19px;
}

#float-nav ul li:not(.parent) &gt; a:not([target="_blank"]):hover::after {
	border-color: #FFF #FFF transparent transparent;
}

#float-nav ul li a[target="_blank"]::after {
	background: url("../images/img_pdf_s.svg") no-repeat center / 100% auto;
	content: "";
	height: 25px;
	width: 18px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
}

#float-nav ul ul {
	background-color: #F5F5F5;
	display: none;
	margin: 0;
}

#float-nav ul ul li {
	border-color: #FFF;
	border-style: solid;
	border-width: 2px 0 0 2px;
}

#float-nav ul ul li:first-of-type {
	border-width: 0 0 0 2px;
}

#float-nav ul ul li a {
	color: #4D4D4D;
	font-size: 12px;
	line-height: 1.2;
	height: 58px;
}

#float-nav ul ul li a span {
	display: block;
	font-size: 11px;
	margin-top: 5px;
}

#float-nav ul ul li a:hover {
	text-decoration: underline;
}

/* @end */

/* @group float-contact */

#float-contact {
	box-shadow: 0 0 15px 0 rgba(0, 0, 0,.08);
	display: flex;
	transform-origin: left center;
	transform: translateX(363px);
	transition: all .5s;
	position: fixed;
	top: 315px;
	right: 0;
	z-index: 10;
}

#float-contact.active {
	transform: translateX(0);
}

#float-contact h2 {
	background-color: #99004F;
	color: #FFF;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.5;
	padding: 2px 9px 0;
	width: 63px;
	position: relative;
	z-index: 1;
}

#float-contact h2::before {
	border-style: solid;
	border-width: 16px 0 0 16px;
	border-color: transparent transparent transparent #e76800;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	bottom: 0;
	left: 0;
}

#float-contact h2::after {
	border-style: solid;
	border-width: 11px 0 11px 11px;
	border-color: transparent transparent transparent #99004f;
	content: "";
	height: 0;
	width: 0;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -8px;
}

#float-contact h2 span {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

#float-contact &gt; div {
	background-color: #FFF;
	min-height: 170px;
	padding: 20px 0 16px 32px;
	width: 363px;
	position: relative;
	z-index: 0;
}

#float-contact .sub-head {
	background-color: #E76800;
	color: #FFF;
	display: inline-block;
	font-weight: bold;
	letter-spacing: .04em;
	line-height: 1;
	margin-bottom: .9em;
	padding: .4em .5em .4em .7em;
}

#float-contact h3 {
	font-weight: 500;
	margin-bottom: .4em;
	letter-spacing: .03em;
}

#float-contact .tel {
	display: flex;
	align-items: center;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: .05em;
	margin-bottom: .2em;
}

#float-contact .tel span {
	font-size: 34px;
	font-weight: 600;
}

#float-contact .contact-time {
	font-size: 15px;
	line-height: 1.5;
}

#float-contact .contact-time span {
	display: block;
	padding-left: 3.2em;
}

#nepic #float-contact &gt; div {
	padding-top: 27px;
}

#nepic #float-contact h3 {
	color: #000;
	font-size: 17px;
	font-weight: bold;
	margin-bottom: .9em;
	letter-spacing: 0;
}

#float-contact .addr {
	font-size: 14px;
	margin-bottom: .6em;
}

#nepic #float-contact .tel {
	margin-bottom: .7em;
}

#nepic #float-contact .tel span {
	font-size: 29px;
	position: relative;
	bottom: 1.5px;
}

#nepic #float-contact .tel + p {
}

/* @end */



/* @end of content-area */

/* @group page-top */

#to-top {
	position: fixed;
	bottom: 25px;
	right: 20px;
	z-index: 2;
}

body.flt-nav #to-top {
	bottom: calc(126px + 25px);
}

body.flt-contact #to-top {
	bottom: calc(65px + 25px);
}

#to-top a {
	background-color: #000;
	border-radius: 50%;
	display: block;
	height: 48px;
	width: 48px;
	position: relative;
	right: 0px;
	bottom: 0px;
	opacity: 0.9;
}

#to-top a::after {
	position: absolute;
	content: "";
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	height: 12px;
	width: 12px;
	top: 5px;
	right: 0;
	margin: auto;
	transform: rotate(-45deg);
	vertical-align: middle;
	left: 0;
	bottom: 0;
}

#to-top a:hover {
	background-color: #99004F;
}

/* @end */

/* @group footer */

#footer-area {
	position: relative;
}

#footer-area::before {
	background-color: #F8F6E5;
	content: "";
	height: calc(100% - 90px);
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#footer {
	margin: auto;
	max-width: 1064px;
	padding: 50px 20px 39px;
}

#footer-logo-area {
	display: flex;
	align-items: center;
	margin-bottom: 60px;
}

#footer-logo-area .footer-logo {
	height: 39px;
	margin-right: 30px;
	width: 142px;
}

#footer-logo-area .footer-logo + p {
	font-size: 15px;
	letter-spacing: .02em;
	margin-top: 5px;
}

/* @group footer-nav */

#footer-nav {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: 95px;
}

#footer-nav &gt; ul {
	margin: 0 40px 0 0;
	width: calc((100% - (40px * 3)) / 4);
}

#footer-nav ul:nth-of-type(4n) {
	margin-right: 0;
}

#footer-nav &gt; ul &gt; li {
	margin-bottom: 35px;
}

#footer-nav ul &gt; li a {
	line-height: 1;
	text-decoration: none;
}

#footer-nav ul &gt; li a:hover {
	opacity: .55;
}

#footer-nav &gt; ul &gt; li &gt; a {
	border-bottom: 1px solid #D9D9D9;
	font-weight: bold;
	display: block;
	padding-bottom: .9em;
}

#footer-nav ul ul {
	margin: .9em 0 0;
}

#footer-nav ul ul &gt; li {
	margin-bottom: 10px;
}

#footer-nav ul ul &gt; li a {
	font-size: 13px;
}

#footer-nav ul &gt; li:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group copyright */

#copyright {
	font-size: 12px;
	letter-spacing: .04em;
	margin: auto;
	text-align: center;
}

/* @end */

/* @end of footer */

/* @group home */

#home .header-logo-group {
	margin-bottom: 30px;
}

#home [id^="header-menu"] {
	padding-top: 110px;
}

#home [id*="toggle-nav"] {
	top: 110px;
}

#home #toggle-nav-clone {
	top: 80px;
}

#home #gnav .gnav_lv2_wrap {
	top: 200px;
}

#home.pc #header-area {
	visibility: hidden;
	z-index: 1;
}

#home.pc #header-area.active {
	animation-duration: .5s;
	animation-delay: .5s;
	animation-fill-mode: forwards;
	animation-name: home-fade-in;
}

@keyframes home-fade-in {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	50% {
		visibility: visible;
		opacity: 0.5;
	}
	100% {
		visibility: visible;
		opacity: 1;
	}
}

#home.pc #header-area #header-menu a,
#home.pc #header-area .gnav_lv1 &gt; li &gt; a {
	color: #FFF;
}

#home.pc #header-area #header-menu a::before,
#home.pc #header-area .gnav_lv1 &gt; li &gt; a::before {
	background-color: #FFF;
}

#home.pc #content-area {
	margin-top: 0;
}

#home-mainvisual {
	height: calc(100vh - 120px);
	margin-top: 80px;
	margin-bottom: 0;
	min-height: 560px;
	min-width: 1064px;
	width: 100%;
	position: relative;
}

#home-mainvisual-bg {
	height: 100%;
	width: 100%;
	overflow: hidden;
	position: relative;
	z-index: -1;
}

#home-mainvisual-bg::before {
	background-color: rgba(0, 46, 75, .3);
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#home-mainvisual-bg video#home-movie {
	min-height: 100%;
	min-width: 100%;
	margin: auto;
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
}

#home-h1-area {
	height: 134px;
	width: 1024px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

#home-mainvisual.h-row #home-h1-area {
	top: auto;
	bottom: 15px;
}

#home-mainvisual h1 {
	color: #FFF;
	font-family: 'Kalam', cursive;
	font-size: 48px;
	font-weight: 400;
	letter-spacing: .02em;
	line-height: 1.3;
	text-align: center;
}

.js-text {
	display: block;
	opacity:0;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

.js-text span {
	opacity: 0;
	-webkit-transition: .8s ease-in-out 1s;
	transition: .8s ease-in-out 1s;
}

#home #main-content {
	padding: 0;
	width: 100%;
}

#home h2 {
	padding-bottom: 0;
}

#home h2::before {
	display: none;
}

#home h2 span.en {
	display: block;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .04em;
	margin-top: -2px;
}

section#home-Information {
	margin: 0 auto 90px;
	padding: 0 20px;
	max-width: 1064px;
}

#home-Information .info-area {
	margin-bottom: 20px;
}

#home-Information .info-area ul li {
	flex-wrap: wrap;
	padding: 1em .7em .7em;
}

#home-Information .info-area .date-cate {
	margin-bottom: 5px;
}

#home-Information .flex-link-btn {
	justify-content: center;
	padding: 0 10px;
	position: relative;
	top: -80px;
}

#main-content .flex-link-btn {
	display: flex;
	flex-wrap: wrap;
}

#main-content .flex-link-btn.flex-2col .link-btn {
	margin-bottom: 0;
	max-width: inherit;
	width: calc((100% - 12px) / 2);
}

#main-content .flex-link-btn.flex-2col .link-btn:nth-of-type(2n) {
	margin-left: 12px;
}

#main-content .flex-link-btn.flex-3col .link-btn {
	margin-bottom: 0;
	max-width: inherit;
	width: calc((100% - (15px * 2)) / 3);
}

#main-content .flex-link-btn.flex-3col .link-btn:not(:nth-of-type(3n+1)) {
	margin-left: 15px;
}

#main-content .flex-link-btn.flex-2col .link-btn:nth-of-type(-n+3),
#main-content .flex-link-btn.flex-3col .link-btn:nth-of-type(-n+4) {
	margin-top: 14px;
}

#home #home-Information .flex-link-btn .link-btn {
	background-color: rgba(255, 255, 255, .8);
	width: 190px;
}

#home-Information .flex-link-btn a {
	font-weight: 400;
	padding: .5em 0;
	z-index: 0;
}

section#home-topics {
	height: 690px;
	margin-bottom: 120px;
	padding-top: 59px;
}

#home-topics.bg-full::before {
	height: 100%;
	width: calc(50% + 175px);
	left: 0;
}

#home-topics h2 {
	font-size: 31px;
	letter-spacing: .02em;
	margin-left: 25px;
	margin-bottom: 35px;
	width: 420px;
}

.topics-wrapper {
	float: right;
	padding-left: 14.5%;
	width: 100%;
}

#home-topics .swiper-container {
	height: 385px;
}

#home-topics .col.swiper-slide {
	width: 356px !important;
	height: 289px;
	margin: 47px 0 0;
	-webkit-transition: width .8s ease,height .8s ease;
	transition: width .8s ease,height .8s ease;
}

#home-topics .col.swiper-slide-active {
	width: 450px !important;
	height: 355px;
	margin-top: 0;
}

#home-topics .col figure {
	height: 184px;
	margin: 0;
	width: 100%;
	top: -20px;
	left: -20px;
}

#home-topics .col figure img {
	transform: translate(-50%, -50%);
	position: relative;
	top: 50%;
	left: 50%;
}

#home-topics .col a:hover figure img {
	transform: translate(-50%, -50%) scale(1.05);
}

#home-topics .col.swiper-slide-active figure {
	height: 230px;
	margin: 0 0 -8px;
	transition: inherit;
	top: -30px;
	left: -30px;
}

#home-topics .col a {
	font-size: 14px;
	height: 100%;
	margin: 20px 0 0 20px;
}

#home-topics .col.swiper-slide-active a {
	font-size: 18px;
	margin: 30px 0 0 30px;
}

#home-topics .col p {
	line-height: 1.6;
	padding: 0 1.7em;
	text-align: left;
}

#home #home-topics .col .entry-header {
	margin: 0 0 12px;
}

#home-topics .col .entry-header .date {
	font-size: 12px;
	margin-right: 10px;
}

#home-topics .col.swiper-slide-active .entry-header .cate {
	font-size: 15px;
}

#home-topics .col.swiper-slide-active .entry-header .date {
	font-size: 16px;
}

#home-topics .col .entry-header .cate {
	font-size: 13px;
	display: inline-block;
}

#home #home-topics .col .title {
	word-wrap: break-word;
}

#home #home-topics .col a:hover .title {
	color: #99004F;
}

#home-topics .swiper-button-next,
#home-topics .swiper-button-prev {
	display: none;
}

#home-topics .swiper-pagination {
	margin: 35px 0 0 31px;
}

#home-topics .swiper-pagination-bullet {
	width: 11px;
	height: 11px;
	margin-right: 12px;
}

#home-topics .swiper-pagination-bullet-active {
	background: #99004F;
	opacity: 1;
}

#home-topics .more {
	display: flex;
	justify-content: flex-end;
	margin: 30px 0 0 0;
	width: 448px;
	font-size: 14px;
}

#home-topics .more a {
	text-decoration: none;
}

#home-topics .more a span {
	display: inline-block;
	padding-bottom: 2px;
	overflow: hidden;
	position: relative;
}

#home-topics .more a span::before {
	background-color: #99004F;
	content: "";
	height: 1px;
	width: 100%;
	position: absolute;
	bottom: 0;
	right: -.05em;
}

#home-topics .more a:hover span::before {
	animation: borderReturnToLeft .5s;
}

section#home-customers {
	margin: 0 auto 120px;
	max-width: 1500px;
}

#home-customers h2 {
	font-size: 31px;
	letter-spacing: .02em;
	margin-bottom: 62px;
}

#home-customers .bg-full {
	padding-bottom: 67px;
}

#home-customers .bg-full::before {
	height: calc(100% - 256px);
}

#home-customers .col {
	margin-right: 0;
	width: calc(100% / 3);
}

#home-customers .col:nth-of-type(2) {
	margin-top: 30px;
}

#home-customers .col:nth-of-type(3) {
	margin-top: 60px;
}

#home-customers .col figure {
	margin: 0;
	top: 0;
	left: 0;
}

#home-customers .col a {
	background: none;
	box-shadow: none;
	margin: 0;
	padding: 0;
}

#home-customers .col figure + div {
	background-color: #FFF;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	display: block;
	margin: -72px auto 0;
	padding: 23px 3.5% 33px;
	text-decoration: none;
	text-align: center;
	width: 80%;
	position: relative;
	z-index: 1;
}

#home #home-customers .col .head {
	margin: 0;
}

#home-customers .index-pattern3 a::before {
	display: none;
}

#home-customers .index-pattern3 a div::before {
	border-color: transparent transparent #99004F transparent;
	border-style: solid;
	border-width: 0 0 15px 15px;
	content: "";
	height: 0;
	width: 0;
	transition: all .5s;
	position: absolute;
	bottom: 0;
	right: 0;
	opacity: 0;
}

#home-customers .index-pattern3 a:hover div::before {
	opacity: 1;
}

#hoem-reliability {
	height: 480px;
	padding-top: 150px;
	overflow: hidden;
	position: relative;
}

.circle-container {
	margin: auto;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	overflow: hidden;
}

.circle {
	display: none;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transform: scale(1);
	transform-origin: 50% 50%;
	animation: circle 5s;
}

@keyframes circle {
	0% { transform: scale(0); opacity: 0; }
	50% { opacity: 1; }
	100% { transform: scale(.5); opacity: 0; }
}

@keyframes circle_sp {
	0% { transform: scale(0); opacity: 0; }
	50% { opacity: 1; }
	100% { transform: scale(.3); opacity: 0; }
}

#home .link-banner {
	margin: 0 auto;
	padding: 0 20px;
	width: calc(1024px + 40px);
}

.link-banner {
}

.link-banner a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 66px 0 61px;
	text-decoration: none;
	position: relative;
	z-index: 0;
}

.link-banner a::before {
	border: 2px solid #99004F;
	content: "";
	height: 100%;
	width: 100%;
	transition: all .5s;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.link-banner a:hover::before {
	border-width: 4px;
}

.link-banner span.icon-arrow {
	display: block;
	margin: auto;
	position: absolute;
	top: 2px;
	bottom: 0;
	left: 102px;
}

.icon-arrow::before,
.icon-arrow::after {
	background-color: #99004F;
	content: "";
	height: 2px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
}

.icon-arrow::before {
	width: 40px;
	left: 0;
}

.icon-arrow::after {
	width: 9px;
	transform-origin: center bottom;
	transform: rotate(47deg);
	bottom: 7px;
	left: 31px;
}

.link-banner a span:not(.en):not(.icon-arrow) {
	display: block;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: .02em;
}

#home.pc .lower-nav .col {
	width: calc(100% / 5);
}

#home .lower-nav .head a {
	background-repeat: no-repeat;
	background-position: center 57px;
	background-size: 47px 43px;
}

#home.pc .lower-nav .head a {
	height: 259px;
	font-size: 23px;
	line-height: 1.3;
	letter-spacing: .01em;
	padding-top: 127px;
}

#home .lower-nav .col:nth-of-type(1) .head a {
	background-image: url("../../images/icon_nav01.svg");
}

#home .lower-nav .col:nth-of-type(2) .head a {
	background-image: url("../../images/icon_nav02.svg");
}

#home .lower-nav .col:nth-of-type(3) .head a {
	background-image: url("../../images/icon_nav03.svg");
}

#home .lower-nav .col:nth-of-type(4) .head a {
	background-image: url("../../images/icon_nav04.svg");
}

#home .lower-nav .col:nth-of-type(5) .head a {
	background-image: url("../../images/icon_nav05.svg");
}

#home.pc .lower-nav .col:nth-of-type(1) .head a,
#home.pc .lower-nav .col:nth-of-type(4) .head a {
	padding-top: 140px;
}

#home #footer-bnr-area {
	margin-bottom: 105px;
}

/* @end of home */

/* @group introduction */

body#introduction #h1-area,
body.introduction #h1-area,
body#sitemap #h1-area {
	background-image: url("../../introduction/images/h1_bg_pc.jpg");
}

.link-anchor-introduction ul {
	display: flex;
	justify-content: space-between;
	margin: 0 -38px;
}

.link-anchor-introduction ul li {
	text-align: center;
}

.link-anchor-introduction ul li a {
	display: block;
	width: 204px;
	height: 204px;
	text-decoration: none;
	font-family: 'Noto Serif JP', serif;
	font-size: 20px;
	border: 1px solid #A31A61;
	padding-top: 35px;
	line-height: 1.6;
	position: relative;
	overflow: hidden;
	transform: perspective(1px) translateZ(0);
	background: #A31A61;
	transition-property: color;
	transition-duration: 0.5s;
}

.link-anchor-introduction ul li a::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	border-radius: 100%;
	z-index: -1;
	transform: scale(2);
	transition-property: transform;
	transition-duration: 0.5s;
	transition-timing-function: ease-out;
}

.link-anchor-introduction ul li a:hover,
.link-anchor-introduction ul li a:focus,
.link-anchor-introduction ul li a:active {
	color: #fff;
}

.link-anchor-introduction ul li a:hover::before,
.link-anchor-introduction ul li a:focus::before,
.link-anchor-introduction ul li a:active::before {
  transform: scale(0);
}

.link-anchor-introduction ul li span.icon {
	display: block;
	width: 39px;
	height: 39px;
	margin: 0 auto 15px auto;
}

#link-introduction-side {
	position: fixed;
	right: 0;
	top: 300px;
	z-index: 1;
}

#link-introduction-side ul {
	box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.07);
	margin-bottom: 0;
}

#link-introduction-side li {
	position: relative;
	/*border-bottom: 1px solid #B84D84;*/
	z-index: 1;
}

#link-introduction-side li:before {
	position: absolute;
	content: '';
	left: 0;
	bottom: 0;
	height: 1px;
	width: 100%;
	background: #B84D84;
	border-bottom: 1px solid #B84D84;
	z-index: 2;
}

#link-introduction-side li a {
	display: block;
	text-decoration: none;
	padding: 17px 20px 17px 45px;
	line-height: 1.5;
	font-size: 14px;
	transform: perspective(1px) translateZ(0);
	position: relative;
	transition-property: color;
    transition-duration: 0.3s;
	background: #fff;
}

#link-introduction-side li a::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #99004F;
	transform: scaleX(0);
	transform-origin: 0 50%;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}

#link-introduction-side li a:hover {
  color: #FFF;
}

#link-introduction-side li a:hover::before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

#link-introduction-side li a::after {
	content: "";
	position: absolute;
	background-size: 27px 27px;
	width: 27px;
	height: 27px;
	top: calc(50% - 14px);
	left: 7px;
}

#link-introduction-side li:nth-of-type(1) a::after {
	background-image: url('../../introduction/images/icon_q1_side_w.svg');
}

#link-introduction-side li:nth-of-type(2) a::after {
	background-image: url('../../introduction/images/icon_q2_side_w.svg');
}

#link-introduction-side li:nth-of-type(3) a::after {
	background-image: url('../../introduction/images/icon_q3_side_w.svg');
}

#link-introduction-side li:nth-of-type(4) a::after {
	background-image: url('../../introduction/images/icon_q4_side_w.svg');
}

#link-introduction-side li:nth-of-type(5) a::after {
	background-image: url('../../introduction/images/icon_q5_side_w.svg');
}

#link-introduction-side li:nth-of-type(1) a:hover::after {
	background-image: url('../../introduction/images/icon_q1_side.svg');
}

#link-introduction-side li:nth-of-type(2) a:hover::after {
	background-image: url('../../introduction/images/icon_q2_side.svg');
}

#link-introduction-side li:nth-of-type(3) a:hover::after {
	background-image: url('../../introduction/images/icon_q3_side.svg');
}

#link-introduction-side li:nth-of-type(4) a:hover::after {
	background-image: url('../../introduction/images/icon_q4_side.svg');
}

#link-introduction-side li:nth-of-type(5) a:hover::after {
	background-image: url('../../introduction/images/icon_q5_side.svg');
}

#main-content section.introduction-qa {
	position: relative;
	margin-bottom: 62px;
	padding-top: 50px;
	padding-bottom: 60px;
}

section.introduction-qa::before {
	position: absolute;
	content: '';
	background: #F8F6E5;
	width: calc(100% + 216px);
	height: 100%;
	top: 0;
	left: -108px;
	z-index: -1;
}

section.introduction-qa h2 {
	background: none !important;
	padding-top: 0 !important;
}

section.introduction-qa h2 span {
	display: block;
}

section.introduction-qa h2 span img {
	width: 46px;
	height: 46px;
}

.answer-area {
	background: #fff;
	padding: 40px 45px 45px;
	margin-left: 75px;
	margin-bottom: 55px;
}

.answer-area {
	background: #fff;
	padding: 40px 48px;
	margin-left: 75px;
	margin-bottom: 55px;
	position: relative;
	box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.04);}

.answer-area p.head {
	font-size: 28px;
	color: #99004F;
	margin-bottom: 25px !important;
	line-height: 1.6 !important;
}

.answer-area::before {
	position: absolute;
	content: '';
	background: url('../../introduction/images/icon_answer.svg') no-repeat left top;
	background-size: 106px 42px;
	width: 106px;
	height: 42px;
	top: 55px;
	left: -75px;
}

.answer-area p.txt {
	font-size: 19px;
	margin-bottom: 0 !important;
}

.answer-area [class*="pattern1-"] {
	margin-bottom: 10px !important;
}

.img-wd-s {
	width: 80%;
}

.index-pattern.intro .head {
	font-size: 19px !important;
	letter-spacing: 0 !important;
}

.index-pattern.intro span {
	font-size: 15px !important;
}

.index-pattern.intro .txt {
	text-align: left;
	padding: 0 20px;
	font-size: 14px;
	margin-top: -1.3em;
}

.product-h3 h3 {
	font-size: 15px !important;
}

.introduction-qa .pattern1-1-1-1 .col {
	margin-right: 20px;
	width: calc((100% - (20px * 3)) / 4);
}

.introduction-qa .pattern1-1-1-1 .col:last-child {
	margin-right: 0px;
}


/* @end */

/* @group introduction - vision */

#main-content h2.vision-title{
	margin-bottom: 1.2em;
	background:none;
	padding-bottom: 0em;
}

#main-content h2.vision-title::before{
	display: none;
}
#vision p{
	line-height: 2.3;
	color: #333333;
	font-size: 17px;
	letter-spacing: .02em;
}

h2.vision-title span {
	font-family: 'Kalam', cursive;
	font-weight: 400;
	display: block;
	margin-bottom: .7em
}

/* @end */

/* @group introduction - products-pipelines */

.pipelines-area{
	background: #fff;
	padding: 25px 25px;
	margin-bottom: 20px;
	position: relative;
	box-shadow: 0px 0px 12px 3px rgb(0 0 0 / 4%);
}

.pipelines-area div[class*="icon-"] {
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	line-height: 2;
	min-height: 30px;
	width: 8.5em;
	text-align: center;
	position: absolute;
	right: 30px;
	top: 26px;
}

.pipelines-area div.icon-buy {
	background: #99004f;
}

.pipelines-area div.icon-still {
	background: #ff6800;
}

#main-content .pipelines-area h3 {
	border-bottom: 1px solid #99004f;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.75;
	margin: -7px 0 0;
	padding-bottom: .5em;
}

#main-content .pipelines-area table th {
	color: #4d4d4d;
	padding: .8em 0 .8em .8em;
	width: 13%;
}

#main-content .pipelines-area table td {
	padding: .8em 0 .8em .8em;
	width: 87%;
}

.pipelines-area .pattern1-4{
	margin-bottom: 0em;
}

.pipelines-area .pattern1-4 .left-col {
	width: 17.5%;
}

.pipelines-area .pattern1-4 .right-col {
	width: calc(82.5% - 35px);
}

/* @end */

/* @group introduction - cells */

#main-content .cells-lead {
	color:#000;
	font-size: 24px;
	line-height: 1.8;
}

/* @end */

/* @group introduction - tales */

.main-tails {
	margin-left: -113px;
	margin-right: -113px;
}

h2.index-tales {
	background: none !important;
	margin: 0 !important;
	margin-bottom: -75px !important;
}

h2.index-tales::before {
	display: none;
}

h2.index-tales img {
	width: 204px;
	height: 77px;
}

.bg-full.index {
	padding: 0px 0 60px;
	position: relative;
}

.bg-full.index::before {
	height: calc(100% + 20px);
	top: -21px;
}

.bg-full.index::after {
	position: absolute;
	content: '';
	width: 1365px;
	height: 555px;
	background: url("../../introduction/tales/images/bg_contents_pc.png") no-repeat;
	background-size: 1365px 555px;
	top: -40px;
	left: -190px;
	z-index: -1;
}

.index ul {
	display: flex;
	flex-wrap: wrap;
	background: #fff;
	padding: 70px 45px 45px;
	justify-content: space-between;
	box-shadow: 0px 0px 12px 3px rgba(0, 0, 0,.04);
}

.index ul li {
	width: calc((100% / 2) - 15px);
	border-bottom: 2px dotted #ccc;
}

.index ul li a {
	display: flex;
	color: #4D4D4D;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
	padding: 18px 20px;
	height: 85px;
	align-items: center;
}

.index ul li a:hover {
	color: #99004F;
	background: #FAF2F6;
}

.index ul li .vol {
	display: inline-block;
	color: #99004F;
	position: relative;
	text-align: center;
	z-index: 2;
	margin-right: 35px;
	font-size: 12px;
	line-height: 1;
	padding: 5px 0 0 13px;
}

.index ul li .vol::after {
	position: absolute;
	content: '';
	background: #F3F0D3;
	border-radius: 100%;
	height: 45px;
	width: 45px;
	z-index: -1;
	left: 0px;
	top: -3px;
}

.index ul li .vol span {
	display: block;
	font-size: 17px;
}

.index ul li .txt span {
	display: inline-block;
	position: relative;
	padding: 0 .8em;
}

.index ul li .txt span::before,
.index ul li .txt span::after {
	background-color: #4D4D4D;
	content: "";
	height: 1px;
	width: .63em;
	margin: auto;
	position: absolute;
	top: 1px;
	bottom: 0;
	left: 0;
}

.index ul li .txt span::after {
	bottom: 0;
	left: auto;
	right: 0;
}

.index ul li a:hover {
	color: #99004F;
	background: #FAF2F6;
}

.index ul li a:hover .vol {
	color: #fff;
	transition: all .5s;

}

.index ul li a:hover .vol::after {
	background: #99004F;
	transition: all .5s;
}


[id^="tales0"] #main-content,
[id^="tales1"] #main-content {
	margin-bottom: 98px;
}

[id^="tales0"] #main-content h2,
[id^="tales1"] #main-content h2 {
	background: none;
	font-size: 28px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.5;
	margin-bottom: 1.5em;
	padding: 1em 0;
}

[id^="tales0"] #main-content h2::before,
[id^="tales1"] #main-content h2::before {
	background: none;
	border-color: #C26695;
	border-style: solid;
	border-width: 2px 0;
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

[id^="tales0"] h2 img,
[id^="tales1"] h2 img {
	height: 124px;
	width: 219px;
	position: absolute;
	top: -25px;
	left: -15px;
}

#tales01 #main-content h2::after {
	background-image: url("../../introduction/tales/01/images/image_title.png");
}

#tales01 #main-content h2 span {
	padding: 0 .8em;
	position: relative;
}

#tales01 #main-content h2 span::before,
#tales01 #main-content h2 span::after {
	background-color: #99004F;
	content: "";
	height: 1px;
	width: .63em;
	margin: auto;
	position: absolute;
	top: 1px;
	bottom: 0;
	left: 0;
}

#tales01 #main-content h2 span::after {
	left: auto;
	right: 0;
}

.tales-block {
	border-bottom: 3px dotted #D9D9D9;
	margin-bottom: 2em;
}

ul.tales-pagenation {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	margin-top: 53px;
}

#tales10 ul.tales-pagenation{
	justify-content: flex-start;
}

ul.tales-pagenation li {
	width: calc(100% / 3);
	position: relative;
}

ul.tales-pagenation li a {
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
}

ul.tales-pagenation li a:hover {
	opacity: .55;
}

ul.tales-pagenation li:not(.prev):not(.next) {
	text-align: center;
}

ul.tales-pagenation li:not(.prev):not(.next) a {
	letter-spacing: .1em;
}

ul.tales-pagenation li.prev {
	text-align: left;
}

ul.tales-pagenation li.prev a {
	padding-left: 35px;
}

ul.tales-pagenation li.next {
	text-align: right;
}

ul.tales-pagenation li.next a {
	padding-right: 35px;
}

ul.tales-pagenation li.prev a::before,
ul.tales-pagenation li.next a::before {
	background: url("../../introduction/tales/images/icon_arrow.svg") no-repeat center;
	background-size: 100% auto;
	content: "";
	height: 6px;
	width: 22px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 3px;
	right: 0;
}

ul.tales-pagenation li.prev a::before {
	transform: scale(-1, 1);
	left: 0;
	right: auto;
}

/* @end */

/* @group customers */

body#customers #h1-area {
	background-image: url("../../customers/images/h1_bg_pc.jpg");
}

body#customers.pc .index-pattern3 {
	margin: 0 auto;
	max-width: 1500px;
}

body#customers.pc .index-pattern3 .col {
	margin-right: 0;
	width: calc(100% / 3);
}

body#customers.pc .index-pattern3 .col:nth-of-type(2n) {
	margin-top: 30px;
}

body#customers.pc .index-pattern3 .col:nth-of-type(3n) {
	margin-top: 60px;
}

body#customers .index-pattern3 a {
	background-color: transparent;
	box-shadow: none;
	margin: 0;
	padding-bottom: 0;
}

body#customers .index-pattern3 a::before {
	display: none;
}

body#customers .index-pattern3 figure {
	margin: 0 0 -50px;
	width: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}

body#customers .index-pattern3 .head {
	background-color: #FFF;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	margin: auto;
	padding: 1em 5px 1.2em;
	width: 80%;
	position: relative;
}

body#customers .index-pattern3 .head::before {
	border-color: transparent transparent #99004F transparent;
	border-style: solid;
	border-width: 0 0 15px 15px;
	content: "";
	height: 0;
	width: 0;
	transition: all .5s;
	position: absolute;
	bottom: 0;
	right: 0;
	opacity: 0;
}

body#customers .index-pattern3 a:hover .head::before {
	opacity: 1;
}

/* @end */

/* @group customers - medical */

body#medical #h1-area,
body.medical #h1-area {
	background-image: url("../../customers/medical/images/h1_bg_pc.jpg");
}

body#medical-top #h1-area {
	background-color: #DFECF2;
	background-image: url("../../customers/medical/images/h1_bg_medical_pc.jpg");
	height: 400px;
	margin-bottom: 35px;
}

body#medical-top #h1-area h1 {
	font-size: 34px;
	text-align: left;
}

body#medical-top #h1-area h1 span {
	width: 1044px;
	margin: 0 auto;
}

body#medical-top #h1-area .en {
	font-size: 13px;
	color: #E76800;
	margin-top: 20px;
	letter-spacing: 0.05em;
	width: 335px;
	text-align: center;
}

.bg-full-left.height-full {
	margin-bottom: 150px !important;
}

.bg-full-left.height-full::before {
	height: calc(100% + 60px);
	bottom: -55px;
}

.contact-tel {
	font-size: 26px;
	color: #99004F;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.6 !important;
	letter-spacing: .05em;
	display: flex;
	align-items: center;
}

.contact-tel span {
	display: inline-block;
	font-size: 36px;
}

/* @end */

/* @group customers - patiens */

body#patiens #h1-area,
body.patiens #h1-area {
	background-image: url("../../customers/patiens/images/h1_bg_pc.jpg");
}

.patiens-pattern01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.patiens-pattern01 .img-col {
	width: 444px;
}

.patiens-pattern01 .col {
	width: 530px;
}

.patiens-pattern01 .img-col figure {
	margin-left: -96px;
	width: calc(100% + 96px);
}

.patiens-pattern01 .img-col figure img {
	box-shadow: 10px 10px 30px -5px rgba(0, 0, 0,.08);
}

#main-content .patiens-banner-area &gt; p {
	margin-bottom: 1.5em;
	text-align: center;
}

.patiens-banner-area .link-banner a {
	padding: 42px 40px 50px 0;
}

.patiens-banner-area .link-banner .icon-arrow {
	top: 7px;
	left: 44px;
}

.patiens-banner-area .link-banner .icon-arrow::before {
	width: 35px;
}

.patiens-banner-area .link-banner .icon-arrow::after {
	width: 7px;
	bottom: 5px;
	left: 28px;
}

.patiens-banner-area .link-banner img {
	width: 334px;
}

.patiens-banner-area .link-banner .ai {
	height: 15px;
	margin: auto;
	position: absolute;
	top: 4px;
	bottom: 0;
	right: 56px;
}

body#cancer ol.caution li {
	font-size: 14px;
}

ul.check-list {
	background-color: #FEFEFB;
	border: solid 6px #f6f4de;
	padding: 35px 35px 30px;
}

ul.check-list li {
	color: #000;
	font-size: 19px;
	font-weight: bold;
	line-height: 1.6;
	list-style: none;
	margin-bottom: 0;
	padding: 0 0 0 2.3em;
	position: relative;
}

ul.check-list li::before {
	background: url(../images/icon_check.svg) no-repeat center / 100% auto;
	content: "";
	height: 22px;
	width: 26px;
	transform-origin: left center;
	position: absolute;
	top: 4px;
	left: 0;
}

ul[class*="check-list"].list-2col {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

ul[class*="check-list"].list-2col li {
	margin-right: 42px;
	width: calc((100% - 42px) / 2);
}

ul[class*="check-list"].list-2col li:nth-of-type(2n) {
	margin-right: 0;
}

ul.check-list.list-2col li:nth-of-type(n+3) {
	margin-top: 1.1em;
}

body#leukoderma.pc dd .accordion {
	margin-left: -3.7em;
}

/* @end */

/* @group business */

body#business #h1-area,
body.business #h1-area {
	background-image: url("../../business/images/h1_bg_pc.jpg");
}

body.business #h1-area h1 span span {
	font-size: 20px;
	letter-spacing: .02em;
	margin-top: .2em;
}

.pattern-business.bg-full {
	padding-bottom: 72px;
}

.pattern-business.bg-full::before {
	height: calc(100% - 40px);
}

.pattern-business {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

.pattern-business .col {
	margin-left: 41px;
	width: calc((100% - (41px * 2)) / 3);
}

.pattern-business .col:first-of-type {
	margin-left: 0;
}

.pattern-business .col &gt; div {
	background-color: #FFF;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	position: relative;
}

.pattern-business .col &gt; div a {
	border: 1px solid transparent;
	display: block;
	height: 100%;
	padding: 23px 32px 27px 32px;
	text-decoration: none;
}

.pattern-business .col &gt; div a:hover {
	border-color: #AD3372;
}

.pattern-business .col:nth-child(3) + div {
	margin-top: 60px;
}

.pattern-business .number {
	color: #FFF;
	font-family: 'Crimson Text', serif;
	font-style: italic;
	font-size: 14px;
	letter-spacing: .04em;
	line-height: 1;
	padding: 10px 0 0 7px;
	height: 91px;
	width: 91px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.pattern-business .number::before {
	border-color: #e76800 transparent transparent transparent;
	border-style: solid;
	border-width: 91px 91px 0 0;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.pattern-business .number span {
	display: block;
	font-size: 23px;
	font-weight: 600;
	padding: 0 0 0 12px;
}

#main-content .pattern-business .head {
	font-size: 26px;
	font-weight: 500;
	letter-spacing: .02em;
	line-height: 1.3;
	margin-bottom: 1.1em;
	text-align: center;
}

body.pc #main-content .pattern-business .head {
	display: flex;
	align-items: center;
	justify-content: center;
}

#main-content .pattern-business .head span {
	color: #4D4D4D;
	display: block;
	font-size: 13px;
	letter-spacing: 0;
	margin-top: .5em;
}

#main-content .pattern-business .col p:not(.head) {
	border-top: 1px dotted #000;
	color: #4D4D4D;
	font-size: 17px;
	line-height: 1.65;
	margin-bottom: 0;
	padding-top: 1.4em;
}

.pattern-business p.caution {
	margin-top: 35px;
}

.business-bnr-area &gt; div {
	height: 528px;
	margin-top: calc(30px * -1.7);
	padding-top: calc(30px * 1.7);
	overflow: hidden;
	position: relative;
}

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

	#business .lower-nav .col {
		border-color: #FFF;
		border-style: solid;
		width: calc(100% / 2);
	}

	#business .lower-nav .col a {
		height: 224px;
		padding-top: 135px;
	}

}

#business .lower-nav .col:nth-of-type(1) .head a {
	background: url("../../business/images/icon_nav01.svg") no-repeat center 60px / 43px 39px;
}

#business .lower-nav .col:nth-of-type(2) .head a {
	background: url("../../business/images/icon_nav02.svg") no-repeat center 60px / 47px 41px;
}

#business .lower-nav .col:nth-of-type(3) .head a {
	background: url("../../business/images/icon_nav03.svg") no-repeat center 60px / 30px 41px;
}

/* @end */

/* @group business - regenerative */

body#regenerative #h1-area,
body.regenerative #h1-area {
	background-image: url("../../business/regenerative/images/h1_bg_pc.jpg");
}

#regenerative .bg-full-left {
	padding-bottom: 30px;
}

#regenerative.pc .bg-full-left::before {
	height: calc(100% - 80px);
}

#regenerative.pc .index-pattern3 .head {
	font-size: 21px !important;
}

#regenerative .index-pattern3 .coming-soon a {
	color: #BFBFBF;
	pointer-events: none;
	opacity: .5;
}

#regenerative .index-pattern3 .coming-soon a::before {
	display: none;
}

#regenerative .index-pattern3  .coming-soon p.head {
	letter-spacing: 0;
}

#regenerative .index-pattern4 a {
	min-height: 92px;
	padding: 1em .5em 1.5em 1.5em;
}

#regenerative .index-pattern4 .col p.head {
	font-size: 18px;
	letter-spacing: .03em;
}

#regenerative .link-list-btn a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 17px;
	font-weight: 700;
	height: 144px;
	text-align: center;
}

#regenerative .link-list-btn li:nth-of-type(1) a {
	line-height: 1.5;
}

#regenerative .link-list-btn li:nth-of-type(2) a {
	line-height: 1.2;
}

#regenerative .link-list-btn a span {
	font-size: 14px;
	font-weight: 400;
	width: 100%;
}

#regenerative .link-btn {
	border-width: 2px;
	margin: 50px auto 0;
}

#regenerative .link-btn a {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: .02em;
}

body.regenerative .accordion dt {
	letter-spacing: .02em !important;
}

#regenerative div.new-icon a {
	position: relative;
}
#regenerative .new-icon-space {
	position: absolute;
	background: #cc0000;
	z-index: 10;
	top: -20px;
	left: -40px;
}
#regenerative .new-icon-text {
	position: relative;
	width: 184px;
	height: 70px;
}
#regenerative #main-content .new-icon-text p {
	color: #fff;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
}
#regenerative #main-content .new-icon-text p:first-of-type {
	border-bottom: 1px solid #fff;
	font-size: 13px;
	top: 8px;
	width: 159px;
	letter-spacing: 3px;
	text-indent: 3px;
}
#regenerative #main-content .new-icon-text p:nth-of-type(2) {
	font-size: 10px;
	top: 32px;
	letter-spacing: 0.1px;
	text-indent: 0.1px;
}

/* @end */

/* @group business - cdmo-cro */

body#cdmo #h1-area {
	background-image: url("../../business/cdmo-cro/images/h1_bg_pc.jpg");
}

.cdmo-reason {
	padding: 0 20px 60px;
	position: relative;
}

.cdmo-reason::before {
	background-color: #F8F6E5;
	content: "";
	height: calc(100% - 60px);
	width: 100%;
	max-width: 1240px;
	margin: auto;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
}

.reason-block {
	background-color: #FFF;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	margin: auto;
	max-width: 1100px;
	padding: 22px 38px 35px;
}

.reason-block + .reason-block {
	margin-top: 40px;
}

.reason-block &gt; *:last-child {
	margin-bottom: 0 !important;
}

.reason-block h3 {
	text-align: center;
}

.reason-block h3 span {
	display: block;
}

.reason-block h3 span.head {
	font-size: 15px;
	margin-bottom: .3em;
}

.reason-block h3 span.num {
	margin: 0 auto 8px;
	height: 36px;
	width: 36px;
}

body#cdmo table.table-normal th {
	min-width: inherit;
}

body#cdmo .col table th,
body#cdmo .col table td {
	padding: 10px;
}

#cdmo table tr &gt; td:last-child {
	text-align: center;
}

img.shadow {
	box-shadow: 0 0 15px 0 rgba(0, 0, 0,.1);
}

#cdmo.pc .link-banner {
	margin: 0 auto 20px !important;
	width: 824px;
}

#cdmo.pc .link-banner a {
	padding: 39px 0 45px;
}

#cdmo.pc .link-banner span.icon-arrow {
	top: 2px;
	left: 54px;
}

#cdmo.pc .link-banner a span:not(.en):not(.icon-arrow) {
	font-size: 26px;
	letter-spacing: 0;
}

#cdmo .scroll-box table th,
#cdmo .scroll-box table td {
	border: none;
	padding: 0;
}

/* @end */

/* @group business - LabCyte */

body#LabCyte #h1-area,
body.LabCyte #h1-area {
	background-image: url("../../business/LabCyte/images/h1_bg_pc.jpg");
}

.pattern-movie[class*="bg-full"] {
	padding-bottom: 50px;
}

body#cornea-model .pattern-movie[class*="bg-full"]::before {
	height: calc(100% - 93px);
}

#main-content .pattern-movie .movie-cate {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 2.7em;
}

.pattern-movie .col &gt; div {
	background-color: #FFF;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	margin: 30px 0 0 30px;
	padding-bottom: 23px;
}

.pattern-movie .movie-wrap {
	margin: 0 0 -12px 0;
	width: 101%;
	position: relative;
	top: -30px;
	left: -30px;
}

.pattern-movie .movie-wrap::before {
	content: "";
	display: block;
	padding-top: 63.5%;
}

.pattern-movie .movie-wrap iframe {
	height: 100%;
	width: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

#main-content .pattern-movie .col &gt; div .movie-cate {
	margin-bottom: -3px;
	text-align: center;
	position: relative;
	top: -3px;
}

#main-content .pattern-movie .head {
	color: #333;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.5;
	margin: 0;
	text-align: center;
}

#main-content .pattern-movie &gt; div p:not(.movie-cate):not(.head) {
	color: #666;
	font-size: 13px;
	line-height: 1.5;
	margin: 4px 0 0;
	text-align: center;
}

.center-position-auto{
	margin:auto;
}

body#lab-paper h2 {
	margin-bottom: .9em;
}

body#lab-paper h2 span.en {
	display: block;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.4;
	margin-bottom: .2em;
}

/* @end */

/* @group business - product-assurance-safety */

body#assurance #h1-area {
	background-image: url("../../business/product-assurance-safety/images/h1_bg_pc.jpg");
}

body#assurance .link-anchor {
	margin-bottom: 100px !important;
}

body#assurance .link-anchor a {
	flex-wrap: wrap;
	font-size: 20px;
	letter-spacing: .04em;
	line-height: 1.3;
	padding-bottom: 1.8em;
}

body#assurance .link-anchor a::before {
	bottom: .85em;
}

body#assurance .link-anchor a span {
	font-size: 16px;
	line-height: 1.6;
	width: 100%;
}

body#assurance h4 {
	font-size: 20px;
}

.quality-policy-box {
	padding-bottom: 50px;
}

.quality-policy-box.bg-full::before {
	height: calc(100% - 50px);
}

.quality-policy-box &gt; div {
	background-color: #FFF;
	box-shadow: 0px 0px 20px 0 rgba(0, 0, 0, .08);
	padding: 30px 40px 48px;
}

#main-content .quality-policy-box h3 {
	border-bottom: none;
	font-size: 30px;
	letter-spacing: .03em;
	padding-bottom: 0;
	text-align: center;
	font-weight: 500;
	margin-bottom: .6em;
}

.quality-policy-box ol {
	border-color: #99004F;
	border-style: solid;
	border-width: 1px 0;
	margin: 1.4em 0 0;
	padding: 1.8em 20px 2em;
}

.quality-policy-box ol li {
	color: #333;
	font-size: 18px;
	font-weight: 500;
	margin-bottom: .75em;
	padding-left: 2.2em;
	text-indent: -2.2em;
	z-index: 0;
}

.quality-policy-box ol li::before {
	display: none;
}

.quality-policy-box ol li:last-of-type {
	margin-bottom: 0;
}

.quality-policy-box ol li span {
	color: #FFF;
	font-family: 'Crimson Text', serif;
	font-size: 1.06em;
	font-style: italic;
	font-weight: 600;
	line-height: 1;
	margin-right: 1.3em;
	padding-left: .4em;
}

.quality-policy-box ol li:first-of-type span {
	padding-left: .5em;
}

.quality-policy-box ol li span::before {
	background-color: #99004F;
	border-radius: 50%;
	content: "";
	line-height: 1.1;
	height: 1.28em;
	width: 1.28em;
	position: absolute;
	top: .21em;
	left: 0px;
	z-index: -1;
}

/* @end */

/* @group about-us */

body#about-us #h1-area,
body.about-us #h1-area {
	background-image: url("../../about-us/images/h1_bg_pc.jpg");
}

#about-us .bg-full-left {
	margin-bottom: 60px;
	padding-bottom: 30px;
}

#about-us .index-pattern3 {
	margin-bottom: 50px;
}

#about-us .index-pattern3 .col figure {
	margin-bottom: -37px;
}

#about-us .index-pattern3 .col .head {
	font-size: 25px;
	letter-spacing: .04em;
}

#about-us .index-pattern3 .col:nth-of-type(2n) {
	margin-top: 0;
}

/* @end */

/* @group about-us - greeting */

#main-content .greeting-sign {
	font-size: 15px;
	text-align: right;
}
/* @end */

/* @group about-us - overview */

#overview table th span,
#overview table td ul.caution li {
	font-size: 15px;
}

#overview .gmap::before {
	padding-top: 40%;
}

#overview table span.cate {
	background-color: #99004F;
  color: #FFF;
  font-size: 13px;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: .04em;
  padding: 4px 15px;
}


/* @end */

/* @group about-us - brand-mark */

.brand-mark-area {
	border-color: #99004F;
	border-style: solid;
	border-width: 1px 0;
	padding: 42px 0 30px;
}

#main-content .brand-mark-area h2 {
	background: none;
	margin: 0;
	padding: 9px 0 0;
}

#main-content .brand-mark-area h2::before {
	display: none;
}

#main-content .brand-mark-area h3 {
	border: none;
	font-size: 22px;
	letter-spacing: .05em;
	margin-bottom: .3em;
	padding-bottom: 0;
}

#main-content .brand-mark-area h3 + p {
	margin-bottom: 1.5em;
}

/* @end */

/* @group about-us - philosophy */

#main-content p.philosophy-text,
#main-content ul.philosophy-text li {
	color: #000;
	font-size: 18px;
	font-weight: 500;
}

#main-content p.philosophy-text {
	text-align: center;
}

.philosophy-flexbox {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.philosophy-flexbox &gt; * {
	width: calc((100% - 42px) / 2);
}

#main-content .philosophy-flexbox .lead {
	font-size: 26px;
	font-weight: 500;
	margin-bottom: 0;
}

ul.philosophy-list {
	margin-bottom: 0;
}

ul.philosophy-list li {
	padding-left: 2.3em;
	text-indent: -2.3em;
}

ul.philosophy-list li:not(:first-of-type) {
	margin-top: 1.6em;
}

/* @end */

/* @group about-us - sustainability */

body#sustainability #h1-area,
body.sustainability #h1-area {
	background-image: url("../../about-us/sustainability/images/h1_bg_pc.jpg");
}

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

	#sustainability .index-pattern-list3.bg-full-right::before {
		height: calc(100% - 60px);
	}

	#sustainability .index-pattern-list3 .col {
		width: 520px;
	}

	#sustainability .index-pattern-list3 .col figure {
		margin-bottom: -3px;
		overflow: inherit;
		top: 0;
		left: 0;
	}

	#sustainability .index-pattern-list3 .list-col {
		padding-top: 112px;
		width: 455px;
	}

}

#sustainability .index-pattern-list3 .col figure img {
	box-shadow: 10px 10px 30px -5px rgba(0, 0, 0,.08);
}

#sustainability .index-pattern-list3 .col figure + p:not(.head) {
	line-height: 1.8;
	padding: 0;
}

.committee-pattern .link-btn-ll a {
	height: 232px;
}

.committee-pattern .link-btn-ll span.icon {
	margin-bottom: 21px;
}

.committee-pattern .link-btn-ll span.title {
	font-size: 17px;
	letter-spacing: .03em;
	line-height: 1.5;
}

.committee-pattern .link-btn-ll span.date {
	margin-top: 5px;
}

.minutes-list li &gt; a ~ span {
	font-size: .8em;
}

.minutes-list li p {
	font-size: .9em;
	line-height: 1.7 !important;
	margin-bottom: 0 !important;
	padding-left: 4em;
	text-indent: -4em;
}

.lead-sustainability {
	text-align: center;
	font-size: 19px;
	color: #000;
}

/* @end */

/* @group about-us - sustainability - CSR */

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

	#csr .index-pattern4.bg-full-left::before {
		height: calc(100% - 30px);
	}

	#csr .index-pattern4 .col:nth-of-type(n+4) {
		margin-top: 2.5em;
	}

	#csr .index-pattern4 a {
		min-height: 106px;
	}

	#csr .index-pattern4 .col p.head {
		font-size: 18px;
		letter-spacing: .02em;
		line-height: 1.6;
		margin: 0;
	}

	body.csr #main-content .accordion h3 {
		font-size: 26px;
		font-weight: bold;
		text-align: center;
	}

	.pattern2-1.csr-pattern .left-col {
		width: calc(100% - 294px - 35px);
	}

	.pattern2-1.csr-pattern .right-col {
		width: 294px;
	}

	#main-content .csr-pattern table th {
		padding: 1em 1.2em;
		width: 4em;
	}

	#main-content .csr-pattern table td {
		padding: 1em .8em 1em .8em;
	}

}

body.csr #main-content .accordion h3 {
	border-bottom: 2px solid #99004F;
}

body#FIRM.pc .pattern2-1 img {
	height: 230px;
}

/* @end */

/* @group investors */

#investors .info-area .link-btn {
	margin: 30px auto 0;
	width: 210px;
}

#investors .info-area .link-btn a {
	padding: .5em 0;
}

#investors .lower-nav::before {
	background-color: #F8F6E5;
}

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

	#investors .lower-nav::before {
		height: 221px;
	}

	#investors .lower-nav [class*="col-"] {
		border-color: #888;
		border-style: dotted;
	}

	#investors .lower-nav .head::before {
		background-color: rgba(255,255,255,.7);
	}

}

.lower-nav .col-info .head a {
	background: url("../images/icon_ir_management.svg") no-repeat center 59px / 32px auto;
}

.lower-nav .col-highlight .head a {
	background: url("../images/icon_ir_highlight.svg") no-repeat center 59px / 38px auto;
}

.lower-nav .col-library .head a {
	background: url("../images/icon_ir_library.svg") no-repeat center 60px / 44px auto;
}

.lower-nav .col-stock .head a {
	background: url("../images/icon_ir_stock.svg") no-repeat 49.5% 57px / 42px auto;
}

.lower-nav .col-calendar .head a {
	background: url("../images/icon_ir_calendar.svg") no-repeat center 61px / 33px auto;
}

#main-content .caution-investors h2 {
	font-size: 18px;
	background: none;
	text-align: left;
	padding: 0;
	margin-bottom: 15px;
}

#main-content .caution-investors h2::before,
#main-content .caution-investors h2::after {
	display: none;
}

/* @end */

/* @group investors - message */

#message p.lead {
	font-size: 25px;
	letter-spacing: .03em;
}

.message-sign-area {
	position: relative;
}

#message .message-sign {
	font-size: 15px;
	display: inline-block;
	text-align: right;
	position: absolute;
	bottom: 0;
	right: 0;
}

#message .message-sign &gt; *:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group investors - library */

.library-select-year {
	margin-bottom: 40px;
}

#main-content h2.library-title {
	background: none;
	border-bottom: 1px dotted #000;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.75;
	margin-bottom: 1em;
	padding: 0 0 .5em;
	text-align: left;
}

#main-content h2.library-title::before {
	display: none;
}

body#library .link-btn {
	max-width: inherit;
}

.library-list {
	margin-bottom: 2.3em;
}

.library-list ul li {
	border: none;
	padding: .5em .1em;
}

body.securities .library-list ul li {
	padding-bottom: 0;
}

.library-list ul li .date-cate {
	margin-right: .5em;
}

.library-list ul li &gt; div {
	margin-left: 0;
	width: calc(100% - 8.5em - 1.2em);
}

#main-content .library-list ~ [class*="list-btn"] {
	cursor: pointer;
	margin: 42px auto 60px;
	width: 210px;
}

#main-content .library-list ~ [class*="list-btn"] a {
	padding: .5em 2em;
}

.pastdata-area {
	display: none;
}

/* @end */

/* @group investors - news */

.news-select-pulldown {
	margin-bottom: 60px;
}

select#select-year {
	font-size: 15px;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
	background: #F5F5F5 url(../images/icon_select.png) no-repeat right -1px top;
	background-size: auto calc(100% + 2px);
	border: none;
	box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.1) inset;
	color: #666;
	min-width: 273px;
	margin: 0;
	padding: 10px 40px 7px 10px;
	text-transform: uppercase;
	transition: all .5s;
}

.news-tab {
	margin-bottom: 3.4em;
}

.news-tab ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-bottom: 0;
}

.news-tab ul li {
	border-color: #000;
	border-style: dotted;
	border-width: 0 1px 0 0;
}

.news-tab ul li:first-of-type {
	border-width: 0 1px;
}

.news-tab ul li a {
	background-color: transparent;
	display: block;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	padding: .9em .5em;
}

.news-tab ul li a:hover,
.news-tab ul li.active a {
	background-color: #99004F;
	color: #FFF;
}

#ir-news .news-tab ul li {
	width: calc(100% / 4);
}

/* @end */

/* @group investors - highlights */

.highlight-area h3 {
	border: none !important;
	padding-bottom: 0 !important;
}

.highlight-area .pattern1-1 .col {
	margin-bottom: 2.5em !important;
	width: calc((100% - 70px) / 2) !important;
	margin-right: 70px;
}

.highlight-area .pattern1-1 .col:nth-of-type(2n) {
	margin-right: 0px;
}

/* @end */

/* @group investors - ir-calendar */

#ir-calendar #main-content table.table-column {
	margin-bottom: 3em;
}

#ir-calendar #main-content table.table-column th,
#ir-calendar #main-content table.table-column td {
	padding: 1em .4em 1em 1.6em;
}

/* @end */

/* @group news */

body#news #h1-area,
body.news #h1-area {
	background-image: url("../../news/images/h1_bg_pc.jpg");
}

.news-detail-area .info-area {
	margin-bottom: 1.6em;
}

#main-content .news-detail-area h2 {
	background: none;
	font-size: 27px;
	letter-spacing: 0;
	margin-bottom: 1.2em;
	padding: 0 0 15px;
	text-align: left;
}

#main-content .news-detail-area h2::before {
	width: 100%;
	left: 0;
}

#main-content .news-detail-area * + h3 {
	margin-top: 2.3em;
}

#main-content .news-detail-area * + [class*="pattern"] [class*="col"] h3 {
	margin-top: .7em;
}

#main-content .news-detail-area + .link-btn {
	margin: 45px auto 0;
	width: 350px;
}

#main-content .news-detail-area .link-pattern {
	margin-top: 60px;
	margin-bottom: 60px;
}

/* @end */

/* @group columns */

#columns .bg-full-left {
	padding-bottom: 65px;
}

#columns #main-content .index-pattern .col p {
	font-size: 17px;
	padding: 0 1.7em;
	text-align: left;
	line-height: 1.7;
}

#columns .index-pattern .col a {
	padding-bottom: 25px;
}

#columns .index-pattern .col:nth-of-type(n+4) {
	margin-top: 3.2em;
}

#columns .index-pattern .col figure {
	height: 180px;
}

#columns .index-pattern .col figure img {
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
}

#columns .index-pattern .col a:hover figure img {
	transform: translate(-50%, -50%) scale(1.05);
}

#columns #main-content .entry-header {
	margin: 22px 0 14px;
}

#columns #main-content .entry-header .date {
	font-size: 14px;
	margin-right: 10px;
}

#columns #main-content .entry-header .cate {
	font-size: 15px;
	display: inline-block;
}

#columns .pagenation {
	margin-top: 50px;
}

/* @end */

/* @group privacy */

body.privacy #main-content dl dt {
	padding-left: 0;
}

body.privacy #main-content dl dt::before {
	display: none;
}

body.privacy #main-content dl dd {
	margin-bottom: 2em;
	padding-left: 0;
}

body.privacy #main-content dl dd:last-child {
	margin-bottom: 0;
}

/* @end */

/* @group security */

ol.security-list li {
	font-size: 16px;
	margin-bottom: 1em;
}

/* @end */

/* @group sitemap */

#sitemap ul.link-list &gt; li + li:not(.mt-0) {
	margin-top: 2em;
}

#sitemap ul.link-list ul {
	margin: .5em 0 1em !important;
}

#sitemap ul.link-list ul li {
	margin-bottom: .5em;
}

/* @end */

/* @group common */

.pc-none {
	display: none;
}

.tel-link {}
.img-switch {}

.inline-block {
	display: inline-block;
}

/* font */
.fw-bold {
	font-weight: bold;
}

/* flexbox */
.flexbox {
	display: flex;
}

.flex-wrap {
	flex-wrap: wrap;
}

.flex-center {
	justify-content: center;
}

.flex-left {
	justify-content: flex-start !important;
}

.flex-right {
	justify-content: flex-end !important;
}

.items-center {
	align-items: center;
}

.items-stretch {
	align-items: stretch;
}

/* backgroun-color */
.bg-white {
	background-color: #FFF;
}

/* position */
.left-position,
tr.left-position th,
tr.left-position td,
table.left-position th,
table.left-position td {
	text-align: left !important;
}

.right-position,
tr.right-position th,
tr.right-position td,
table.right-position th,
table.right-position td {
	text-align: right !important;
}

.center-position,
tr.center-position th,
tr.center-position td,
table.center-position th,
table.center-position td,
table.center-position-th th {
	text-align: center !important;
}

.middle-position,
tr.middle-position th,
tr.middle-position td,
table.middle-position th,
table.middle-position td {
	vertical-align: middle !important;
}

.nowrap,
.nowrap-th th {
	white-space: nowrap;
}
.word-wrap { word-wrap: break-word; }

/* display */
.display-inline { display: inline !important; }
.display-block { display: block !important; }
.display-inline-block { display: inline-block !important; }
.display-none { display: none !important; }

/* fontsize */
.fz-ss { font-size: 69% !important; }
.fz-s { font-size: 85% !important; }
.fz-m { font-size: 100% !important; }
.fz-l { font-size: 115% !important; }
.fz-ll { font-size: 130% !important; }
.fz-lll { font-size: 146% !important; }
.fz-llll { font-size: 176% !important; }

/* font weight */
.fw-normal { font-weight: normal !important; }
.fw-bold { font-weight: bold !important; }

/* margin */
.mb-0 { margin-bottom: 0px !important; }
.mb-5 { margin-bottom: 5px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-15 { margin-bottom: 15px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-25 { margin-bottom: 25px !important; }
.mb-30 { margin-bottom: 30px !important; }
.mb-35 { margin-bottom: 35px !important; }
.mb-40 { margin-bottom: 40px !important; }
.mb-45 { margin-bottom: 45px !important; }
.mb-50 { margin-bottom: 50px !important; }
.mb-55 { margin-bottom: 55px !important; }
.mb-60 { margin-bottom: 60px !important; }
.mb-70 { margin-bottom: 70px !important; }
.mb-80 { margin-bottom: 80px !important; }
.mb-90 { margin-bottom: 90px !important; }
.mb-100 { margin-bottom: 100px !important; }

.mb05em { margin-bottom: 0.5em !important; }
.mb1em { margin-bottom: 1em !important; }
.mb2em { margin-bottom: 2em !important; }

.ml-auto { margin-left: auto !important; }
.ml-0 { margin-left: 0px !important; }
.ml-5 { margin-left: 5px !important; }
.ml-10 { margin-left: 10px !important; }
.ml-15 { margin-left: 15px !important; }
.ml-20 { margin-left: 20px !important; }
.ml-25 { margin-left: 25px !important; }
.ml-30 { margin-left: 30px !important; }
.ml-35 { margin-left: 35px !important; }
.ml-31 { margin-left: 31px !important; }

.mr-auto { margin-right: auto !important; }
.mr-0 { margin-right: 0px !important; }
.mr-5 { margin-right: 5px !important; }
.mr-10 { margin-right: 10px !important; }
.mr-15 { margin-right: 15px !important; }
.mr-20 { margin-right: 20px !important; }
.mr-25 { margin-right: 25px !important; }
.mr-30 { margin-right: 30px !important; }
.mr-35 { margin-right: 35px !important; }

.mt-0 { margin-top: 0 !important; }
.mt-5 { margin-top: 5px !important;}
.mt-10 { margin-top: 10px !important; }
.mt-15 { margin-top: 15px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-25 { margin-top: 25px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-35 { margin-top: 35px !important; }
.mt-40 { margin-top: 40px !important; }
.mt-50 { margin-top: 50px !important; }
.mt-60 { margin-top: 60px !important; }
.mt-70 { margin-top: 70px !important; }

.last-para { margin-bottom: 45px !important; }
.last-para2 { margin-bottom: 75px !important; }

/* padding */
.pt-0 { padding-top: 0 !important; }
.pt-10 { padding-top: 10px !important; }
.pb-0 { padding-bottom: 0 !important; }
.pl-0 { padding-left: 0 !important; }
.pr-0 { padding-right: 0 !important; }

/* width */
.wd-100p { width: 100% !important; }
.wd-90p { width: 90% !important; }
.wd-85p { width: 85% !important; }
.wd-80p { width: 80% !important; }
.wd-75p { width: 75% !important; }
.wd-70p { width: 70% !important; }
.wd-65p { width: 65% !important; }
.wd-60p { width: 60% !important; }
.wd-50p { width: 50% !important; }
.wd-40p { width: 40% !important; }
.wd-30p { width: 30% !important; }
.wd-25p { width: 25% !important; }
.wd-20p { width: 20% !important; }
.wd-15p { width: 15% !important; }
.wd-auto { width: auto !important; }

.max-wd-100p { 	max-width: 100% !important; }

.indent-3em {
	padding-left: 3em;
	text-indent: -3em;
}

.indent-4em {
	padding-left: 4em;
	text-indent: -4em;
}
/* @end */


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

body {
	font-size: 15px;
	min-width: inherit;
	width: 100%;
	overflow: hidden;
}

body.flt-nav {
	margin-bottom: 126px;
}

body.flt-contact {
	margin-bottom: 65px;
}

a:hover {
	opacity: 1;
}

/* @group header */

[id*="header-area"] {
	min-width: inherit;
}

#header {
	height: 108px !important;
	padding: 0 20px 0 13px;
	width: 100%;
	background: #fff;
}

#header-area-clone #header {
	height: 68px !important;
}

#header .header-logo,
#drawer .header-logo {
	height: 27px;
	margin-top: 10px;
	width: 100px;
	position: relative;
}

#header-area-clone {
	height: 68px;
}

#header .header-logo-group,
#drawer .header-logo-group {
	top: 0;
	height: 50px;
	width: calc(100% + 20px);
	left: auto;
}

#header .header-logo-group img,
#drawer .header-logo-group img {
	width: 94px;
	height: 17px;
	right: 10px;
	top: 17px;
}

#drawer .header-logo-group {
	width: 100%;
	right: 10px;
	position: relative;
	top: 0;
}

#drawer .header-logo-group img {
	position: absolute;
	right: 0;
}

#header-area-clone .header-logo{
	margin-top:18px;
}
/* @end */

/* @group header-menu */

[id^="header-menu"] {
	padding: 65px 60px 0 0;
}

[id^="header-menu"] &gt; ul {
	margin: 0;
}

[id^="header-menu"] ul li a {
	font-size: 12px !important;
}

[id^="header-menu"] li.language {
	margin-right: 17px;
}

[id^="header-menu"] li.language li {
	margin-right: 15px;
	height: 16px;
}

#header-area #site-search {
	display: none;
}

/* @end */

/* @group gnav */

[id*="toggle-nav"] {
	top: 50px !important;
	right: 10px !important;
}

.toggle-menu {
	height: 48px;
	width: 48px;
}

.toggle-menu span {
	width: 11px;
	top: 23px;
}

.toggle-menu span::before,
.toggle-menu span::after {
	width: 11px;
}

.toggle-menu span::before {
	margin-top: -5px;
}

.toggle-menu span::after {
	margin-top: 5px;
}

.toggle-menu.close span::before,
.toggle-menu.close span::after {
	margin: 0;
	width: 15px;
	}
#header-area-clone [id*="toggle-nav"] {
	top: 10px !important;
}

#gnav-area {
	display: none;
}

/* @end */

/* @group drawer-nav-area */

#drawer-nav-area {
	min-width: inherit;
}

#drawer-nav-area &gt; div {
	padding-top: 0;
}

#drawer .header-logo {
	top: 0;
	left: 13px;
}

#drawer #toggle-nav-clone {
	opacity: 1;
}

#drawer #header-menu-clone {
	display: block;
	padding: 0;
	top: 65px;
	right: 60px;
}

#site-search-area {
	margin: 40px auto 40px;
	width: 194px;
}

#site-search #search-input {
	background-color: #F8F8F5;
	border-color: #E0E0D4;
	height: 28px;
	width: 100%;
}

#site-search #search-buttom {
	height: 28px;
	width: 28px;
}

#drawer &gt; ul {
	margin-left: auto;
	margin-right: auto;
	width: 280px;
}

#drawer ul.main-nav {
	margin-bottom: 30px;
}

#drawer ul.main-nav li {
	margin: 0;
	width: 100%;
}

#drawer ul.main-nav li a {
	border: none;
	font-size: 17px;
	padding: 0;
	line-height: 2;
	margin-bottom: 1.2em;
}

#drawer ul.main-nav li a:hover::before,
#drawer ul.sub-nav li a:hover::after {
	transform: scale(0);
}

#drawer ul.sub-nav {
	margin-right: auto;
}

#drawer ul.sub-nav li {
	margin: 0 1.5em 1.4em 0;
	min-width: calc((100% - 1.5em) / 2);
	width: auto;
}

#drawer ul.sub-nav li:nth-of-type(2n) {
	margin-right: 0;
}

#drawer ul.sub-nav li a {
	font-size: 14px;
}

#drawer ul.sub-nav li a::before {
	height: 3.5px;
	width: 3.5px;
	left: 3px;
}

/* @end */

/* @group content-area */

#content-area {
	margin-top: 108px;
}

.pc-none {
	display: inherit;
}

.sp-none {
	display: none;
}

/* @end */

/* @group h1-area */

#h1-area {
	background-image: url("../images/h1_bg_sp.jpg");
	margin-bottom: 40px;
	height: auto;
	min-height: 75px;
	min-width: inherit;
	overflow: inherit;
}

#h1-area h1 {
	font-size: 20px;
	line-height: 1.2;
	margin: auto;
	width: calc(100% - 30px);
}

#h1-area h1 &gt; span {
	padding: 15px;
}

#h1-area span span {
	font-size: 15px;
	margin-bottom: 2px;
}

/* @end */

/* @group breadcrumb */

#bread-crumb-area {
	padding: 0;
}

#breadcrumb {
	font-size: 10px;
	padding: 0 20px;
	margin: 0 auto 10px;
	width: 100%;
}

#breadcrumb li:first-of-type {
	background-position: left 2px;
	background-size: 9px auto;
}

/* @end */

/* @group main-content */

#main-content {
	margin-bottom: 54px;
	padding: 0 20px;
	width: 100%;
}

#main-content section,
#main-content .section {
	margin-bottom: 55px;
}

.wd-full {
	margin-left: -20px;
	margin-right: -20px;
}

.wd-full-2nd {
	margin-left: -20px;
	margin-right: -20px;
	padding-left: 20px;
	padding-right: 20px;
}

[class*="bg-full"]::before {
	height: calc(100% - 50px);
	width: 150vw !important;
	left: -25vw !important;
	right: auto !important;
}

/* @group heading */

#main-content h2 {
	font-size: 20px;
	margin-bottom: 1.4em;
	padding: .9em 0 .7em;
	background-size: 11px 11px;
}

#main-content h3,
#main-content .heading-h3 {
	font-size: 17px;
	margin-bottom: 1em;
}

#main-content h4,
#main-content .heading-h4 {
	font-size: 16px;
	margin-bottom: .7em;
}

/* @end */

/* @group lead */

.lead-s {
	text-align: left;
	font-size: 16px;
}

.lead {
	font-size: 21px;
}

.lead-box {
	padding: 25px;
	text-align: left;
}

#main-content .lead-box .lead {
	font-size: 18px;
	line-height: 1.5;
	text-align: left;
}

#main-content .lead-box .lead + p {
	color: #000;
	font-size: 16px;
	letter-spacing: 0;
	line-height: 1.8;
	margin-top: 18px;
	padding-top: 15px;
}

/* @end */

/* @group pattern */

[class*="pattern1-"], [class*="pattern2-"], [class*="pattern3-"], [class*="pattern4-"] {
	margin-bottom: 2em;
}

.right-col, .left-col {
	float: none;
}

[class*="pattern"] [class*="col"] {
	margin-right: 0;
	margin-bottom: 1.5em;
	width: 100% !important;
}

[class*="col"] figure {
	text-align: center;
}

[class*="col"] figure img {
	width: 100%;
}

/* @end */

/* @group caution */

ul.caution li {
	line-height: 1.9;
	margin-bottom: .7em;
}

/* @end */

/* @group box */

.box {
	padding: 20px 18px 24px;
}

/* @end */

/* @group ul */

ul.list &gt; li,
ul.list ul &gt; li {
	margin-bottom: 0.3em;
	padding-left: 1.4em;
}

ul.list ul,
ul.list ol {
	margin: .3em 0 .8em .6em;
}

ul.list ul &gt; li {
	margin-left: 0;
}

ul.list &gt; li::after,
ul.list ul &gt; li::after {
	left: 5px;
}

/* @end */

/* @group list type-A */

ul.list.type-A li {
	font-size: 16px;
	margin-bottom: .8em;
	padding: 0 0 .9em 1.7em;
}

ul.list.type-A li::before {
	border-width: .5px;
	height: .68em;
	width: .68em;
	top: calc((1.7em - .68em) / 2);
	left: .72em;
}

ul.list.type-A li::after {
	left: .8em;
}

/* @end */

/* @group ol */

ol &gt; li {
	margin-bottom: .3em;
	padding-left: 1.2em;
}

ol &gt; li::before {
	left: 0;
}

ol ol {
	margin-bottom: .8em;
}

ol ol li {
	padding-left: 1.4em;
}

#main-content ol &gt; li &gt; ul.list {
	margin-top: .3em;
}

/* @end */

/* @group link */

#main-content p.link,
ul.link-list li {
	padding-left: 1.9em;
	line-height: 1.9;
}

.link::before,
ul.link-list li::before {
	top: calc((1.9em - 6px) / 2);
}

/* @end */

/* @group link-list */

/* @end */

/* @group link-list2 */

ul.link-list2 li {
	border-bottom: 1px solid #B2B2B2;
	padding: 13px 0 30px 70px;
	line-height: 1.6;
}

ul.link-list2 li img {
	width: 40px;
	position: absolute;
	top: 0;
	bottom: auto;
	left: 15px;
}

ul.link-list2 li a {
	font-size: 16px;
	letter-spacing: 0;
	margin-right: .5em;
}

ul.link-list2 li a span {
	line-height: 1.6;
	padding: 0;
}

ul[class*="link-list"].list-2col li,
ul[class*="link-list"].list-3col li {
	margin-right: 0;
	margin-bottom: 0 !important;
	width: 100%;
}

.link-list li:not(:first-of-type) {
	margin-top: 15px !important;
}

.link-list2 li:not(:first-of-type) {
	margin-top: 25px !important;
}

/* @end */

/* @group link-btn */

#main-content .link-btn-ll {
	width: 100%;
}

[class*="link-btn-l"]::before {
	border-width: 0 10px 10px 0;
}

[class*="link-btn-l"] span.icon {
	margin: auto;
	height: 43px;
	width: 38px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 23px;
}

[class*="link-btn-l"] span.title {
	font-size: 19px;
	line-height: 1.5;
	margin-bottom: 0;
}

[class*="link-btn-l"] span.date {
	font-size: 13px;
}

.link-btn-l a {
	padding: 1em 60px 1em 75px;
}

.link-btn-l.btn-fz-s a {
	padding: 1.6em 40px 1.8em 80px;
}

.link-btn-l.btn-fz-s span.icon {
	height: 43px;
	width: 38px;
	left: 22px;
}

.link-btn-l.btn-fz-s span.title {
	display: inline;
	font-size: 16px;
	letter-spacing: .02em;
	line-height: 1.56;
	text-align: left;
}

.link-btn-l.btn-fz-s span.date {
	display: inline;
	margin-top: 0;
}

.link-btn-ll a {
	height: auto;
	padding: 17px 0;
	min-height: 92px;
}

.link-btn.info-list-btn {
	max-width: 100% !important;
}

.link-btn.info-list-btn a {
	padding: .9em 1em !important;
}

.download-all {
	padding-bottom: 43px;
}

.download-all::before {
	height: calc(100% - 47px);
}

#main-content .download-all .link-btn-ll {
	margin: auto;
	max-width: 300px;
}

.download-all .link-btn-ll::before {
	border-width: 0 11px 11px 0;
}

.download-all .link-btn-ll a {
	padding: 32px 0 0;
	min-height: 193px;
}

.download-all .link-btn-ll span.icon {
	margin: 0 auto 18px;
	height: 53px;
	width: 46px;
	position: static;
}

.download-all .link-btn-ll span.title {
	margin-bottom: 4px;
}

.download-all .right-col {
	padding-top: 5px;
}

.download-all ul li {
	font-size: 15px;
	line-height: 1.9;
	padding-left: 1.3em;
	margin-bottom: 0 !important;
}

.download-all ul li::after {
	top: calc((1.9em - .4em) / 2);
}

.link-btn-arrow a {
	padding: .9em 2em .9em 2.5em;
}

.link-btn-arrow a::before {
	left: 15px;
}

.link-btn-arrow.btn-intro {
	font-size: 17px;
}

.link-btn-arrow.btn-intro a {
	padding: 1em 2em 1em 2.5em;
}

.link-btn-arrow.btn-intro a::before {
	height: 5px;
	width: 24px;
}

/* @end */

/* @group dl */

#main-content dl dt {
	font-size: 17px;
	padding-left: 1.2em;
}

#main-content dl dd {
	margin: 0 0 1.1em;
	padding-left: 1.3em;
}

/* @end */

/* @group table */

#main-content table table {
	margin-left: -15px;
}

#main-content table.table-column th,
#main-content table.table-column td {
	display: block;
	padding: 0;
	width: 100% !important;
}

#main-content table.table-column th {
	border: none;
}

#main-content table.table-column tr:first-child th {
	padding: 8px 0 0 15px;
}

#main-content table.table-column tr:not(:first-child) th {
	padding: 23px 0 0 15px;
}

#main-content table.table-column td {
	border-width: 0 0 1px;
	padding: 11px 0 25px 15px;
	line-height: 1.87;
}

#main-content table.table-column table td {
	border: none;
	padding: 0 0 0 15px;
}

#main-content table.table-column table tr:not(:last-child) td:last-child {
	padding-bottom: 18px;
}

#main-content table.table-history tr {
	display: flex;
	flex-wrap: wrap;
}

#main-content table.table-history th:not(.sub-head) {
	border-width: 1px 0 0;
	padding: 9px 0 11px 15px;
	width: 100%;
}

#main-content table.table-history tr:first-child th:not(.sub-head) {
	border: none;
	padding: 9px 0 11px 15px;
}

#main-content table.table-history tr:not(:first-child) th:not(.sub-head) {
	margin-top: 12px;
	padding: 22px 0 11px 15px;
}

#main-content table.table-history th.sub-head {
	border: none;
	padding: 0 0 11px 15px;
	width: 4.3em;
	text-align: left;
}

#main-content table.table-history td {
	border: none;
	line-height: 1.87;
	padding: 0 15px 11px 0;
	width: calc(100% - 4.3em);
}

#main-content table.table-normal th,
#main-content table.table-normal td {
	padding: 12px 15px 7px;
}

#main-content table.table-ir tr:first-child {
	display: none;
}

#main-content table.table-ir tr {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

#main-content table.table-ir tr + tr {
	margin-top: 25px;
}

#main-content table.table-ir th,
#main-content table.table-ir td {
	border: none;
	display: block;
}

#main-content table.table-ir th {
	background-color: transparent;
	position: relative;
}

#main-content table.table-ir th::before {
	background-color: #F8F6E5;
	content: "";
	height: 100%;
	width: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#main-content table.table-ir tr th:first-child {
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 21px;
	padding: 10px 0;
	width: 100%;
}

#main-content table.table-ir tr th::before {
	width: 100vw;
	left: -20px;
}

#main-content table.table-ir td {
	height: auto;
	margin-right: 15px;
	width: calc((100% - 15px) / 2);
}

#main-content table.table-ir td:nth-of-type(2n) {
	margin-right: 0;
}

#main-content table.table-ir td:nth-of-type(n+3) {
	margin-top: 15px;
}
#main-content table.table-ir td a {
	border: 1px solid #E0E0E0;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #333;
	font-size: 14px;
	height: 63px;
	padding-left: 38px;
	width: 100%;
}

#main-content table.table-ir td a::before {
	margin: auto;
	height: 43px;
	width: 32px;
	top: 0;
	bottom: 0;
	left: 10px;
}

#main-content table.table-ir td a span {
	display: block;
}

#main-content table.table-column.table-medical th {
	padding: 1.2em 1.2em 0em 1.2em !important;
}

#main-content table.table-column.table-medical td {
	padding: .5em 1.2em 1.2em 1.2em !important;
}

#main-content table.table-column.table-medical th::before {
	display: none;
}

/* @end */

/* @group dl.qa */

#main-content dl.qa &gt; dt {
	font-size: 17px;
	line-height: 1.7;
	margin-bottom: .9em;
	padding-left: 2.6em;
	padding-top: 3px;
}

#main-content dl.qa &gt; dt::before {
	height: 35px;
	width: 35px;
}

#main-content dl.qa &gt; dd {
	line-height: 1.87;
	padding: 2px 0 1.3em 3em;
	margin-bottom: 25px;
}

#main-content dl.qa &gt; dd::before {
	height: 35px;
	width: 35px;
}

/* @end */

/* @group accordion */

#main-content .accordion dl &gt; div {
	margin-bottom: 20px;
}

#main-content .accordion div &gt; dt {
	font-size: 16px;
	letter-spacing: .09em;
	padding: 0 46px 0 0;
	line-height: 1.6;
}

#main-content .accordion div &gt; dt::before,
#main-content .accordion div &gt; dt::after {
	height: 2px;
	width: 12px;
	right: calc((46px - 12px) / 2);
}

#main-content .accordion div &gt; dt span {
	background-image: none;
	padding: .6em .5em .7em .9em;
}

#main-content .accordion div &gt; dd {
	padding: 1.4em 1.6em 1.6em;
}

/* @group accordion-block */

#main-content .accordion-btn {
	height: 50px;
	margin: 0 auto;
	width: 100%;
	max-width: 335px;
}

.accordion-btn span {
	height: 15px;
}

.accordion-btn span::before,
.accordion-btn span::after {
	height: 2px;
	width: 12px;
	right: calc((46px - 12px) / 2);
}

/* @end */

/* @end of accordion */

/* @group link-anchor */

.link-anchor ul {
}

.link-anchor ul li {
	border: none !important;
	min-height: 70px;
	width: 100% !important;
	position: relative;
}

.link-anchor ul li::before {
	border-color: #000;
	border-style: dotted;
	border-width: 0 0 1px;
	content: "";
	height: 100%;
	width: 100vw;
	position: absolute;
	top: 0;
	left: -20px;
}

.link-anchor ul li:first-child::before {
	border-width: 1px 0;
}

.link-anchor ul li a {
	line-height: 1.9;
	padding: .5em 1.5em;
}

.link-anchor ul li a:hover {
	background-color: transparent;
}

.link-anchor ul li a::before {
	height: 6px;
	width: 12px;
	top: 2px;
	bottom: 0;
	left: 10px;
	right: auto;
}

/* @end */

/* @group link-pattern */

/* @end */

/* @group index-pattern */

[class*="index-pattern"][class*="bg-full"]{
	padding-bottom: 50px;
}

[class*="index-pattern"] .col {
	margin-bottom: 0;
}

[class*="index-pattern"] .col:not(:first-of-type) {
	margin-top: 2.5em;
}

[class*="index-pattern"] a {
	margin: 18px 0 0 28px;
	padding-bottom: 25px;
}

[class*="index-pattern"] .col figure {
	margin: 0 0 -27px;
	width: 98.2%;
	top: -25px;
	left: -28px;
}

#main-content [class*="index-pattern"] .col figure + p:not(.head) {
	line-height: 1.5;
	margin: 28px 0 0;
}

#main-content [class*="index-pattern"] .col .head {
	font-size: 19px;
	line-height: 1.5;
	margin-top: 1em;
}

#main-content [class*="index-pattern"] .col p + .head {
	margin-top: 7px;
}

[class*="index-pattern"] .col .head .en {
	font-size: 8px;
	margin-top: .4em;
}

/* @group index-pattern2 */

.index-pattern2 {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.index-pattern2[class*="bg-full"] {
	padding-bottom: 40px;
}

.index-pattern2[class*="bg-full"]::before {
	height: calc(100% - 20px);
}

.index-pattern2 &gt; .col {
	min-height: 149px;
	margin-bottom: 0;
	margin-right: 0 !important;
	width: 100%;
}

.index-pattern2 &gt; .col a {
	padding: 15px 0 20px 0;
}

.index-pattern2 &gt; .col:not(:first-of-type) {
	margin-top: 20px;
}

.index-pattern2 a {
	margin: 0;
	padding: 15px 0 15px 0;
}

.index-pattern2 .col .left-col {
	margin: 0;
	padding: 0 5px;
	width: 145px !important;
}

.index-pattern2 .col .right-col {
	margin: 0;
	padding-top: 20px;
	width: 147px !important;
}

.index-pattern2 .col div p:not(.head) {
	font-size: 10px;
}

#main-content .index-pattern2 .clf {
	margin-bottom: 5px;
}

.index-pattern2 .col figure {
	height: 90px;
	width: 135px;
}

#main-content .index-pattern2 .col .head {
	font-size: 13.6px;
}

#main-content .index-pattern2 .right-col p {
	line-height: 1.5;
	margin-bottom: 0;
}

#main-content .index-pattern2 .coming-soon p {
	font-size: 11.5px;
}

/* @end */

/* group index-pattern3 */

.index-pattern3[class*="bg-full"]::before {
	height: calc(100% - 60px);
}

.index-pattern3 .col {
	margin-bottom: 0;
}

.index-pattern3 .col:not(:first-of-type) {
	margin-top: 30px !important;
}

.index-pattern3 .col a {
	margin: 27px 0 0 27px;
}

.index-pattern3 .col figure {
	margin: 0 0 -26px;
	top: -27px;
	left: -27px;
}

#main-content .index-pattern3 .col .head {
	font-size: 18px;
	margin-top: 1em;
}

#main-content .index-pattern3 .col .head span:not(.en) {
	font-size: 13px;
}

#main-content .index-pattern3 .col .head .en {
	letter-spacing: .03em;
}

.index-pattern3.and-pattern4 .col figure {
	margin-bottom: -8px;
}

#main-content .index-pattern3.and-pattern4 .col p:not(.head) {
	font-size: 15px;
	letter-spacing: 0;
}

#main-content .index-pattern3.and-pattern4 .col p.head {
	font-size: 17px;
	letter-spacing: 0;
	margin: 7px 0 0;
}

/* @end */

/* @group index-pattern4 */

.index-pattern4[class*="bg-full"] {
	padding-bottom: 35px;
}

.index-pattern4[class*="bg-full"]::before {
	height: calc(100% - 20px);
}

.index-pattern4 .col:not(:first-of-type) {
	margin-top: 1.3em;
}

.index-pattern4 a {
	margin: 0;
	min-height: 96px;
	padding: 1em 3.2em;
}

#main-content .index-pattern4 .col p:not(.head) {
	font-size: 16px;
	letter-spacing: 0;
}

#main-content .index-pattern4 .col p.head {
	font-size: 18px;
	letter-spacing: 0;
	margin-top: 2px;
}

#main-content .index-pattern4.medical .col p:not(.head) {
	font-size: 12px !important;
	margin-top: 5px;
}

/* @end */

/* @group lower-nav */

.lower-nav {
	flex-wrap: wrap;
	min-width: inherit;
	margin: 0 auto 2em;
}

.lower-nav::before {
	height: 100%;
}

.lower-nav [class*="col"] {
	border-left: none;
	border-top: 1px solid #FFF;
	width: 100%;
}

.lower-nav [class*="col"]:first-child {
	border-top: none;
}

.lower-nav .head {
	display: table;
	min-height: 120px;
	width: 100%;
}

.lower-nav .head a {
	display: table-cell;
	vertical-align: middle;
	font-size: 20px;
	height: auto;
	padding: 1em 0 1em 120px;
	text-align: left;
}

.lower-nav .head .en {
	font-size: 10px;
	margin-top: 14px;
}

.lower-nav ul.list {
	display: none;
}

/* @end */

/* @group index-pattern5 */

.index-pattern5[class*="bg-full"] {
	padding-bottom: 52px;
}

.index-pattern5[class*="bg-full"]::before {
	height: calc(100% - 37px);
}

.index-pattern5 .col {
	margin-left: auto !important;
	margin-right: auto !important;
	width: 94% !important;
}

.index-pattern5 .col:not(:first-of-type) {
	margin-top: 1.7em;
}

.index-pattern5 .col a {
	padding: 31px 22px 24px 24px;
}

#main-content .index-pattern5 .col .head {
	letter-spacing: .1em;
	margin: 0 0 .9em;
}

#main-content .index-pattern5 .col .head + p {
	font-size: 15px;
	line-height: 1.9;
	margin-bottom: .3em;
}

#main-content [class*="index-pattern"] .col .more {
	margin: 0 2px 0 0;
}

#main-content [class*="index-pattern"] .col .more span {
	padding: 0 1px 2px 3px;
}

[class*="index-pattern"] .col .more span::before {
	width: 100%;
	right: 0;
}

/* @end */

/* @group index-pattern-1col */

.index-pattern-1col[class*="bg-full"] {
	padding-bottom: 45px;
}

.index-pattern-1col.bg-full-right::before {
	height: calc(100% - 110px);
}

.index-pattern-1col .col {
	padding: 0;
}

.index-pattern-1col a {
	margin: 0;
	padding: 152px 0 0;
}

.index-pattern-1col .col figure {
	margin: 0;
	width: 80%;
	top: 0;
	left: 0;
}

.index-pattern-1col .col a &gt; div {
	margin: auto;
	padding: 35px 24px 25px;
	width: 80%;
}

#main-content .index-pattern-1col .col .head {
	margin: 0 0 1.3em;
}

#main-content .index-pattern-1col .col .head + p {
	margin-bottom: .5em;
}

/* @end */

/* @group index-pattern-btn */

.index-pattern-btn.bg-full-right::before {
	height: calc(100% - 78px);
}

.index-pattern-btn &gt; div {
	margin: auto;
	max-width: 1424px;
	padding: 135px 20px 0;
}

.index-pattern-btn figure {
	margin: 0;
	width: 540px;
	position: absolute;
	top: 0;
	right: calc(50% - 63px);
}

.index-pattern-btn figure img {
	box-shadow: 0 0 30px 5px rgba(0, 0, 0,.04);
}

.index-pattern-btn .col {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 30px;
}

.index-pattern-btn &gt; .col:last-child {
	margin-bottom: 0;
}

.index-pattern-btn .col a {
	background-color: #FFF;
	border: 1px solid transparent;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0,.05);
	display: block;
	margin: 0;
	max-width: 572px;
	padding: 0 90px 28px 28px;
	overflow: hidden;
}

.index-pattern-btn .col a::before,
.index-pattern-btn .col a::after {
	background: url("../images/icon_arrow.svg") no-repeat center / 100% auto;
	border: none;
	content: "";
	height: 5px;
	width: 25px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 3px;
	right: 28px;
	opacity: 1;
}

#main-content .index-pattern-btn .col .head {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0em;
	margin: 1.5em 0 .9em;
	text-align: left;
}

#main-content .index-pattern-btn .col p:not(.head) {
	font-size: 15px;
	line-height: 1.7;
	text-align: left;
}

/* @end */

/* @group index-pattern-list */

.pattern-list-area2 {
	padding-bottom: 0;
}

section[class*="pattern-list-area"] + section[class*="pattern-list-area"] {
	margin-top: -17px;
}

[class*="index-pattern-list"] {
	flex-wrap: wrap;
}

.index-pattern-list.bg-full-right {
	padding-bottom: 45px;
}

.index-pattern-list.bg-full-right::before {
	height: calc(100% - 25px);
}

#main-content .index-pattern-list .head {
	font-size: 18px;
	height: auto;
	margin: 0 auto 30px;
	padding: 58px 5px 22px;
	width: 74.62%;
	position: static;
}

#main-content .index-pattern-list .head img[class*="icon"] {
	top: 17px;
	left: 0;
}

#main-content .index-pattern-list .head img.icon01 {
	width: 40px;
	top: 19px;
}

#main-content .index-pattern-list .head img.icon02 {
	width: 27px;
	left: 2px;
}

#main-content .index-pattern-list .head img.icon03 {
	width: 26px;
}

#main-content .index-pattern-list .head img.icon04 {
	width: 37px;
	top: 20px;
	right: 3px;
}

.index-pattern-list &gt; div {
	padding-top: 0;
	width: 100%;
}

#main-content .index-pattern-list &gt; div &gt; p:first-child {
	margin-top: -7px;
}

[class*="index-pattern-list"] ul li a {
	font-size: 16px;
	padding: 17px 45px 17px 20px;
}

[class*="index-pattern-list"] ul li a::before {
	height: 4px;
	width: 18px;
	bottom: 1px;
	right: 18px;
}

[class*="index-pattern-list"] ul li a:hover {
	transform: translateX(0);
}

.index-pattern-list2.bg-full-right::before {
	height: calc(100% - 38px);
}

#main-content .index-pattern-list2 h2.head-img {
	width: 83.5%;
	margin: 0 auto 10px;
}

.index-pattern-list2 .list-col {
	padding-top: 19px;
	width: 100%;
}

.index-pattern-list3[class*="bg-full"]::before {
	height: calc(100% - 62px);
}

.index-pattern-list3 .col a {
	margin-left: 28px;
	padding-bottom: 25px;
}

#main-content .index-pattern-list3 .col p:not(.head) {
	padding: 0 23px;
}

.index-pattern-list3 .list-col {
	padding-top: 30px;
}

.index-pattern-list3 .list-col li a {
	padding-left: 20px;
}

.index-pattern-list3 .list-col li a::before {
	right: 17px;
}

/* @end of index-pattern */

/* @group info-area */

.info-area {
	margin-bottom: 2em;
}

.info-area ul li {
	flex-wrap: wrap;
	padding: 16px 10px 22px 12px;
}


#main-content .info-area .date-cate {
	flex-wrap: wrap;
	margin-bottom: 6px;
	width: 100%;
}

.info-area .date-cate .date {
	width: 8.5em;
}

#main-content .info-area .date-cate .cate {
	min-width: 120px;
	margin-top: -1px;
	width: auto;
}

.info-area ul li &gt; div {
	margin-left: 0;
	width: 100%;
}

#main-content .info-area ul li &gt; div p:not(.title) {
	font-size: 13px;
	line-height: 1.7;
	margin: .9em 0 0;
}

/* @end */

/* @group pagenation */

.pagenation {
	margin: 17px 0 0;
	padding: 0 3px;
}

.info-area + .pagenation {
	margin-top: -13px;
}

.pagenation ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

.pagenation ul li {
	display: block;
	margin: 17px 5px 0;
}

.pagenation ul li.prev {
	margin-right: 25px;
}

.pagenation ul li.next {
	margin-left: 25px;
	margin-right: 0;
}

/* @end */

/* @group medical-link-box */

.medical-link-box {
	margin-left: -20px;
	width: 100vw;
}

.medical-link-box &gt; div {
	padding: 16px 20px 25px;
}

.medical-link-box .col-yes,
.medical-link-box .col-no {
	width: 50%;
}

#main-content .medical-link-box .head {
	font-size: 16px;
	margin-bottom: .8em;
}

.medical-link-box ul {
}

.medical-link-box ul li {
	width: 100% !important;
}

.medical-link-box ul li:not(:first-of-type) {
	margin-top: 11px;
}

.medical-link-box .col-yes ul li {
	margin-right: 0;
}

.medical-link-box ul li a {
	font-size: 13.5px;
	padding: 9px 0 11px;
}

/* @end */

/* @group form */

#main-content .form-area div.row {
	flex-wrap: wrap;
	margin-bottom: 6px;
}

#main-content .form-area div.row::before {
	width: 150vw;
	left: -25vw;
}

#main-content .form-area div.cell1,
#main-content .form-area div.cell2 {
	border: none !important;
	width: 100%;
}

#main-content .form-area div.cell1 {
	padding: .7em 0 0;
}

#main-content .form-area div.cell2 {
	padding: .9em 0 1.4em;
}

#main-content .form-area div.cell1 br {
	display: none;
}

#main-content .form-area div.cell2 input[type="text"],
#main-content .form-area div.cell2 input[type="email"],
#main-content .form-area div.cell2 input[type="tel"],
#main-content .form-area div.cell2 textarea {
	width: 100%;
	font-size: 14px;
	padding: .2em .9em 0;
}

#main-content .form-area div.cell2 textarea {
	min-height: 118px;
}

#main-content .form-area div.cell2 .input-group.form-file {
	width: 100%;
}

#main-content .form-area div.cell2 .input-group.form-file #inputFileReset {
	height: 38px;
}

#main-content .form-area div.cell2 ul.form-checkbox li,
#main-content .form-area div.cell2 ul.form-list li {
	min-width: calc(100% / 2);
}

#main-content .form-area div.cell2 select {
	border-radius: 0;
	min-width: inherit;
	max-width: inherit;
	width: 100%;
}

#main-content .form-area div.cell2 input.text-s {
	width: calc((100% - 15px) / 2);
}

#main-content .form-area div.cell2 input.text-s + input.text-s,
#main-content .form-area div.cell2 input.text-s + span.hyphen + input.text-s {
	margin-left: 15px;
}

#main-content .form-area div.cell2 input.text-s + span.hyphen::before {
	width: 7px;
	left: 3px;
}

#main-content .form-area div.cell2 p.caution {
	font-size: 14px;
}

#main-content .form-area h3 {
	border-bottom: none;
	margin-bottom: .5em;
}

#main-content .form-area div.error-msg::before {
	top: 1px;
}

#main-content #privacy-box {
	margin-bottom: 40px;
	max-height: 163px;
}

#main-content #privacy-box &gt; div {
	padding: 1em 1.2em;
}

.form-area .form-btn-area {
}

#main-content .form-btn-area .form-btn {
	margin: 0 15px 0 0;
	width: calc((100% - 15px) / 2);
}

.form-btn button {
	width: 100%;
}

.form-btn button.btn-confirm {
	width: 100%;
}

/* @end */

/* @group related-link */

.related-link ul {
	padding: 0;
}

.related-link ul li {
	border-width: 0 0 1px 0;
	height: auto;
	margin: 0 -20px;
	padding: 0 20px;
	width: 100vw;
}

.related-link ul li:first-of-type {
	border-width: 1px 0;
}

.related-link ul li a {
	flex-direction: row;
	padding: 1.5em 0 1.6em;
}

.related-link ul li a:hover {
	background-color: transparent;
}

/* @end */

/* @end of main-content */

/* @group footer-bnr-area */

#footer-bnr-area {
	margin-bottom: 53px;
}

/* @end */

/* @group float-nav */

#float-nav {
	transform: translateY(0);
	top: auto;
	bottom: 0;
	width: 100%;
}

#float-nav &gt; ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

#float-nav &gt; ul &gt; li {
	width: 50%;
	border-width: 1px 0 0;
}

#float-nav &gt; ul &gt; li:nth-of-type(2n) {
	border-width: 1px 0 0 1px;
}

#float-nav ul li a,
#float-nav ul li.parent &gt; p {
	font-size: 12px;
	padding-left: .9em;
}

#float-nav &gt; ul &gt; li &gt; a,
#float-nav ul li.parent &gt; p {
	height: 45px;
}

#float-nav &gt; ul &gt; li &gt; a span,
#float-nav ul li.parent &gt; p span {
	font-size: 9px;
	margin-top: 1px;
}

#float-nav ul li.parent &gt; p::before,
#float-nav ul li.parent &gt; p::after {
	width: 9px;
	right: 14px;
}

#float-nav &gt; ul &gt; li &gt; a[target="_blank"]::after {
	height: 23px;
	width: 16.5px;
	right: 10px;
}

#float-nav ul li:not(.parent) &gt; a:not([target="_blank"])::after {
	height: 6px;
	width: 6px;
	right: 16px;
}

#float-nav ul ul {
	display: block;
	width: 100vw;
	transform: translateY(100%);
	transition: all .5s;
	position: absolute;
	bottom: 42px;
	opacity: 0;
	z-index: -2;
}

#float-nav &gt; ul &gt; li:nth-of-type(3) ul,
#float-nav &gt; ul &gt; li:nth-of-type(4) ul {
	bottom: 84px;
}

#float-nav &gt; ul &gt; li:nth-of-type(5) ul,
#float-nav &gt; ul &gt; li:nth-of-type(6) ul {
	bottom: 126px;
}

#float-nav &gt; ul &gt; li:nth-of-type(2n+1) ul {
	left: 0;
}

#float-nav &gt; ul &gt; li:nth-of-type(2n) ul {
	right: 0;
}

#float-nav ul li.active ul {
	transform: translateY(0);
	opacity: 1;
}

#float-nav ul ul {
	display: flex;
	background-color: initial;
}

#float-nav ul ul li {
	border-width: 2px 0 0 2px;
	width: 33.3%;
	background-color: #F5F5F5;
}

#float-nav ul ul li:first-of-type {
	border-width: 2px 0 0 0;
}

#float-nav ul ul li a {
	height: 86px;
	padding: 33px 5px 0 0;
	align-items: center;
}

#float-nav ul ul li a span {
	margin-top: 3px;
}

#float-nav ul ul li a[target="_blank"]::after {
	top: 10px;
	bottom: auto;
	left: 0;
	right: 0;
}

/* @end */

/* @group float-contact */

#float-contact {
	flex-wrap: wrap;
	height: auto;
	width: 100%;
	transform-origin: left bottom;
	transform: translateY(calc(100% - 65px));
	top: auto;
	bottom: 0;
}

#float-contact.active {
	transform: translateY(0);
}

#float-contact h2 {
	font-size: 15px;
	letter-spacing: .12em;
	height: 65px;
	padding: 0;
	width: 100%;
}

#float-contact h2::before {
	transform: rotate(180deg);
	top: 0;
	bottom: auto;
	left: auto;
	right: 0;
}

#float-contact h2::after {
	display: none;
}

#float-contact h2 span {
	-webkit-writing-mode: inherit;
	-ms-writing-mode: inherit;
	writing-mode: inherit;
}

#float-contact &gt; div {
	min-height: inherit;
	padding: 16px 0;
	text-align: center;
	width: 100%;
}

#float-contact .sub-head {
	font-size: 14.4px;
	margin-bottom: .9em;
	padding: .4em .5em .4em .7em;
}

#float-contact h3 {
	font-size: 15px;
	margin-bottom: .4em;
	letter-spacing: 0;
}

#float-contact .tel {
	justify-content: center;
	font-size: 20px;
	margin-bottom: .2em;
}

#float-contact .tel span {
	font-size: 30.6px;
}

#float-contact .tel span a {
	text-decoration: none;
}

#float-contact .contact-time {
	font-size: 13.5px;
	text-align: center;
}

#float-contact .contact-time span {
	display: inline-block;
	padding-left: 0;
}

#nepic #float-contact &gt; div {
	padding: 17px 0 22px;
}

#nepic #float-contact .tel {
	font-size: 22px;
}

#nepic #float-contact .tel span {
	bottom: 1px;
	letter-spacing: .03em;
}

#nepic #float-contact .tel + p {
	font-size: 16px;
}

/* @end */

/* @group page-top */

#to-top {
	bottom: 10px;
	right: 10px;
}

#to-top a {
	height: 38px;
	width: 38px;
}

#to-top a::after {
	height: 7px;
	width: 7px;
}

#to-top a:hover {
	opacity: 1;
}

/* @end */

/* @group footer */

#footer-area {
}

#footer-area::before {
	height: calc(100% - 88px);
}

#footer {
	padding: 47px 20px 40px;
}

#footer-logo-area {
	display: block;
	margin-bottom: 50px;
}

#footer-logo-area .footer-logo {
	margin: 0 auto 25px;
}

#footer-logo-area .footer-logo + p {
	font-size: 14px;
	line-height: 1.7;
	margin-top: 0;
	text-align: center;
}

/* @group footer-nav */

#footer-nav {
	display: block;
	margin: 0 auto 90px;
	max-width: 300px;
}

#footer-nav &gt; ul:not(:last-child),
#footer-nav &gt; ul:last-child &gt; li:not(:last-child) {
	display: none;
}

#footer-nav ul {
	margin: 0 0 0;
	width: 100%;
}

#footer-nav ul ul &gt; li {
	border-color: #D9D9D9;
	border-style: solid;
	border-width: 1px 0;
	margin: -1px 0 0;
}

#footer-nav ul ul &gt; li a {
	display: block;
	font-size: 14px;
	line-height: 1;
	height: 60px;
	padding: 1.6em 0;
	text-align: center;
}

/* @end */

/* @group copyright */

#copyright-area {
}
/* @end */

/* @end of footer */

/* @group home */

#home .header-logo-group {
	margin-bottom: 0;
}

#home [id^="header-menu"] {
	padding-top: 65px;
}

#home #toggle-nav-clone {
	top: inherit;
}

#home-mainvisual {
	height: calc(100vh - 68px - 120px);
	min-height: 320px;
	min-width: inherit;
	margin-bottom: 15px;
}

#home-mainvisual-bg img {
	height: 100%;
	width: 100%;
	max-width: inherit;
	object-fit: cover;
}

#home-h1-area {
	height: 4em;
	width: 100%;
	padding: 0 20px;
}

#home-mainvisual h1 {
	font-size: 30px;
}

#home h2 span.en {
	font-size: 9px;
	margin-top: 0;
}

#main-content .flex-link-btn .link-btn {
	width: 285px !important;
	margin: auto;
}

#main-content .flex-link-btn .link-btn {
	width: 100% !important;
	margin: 0  auto !important;
}

#main-content .flex-link-btn .link-btn:not(:first-of-type) {
	margin-top: 20px !important;
}

section#home-Information {
	margin-bottom: 75px;
}

#home-Information .info-area {
	margin-bottom: 35px;
}

#home-Information .info-area ul li {
	padding: 1.1em .7em 1.4em;
}

#home-Information .flex-link-btn {
	top: 0;
	margin-bottom: 30px;
}

#home #home-Information .flex-link-btn .link-btn {
	margin-top: 15px !important;
	max-width: 280px !important;
}

#home-Information .flex-link-btn a {
	padding: .6em 0;
}

section#home-topics {
	height: auto;
	margin-bottom: 62px;
	padding: 40px 0 30px;
}

.topics-wrapper {
	float: none;
	margin: auto;
	padding: 0;
	width: 100%;
}

#home-topics h2 {
	font-size: 23px;
	background-size: 14px;
	margin: 0 0 1.1em;
	padding: 1.2em 0 0;
	width: 100%;
}

#home-topics .swiper-container {
	height: 100%;
	padding: 0 11.33%;
}

#home-topics .col.swiper-slide {
	height: auto;
	margin: 0;
	width: 100% !important;
}

#home-topics .col a {
	font-size: 15px !important;
	margin: 20px 0 0 20px !important;
}

#home-topics .col figure {
	height: 39.4vw !important;
	width: 72vw;
	top: -20px !important;
	left: -20px !important;
}

#home-topics .col p {
	padding: 0 1.3em;
}

#home #home-topics .col .entry-header {
	margin: 4px 0 15px;
}

#home-topics .col .entry-header span {
	font-size: 12px !important;
}

#home-topics .swiper-button-next,
#home-topics .swiper-button-prev {
	color: #99004F;
	display: block;
}

#home-topics .swiper-button-next {
	text-align: center;
	right: 7px;
}

#home-topics .swiper-button-prev {
	left: 12px;
}

#home-topics .swiper-button-next::after,
#home-topics .swiper-button-prev::after {
	font-size: 20px;
	font-weight: 600;
}

#home-topics .swiper-pagination {
	margin: 26px auto 0;
	width: 100%;
}

#home-topics .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	margin-right: 9px;
}

#home-topics .swiper-pagination-bullet:last-child {
	margin-right: 0;
}

#home-topics .more {
	margin: 60px 0 0;
	width: 100%;
	padding: 0 11.6%;
}

#home-customers h2 {
	font-size: 23px;
	background-size: 14px;
	margin-bottom: 1.2em;
	padding: 1.1em 0 0;
}

#home-customers .bg-full {
	padding: 0 20px 50px;
}

#home-customers .bg-full::before {
	height: calc(100% - 120px);
}

#home-customers .col:not(:first-of-type) {
	margin-top: 35px !important;
}

#home-customers .col figure {
	width: 100%;
}

#home-customers .col figure + div {
	margin-top: -28px;
	padding: 15px 3% 21px;
	width: 83.58%;
	min-width: inherit;
}

#home #home-customers .col .head {
	line-height: 1.4;
}

#home #home-customers .col .more {
	font-size: 12px;
	margin-right: 4px;
}

#hoem-reliability {
	height: 292px;
	padding-top: 77px;
}

.circle {
	animation: circle_sp 5s;
}

#home .link-banner {
	padding: 0;
	width: 84%;
}

.link-banner a {
	padding: 28px 0 35px;
}

.link-banner span.icon-arrow {
	left: 27px;
	top: 0;
	bottom: 3px;
}

.icon-arrow::before {
	width: 23px;
	height: 1.5px;
}

.icon-arrow::after {
	height: 1.5px;
	width: 5px;
	bottom: 5px;
	left: 17px;
}

.link-banner a span:not(.en):not(.icon-arrow) {
	font-size: 20px;
	line-height: 1.6;
	text-align: center;
}

#home .lower-nav .head a {
	background-position: 35px center;
	background-size: 49.5px 45px;
}

#home #footer-bnr-area {
	margin-bottom: 55px;
}

/* @end */

/* @group introduction */

body#introduction #h1-area,
body.introduction #h1-area {
	background-image: url("../../introduction/images/h1_bg_sp.jpg");
}

.link-anchor-introduction ul {
	display: block;
	margin: 0;
}

.link-anchor-introduction ul li {
	text-align: left;
	margin-bottom: 1.5em;
}

.link-anchor-introduction ul li a {
	width: 100%;
	height: auto;
	background: #fff;
	font-size: 18px;
}

.link-anchor-introduction ul li a::before{
	display: none;
}

.link-anchor-introduction ul li a:hover {
	color: #A31A61 !important;
}

.link-anchor-introduction ul li a:hover,
.link-anchor-introduction ul li a:focus,
.link-anchor-introduction ul li a:active {
	color: inherit;
}

.link-anchor-introduction ul li a br {
	display: none;
}

.link-anchor-introduction ul li span.icon {
	display: inline-block;
	width: 31px;
	height: 31px;
	margin: inherit;
	margin-top: -5px;
}

.link-anchor-introduction ul li span.icon {
	vertical-align: middle;
	margin-right: 12px;
}

.link-anchor-introduction ul li a {
	padding: 20px 15px;
}

#main-content section.introduction-qa {
	margin-bottom: 50px;
	padding-top: 25px;
	padding-bottom: 50px;
}

section.introduction-qa h2 span img {
	width: 35px;
	height: 35px;
}

.answer-area {
	padding: 60px 35px 30px;
	margin-left: 0;
	margin-right: -20px;
	margin-bottom: 35px;
	position: relative;
	box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.04);
}

.answer-area::before {
	background: url('../../introduction/images/icon_answer.svg') no-repeat left top;
	background-size: 95px 38px;
	width: 95px;
	height: 38px;
	top: 20px;
	left: 0px;
}

.answer-area *:last-of-type {
	margin-bottom: 0;
}
.answer-area p.head {
	font-size: 20px !important;
	margin-bottom: 15px !important;
}

.answer-area p.txt {
	font-size: 16px;
}

.img-wd-s {
	width: 100%;
}

.index-pattern.intro {
	padding-top: 15px;
}

.index-pattern.intro .col {
	margin-left: auto;
	margin-right: auto;
	width: 83.58% !important;
}

.index-pattern.intro a {
	margin: 18px 0 0 24px;
	padding-bottom: 20px;
}

.index-pattern.intro figure {
	margin-bottom: -30px;
	top: -20px;
	left: -23px;
}

.index-pattern.intro .head {
	font-size: 16px !important;
	margin-top: 1.5em !important;
}

#link-introduction-side {
	display: none;
}

.product-h3 h3 {
	font-size: 17px !important;
}

/* @end */

/* @group introduction - vision */

#vision p {
	line-height: 2.2;
	font-size: 15px;
}

/* @end */

/* @group introduction - products-pipelines */

.pipelines-area {
	padding: 28px 25px;
}

.pipelines-area div[class*="icon-"] {
	line-height: 1.1;
	min-height: 28px;
	padding: 5px;
	width: 7em;
	right: 0px;
	top: 0px;
}

.pipelines-area .pattern1-4 .left-col {
	width: 45.6% !important;
	margin: 0 auto 14px;
}

#main-content .pipelines-area h3 {
	font-size: 19px;
	margin: 0;
	padding-bottom: .4em;
}

#main-content .pipelines-area table th {
	padding: 15px 10px 0 !important;
}

#main-content .pipelines-area table td {
	padding: 4px 10px 15px !important;
	line-height: 1.4;
}

/* @end */

/* @group introduction - cells */

#main-content .cells-lead {
	font-size: 17px;
}

/* @end */

/* @group introduction - tales */

.main-tails {
	margin-left: -20px;
	margin-right: -20px;
}

.bg-full.index::before {
	top: -28px;
}

.index ul {
	display: block;
}

.index ul li {
	width: 100%;
}

h2.index-tales {
	margin-bottom: -45px !important;
	padding-top: 0 !important;
}

h2.index-tales img {
	width: 122px;
	height: auto;
}

.index ul {
	padding: 30px 15px 30px;
}

.index ul li a {
	font-size: 16px;
	padding: 10px 15px 10px 8px;
	height: auto;
	min-height: 70px;
}

.index ul li .vol {
	font-size: 10px;
	margin-right: 27px;
}

.index ul li .vol::after {
	height: 38px;
	width: 38px;
	left: 2px;
	top: -3px;
}

.index ul li .vol span {
	font-size: 14px;
}

.index ul li .txt span {
	margin-left: 5px;
}

[id^="tales0"] #main-content,
[id^="tales1"] #main-content {
	margin-bottom: 80px;
}

[id^="tales0"] #main-content h2,
[id^="tales1"] #main-content h2 {
	font-size: 19px;
	min-height: 70px;
	margin-top: 53px;
}

[id^="tales0"] #main-content h2::before,
[id^="tales1"] #main-content h2::before {
	border-width: 1.5px 0;
}

[id^="tales0"] h2 img,
[id^="tales1"] h2 img {
	height: 66px;
	width: 117px;
	margin: auto;
	top: -44px;
	left: 0;
	right: 35px;
}

#tales01 #main-content h2 span {
	padding: 0 .8em;
}

#tales01 #main-content h2 span::before,
#tales01 #main-content h2 span::after {
	width: .63em;
}

.tales-block {
	margin-bottom: 1.6em;
}

ul.tales-pagenation {
	align-items: center;
	margin-top: 50px;
}

ul.tales-pagenation li a {
	font-size: 16px;
}

ul.tales-pagenation li.prev a {
	padding-left: 28px;
}

ul.tales-pagenation li.next a {
	padding-right: 28px;
}

ul.tales-pagenation li.prev a::before,
ul.tales-pagenation li.next a::before {
	height: 5px;
	width: 19px;
}

/* @end */

/* @group customers */

body#customers #h1-area {
	background-image: url("../../customers/images/h1_bg_sp.jpg");
}

body#customers .index-pattern3 {
	padding: 0 20px 50px;
}

body#customers .index-pattern3.bg-full-left::before {
	height: calc(100% - 150px);
}

body#customers .index-pattern3 .head {
	width: 83.58%;
	padding: .8em 5px .9em;
}

/* @end */

/* @group customers - medical */

body#medical #h1-area,
body.medical #h1-area {
	background-image: url("../../customers/medical/images/h1_bg_sp.jpg");
}

body#medical-top #h1-area {
	background-image: url("../../customers/medical/images/h1_bg_medical_sp.jpg");
	height: 240px;
	background-position: center;
	background-size: 100% auto;
	margin-bottom: 20px;
}

body#medical-top #h1-area h1 {
	font-size: 20px;
	text-align: center;
	vertical-align: top;
	padding-top: 20px;
}

body#medical-top #h1-area h1 span {
	width: 100%;
	margin: 0 auto;
}

body#medical-top #h1-area .en {
	font-size: 8px;
	margin-top: 5px;
	width: 100%;
}

.bg-full-left.height-full {
	margin-bottom: 90px !important;
}

.bg-full-left.height-full::before {
	bottom: -40px;
}

.contact-tel {
	font-size: 20px;
}

.contact-tel span {
	font-size: 30px;
	padding-bottom: 5px;
}

.contact-tel.fz-l {
	display: block;
}

.contact-tel.fz-l span {
	font-size: 25px;
}

/* @end */

/* @group customers - patiens */

body#patiens #h1-area,
body.patiens #h1-area {
	background-image: url("../../customers/patiens/images/h1_bg_sp.jpg");
}

.patiens-pattern01 .img-col figure {
	margin: 0;
	width: 100%;
}

#main-content .patiens-banner-area &gt; p {
	margin-bottom: .9em;
	text-align: left;
}

.patiens-banner-area .link-banner a {
	padding: 29px 30px 36px 0;
}

.patiens-banner-area .link-banner .icon-arrow {
	display: none;
}

.patiens-banner-area .link-banner img {
	width: 226px;
}

.patiens-banner-area .link-banner .ai {
	right: 25px;
}


ul.check-list {
	border: solid 5px #f6f4de;
	padding: 25px;
}

ul[class*="check-list"] li {
	font-size: 16px;
	line-height: 1.5;
	padding: 0 0 0 2em;
}

ul.check-list li::before {
	height: 19px;
	width: 22px;
}

ul[class*="check-list"].list-2col li {
	margin-right: 0;
	width: 100%;
}

ul.check-list.list-2col li:nth-of-type(n+2) {
	margin-top: 1.05em;
}

body#leukoderma.smp dd .accordion {
	margin-left: -3em;
}

/* @end */

/* @group business */

body#business #h1-area,
body.business #h1-area {
	background-image: url("../../business/images/h1_bg_sp.jpg");
}

body.business #h1-area h1 span span {
	font-size: 13px;
}

.pattern-business.bg-full {
	padding-bottom: 50px;
}

.pattern-business.bg-full::before {
	height: calc(100% - 40px);
}

.pattern-business .col {
	margin: 0 auto 2em;
	width: 86.56% !important;
}

.pattern-business .col:first-of-type {
	margin-left: auto;
}

.pattern-business .col &gt; div a {
	padding: 31px 24px 27px 25px;
}

.pattern-business .col:nth-child(3) + div {
	margin-top: 20px;
}

.pattern-business .number {
	font-size: 10.65px;
	padding: .8em 0 0 .6em;
	height: 70px;
	width: 70px;
}

.pattern-business .number::before {
	border-width: 70px 70px 0 0;
}

.pattern-business .number span {
	font-size: 17.5px;
}

#main-content .pattern-business .head {
	font-size: 23px;
	line-height: 1.35;
}

#main-content .pattern-business .head span {
	font-size: 12px;
	margin-top: .7em;
}

#main-content .pattern-business .col p:not(.head) {
	font-size: 16px;
	padding-top: 1.3em;
}

.pattern-business ul.link-list {
	margin-top: 13px;
}

.pattern-business ul.link-list li:not(:first-of-type) {
	margin-top: .1em !important;
}

.business-bnr-area &gt; div {
	height: auto;
	margin-top: calc(20px * -1.4);
	padding-top: calc(20px * 1.4);
}

.business-bnr-area .inner {
	padding: 0 20px 20px;
}

.business-bnr-area .link-banner {
	margin: auto;
	width: 94%;
}

.business-bnr-area .link-banner a span:not(.en):not(.icon-arrow) {
	font-size: 21px;
	line-height: 1.5;
}

#business .lower-nav .head a {
	font-size: 19px;
	letter-spacing: 0;
	padding-left: 93px;
}

#business .lower-nav .col:nth-of-type(1) .head a {
	background-position: 26px 42px;
	background-size: 42px 38px;
}

#business .lower-nav .col:nth-of-type(2) .head a {
	background-position: 31px 40px;
	background-size: 46px 40px;
}

#business .lower-nav .col:nth-of-type(3) .head a {
	background-position: 32px 39px;
	background-size: 30px 40px;
}

#business .lower-nav .head .en {
	font-size: 9px;
	margin-top: 12px;
}

/* @end */

/* @group business - regenerative */

body#regenerative #h1-area,
body.regenerative #h1-area {
	background-image: url("../../business/regenerative/images/h1_bg_sp.jpg");
}

#regenerative .bg-full-left {
	padding-bottom: 10px;
}

#regenerative .bg-full-left::before {
	height: calc(100% - 60px);
}

#regenerative .index-pattern4 {
	margin-bottom: 40px;
}

#regenerative .index-pattern4 a {
	min-height: 71px;
	padding: 0 3em .2em;
}

#regenerative .index-pattern4 .col p.head {
	font-size: 19px;
	letter-spacing: .03em;
	margin: 0;
}

#regenerative .index-pattern4 .col p.head {
	font-size: 16px;
	letter-spacing: .01em;
	margin: 0;
}

#regenerative .index-pattern4 .col:not(:first-of-type) {
	margin-top: 1.3em !important;
}

#regenerative .index-pattern .col:not(:first-of-type) {
	margin-top: 2em !important;
}

#regenerative .index-pattern a {
	margin: 25px 0 0 28px;
	padding-bottom: 20px;
}

#regenerative .index-pattern figure {
	margin-bottom: -25px;
	top: -25px;
	left: -28px;
}

#regenerative .index-pattern .col p.head {
	letter-spacing: .08em;
}

#regenerative .link-list-btn a {
	font-size: 16px;
	height: auto;
	padding-top: .9em;
	padding-bottom: .9em;
}

#regenerative .link-list-btn li:nth-of-type(2) {
	margin-top: 1.5em;
}

#regenerative .link-list-btn a span {
	font-size: 12px;
}

#regenerative .link-btn {
	border-width: 1px;
}

#regenerative .link-btn a {
	font-size: 15px;
	letter-spacing: 0;
}

#regenerative .new-icon-space {
	top: -16px;
	left: -27px;
}

/* @end */

/* @group business - cdmo-cro */

body#cdmo #h1-area {
	background-image: url("../../business/cdmo-cro/images/h1_bg_sp.jpg");
}

.cdmo-reason {
	padding: 0 20px 30px;
}

.cdmo-reason::before {
	height: calc(100% - 34px);
}

.reason-block {
	padding: 25px 25px 30px;
}

.reason-block + .reason-block {
	margin-top: 25px;
}

.reason-block h3 span.head {
	font-size: 13px;
	margin-bottom: .4em;
}

.reason-block h3 span.num {
	margin: 0 auto 10px;
	height: 27px;
	width: 27px;
}

body#cdmo .col table th,
body#cdmo .col table td {
	padding: 10px 7px;
}

#cdmo .link-banner a {
	padding: 20px 0 25px 20px;
}

#cdmo .link-banner .icon-arrow {
	left: 20px;
}

#cdmo .link-banner a span:not(.icon-arrow) {
	font-size: 18px;
}

#cdmo .scroll-box {
	margin-left: -20px;
	margin-right: -20px;
}

#cdmo .scroll-box td figure img {
	max-width: 516px;
}

/* @end */

/* @group business - LabCyte */

body#LabCyte #h1-area,
body.LabCyte #h1-area {
	background-image: url("../../business/LabCyte/images/h1_bg_sp.jpg");
}

.pattern-movie[class*="bg-full"] {
	padding-bottom: 50px;
}

.pattern-movie .col {
	margin-bottom: 2em;
}

#main-content .pattern-movie .movie-cate {
	font-size: 15px;
	margin-bottom: 2.1em;
}

.pattern-movie .col &gt; div {
	margin: 25px 0 0 28px;
	padding-bottom: 18px;
}

.pattern-movie .movie-wrap {
	margin: 0 0 -9px 0;
	width: 98.2%;
	top: -25px;
	left: -28px;
}

#main-content .pattern-movie .col &gt; div .movie-cate {
	font-size: 14px;
	margin-bottom: -3px;
	top: -3px;
}

#main-content .pattern-movie .head {
	font-size: 18px;
}

#main-content .pattern-movie &gt; div p:not(.movie-cate):not(.head) {
	margin: 4px 0 0;
}

body#lab-paper h2 {
	line-height: 1.5;
	margin-bottom: 1.5em;
}

body#lab-paper h2 span.en {
	font-size: 13px;
	line-height: 1.5;
	margin: .5em 0 .7em;
}

/* @end */

/* @group business - product-assurance-safety */

body#assurance #h1-area {
	background-image: url("../../business/product-assurance-safety/images/h1_bg_sp.jpg");
}

body#assurance .link-anchor {
	margin-bottom: 60px !important;
}

body#assurance .link-anchor a {
	font-size: 18px;
	padding: 1.1em 1.5em 1.4em;
}

body#assurance .link-anchor a::before {
	bottom: 0;
}

body#assurance .link-anchor a span {
	font-size: 14px;
}

body#assurance h4 {
	font-size: 17px;
}

.quality-policy-box {
	padding-bottom: 35px;
}

.quality-policy-box.bg-full::before {
	height: calc(100% - 35px);
}

.quality-policy-box &gt; div {
	padding: 25px 25px 35px;
}

#main-content .quality-policy-box h3 {
	font-size: 20px;
	letter-spacing: .1em;
	margin-bottom: .8em;
}

.quality-policy-box ol {
	margin: 1.4em 0 0;
	padding: 1.4em 0 1.4em 10px;
}

.quality-policy-box ol li {
	font-size: 16px;
	margin-bottom: 1.05em;
	padding-left: 2em;
	text-indent: -2em;
}

.quality-policy-box ol li span {
	margin-right: 1em;
}

/* @end */

/* @group about-us */

body#about-us #h1-area,
body.about-us #h1-area {
	background-image: url("../../about-us/images/h1_bg_sp.jpg");
}

#about-us .bg-full-left {
	margin-bottom: 35px;
	padding-bottom: 20px;
}

#about-us .index-pattern3 {
	margin-bottom: 2.5em;
}

#about-us .index-pattern3 .col figure {
	margin-bottom: -26px;
}

#about-us .index-pattern3 .col .head {
	font-size: 19px;
}

#about-us .index-pattern3 .col:nth-of-type(2n) {
	margin-top: 0;
}

/* @end */

/* @group about-us - greeting */

#main-content .greeting-sign {
	font-size: 14px;
	display: block;
	position: relative;
}

.greeting-sign .sign img {
	width:205px;
}

/* @end */

/* @group about-us - brand-mark */

.brand-mark-area {
	padding: 35px 0 40px;
}

#main-content .brand-mark-area h2 {
	padding: 0;
}

#main-content .brand-mark-area h3 {
	font-size: 18px;
	letter-spacing: 0;
	margin-bottom: .5em;
}

/* @end */

/* @group about-us - philosophy */

#main-content .philosophy-text {
	font-size: 17px;
}

#main-content p.philosophy-text {
	text-align: left;
}

.philosophy-flexbox &gt; * {
	width: 100%;
}

#main-content .philosophy-flexbox .lead {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: .03em;
	margin-bottom: 1.1em;
}

ul.philosophy-list li {
	line-height: 1.5;
}

ul.philosophy-list li:not(:first-of-type) {
	margin-top: .7em;
}

/* @end */

/* @group about-us - sustainability */

body#sustainability #h1-area,
body.sustainability #h1-area {
	background-image: url("../../about-us/sustainability/images/h1_bg_sp.jpg");
}

#sustainability .index-pattern-list3.bg-full-right::before {
	height: calc(100% - 38px);
}

#sustainability .index-pattern-list3 .col figure {
	margin: 0 auto -6px;
	width: 83.5%;
	top: 0;
	left: 0;
}

#sustainability .index-pattern-list3 .col figure + p:not(.head) {
	line-height: 1.9;
}

#sustainability .index-pattern-list3 .list-col {
	padding-top: 23px;
}

.committee-pattern .link-btn-ll a {
	line-height: 1.56;
	height: auto;
	min-height: inherit;
	text-align: left;
	padding: 11px 30px 13px 80px;
}

.committee-pattern .link-btn-ll span.icon {
	margin-bottom: 0;
	top: auto;
	bottom: 20px;
}

.committee-pattern .link-btn-ll span.title {
	display: inline;
	font-size: 16px;
	letter-spacing: .02em;
	line-height: 1.56;
	text-align: left;
}

.committee-pattern .link-btn-ll span.date {
	display: inline;
	margin-top: 0;
}

.committee-pattern .link-btn-l a {
	padding: 1em 25px 1em 85px;
}

.lead-sustainability {
	font-size: 16px;
}

/* @end */

/* @group about-us - sustainability - CSR */

#csr h2 + figure {
	margin-left: -3%;
	width: 106%;
}

body#sustainability #h1-area,
body.sustainability #h1-area {
	background-image: url("../../about-us/sustainability/images/h1_bg_sp.jpg");
}

/* @end */

/* @group investors */

.lower-nav .col-info .head a {
	background-position: 43px center;
}

.lower-nav .col-highlight .head a {
	background-position: 40px center;
}

.lower-nav .col-library .head a {
	background-position: 37px center;
}

.lower-nav .col-stock .head a {
	background-position: 38px center;
}

.lower-nav .col-calendar .head a {
	background-position: 42px center;
}

#investors .related-link ul li a span {
	margin-left: 1em;
}

#main-content .caution-investors h2 {
	font-size: 16px;
}

/* @end */

/* @group investors - message */

#message p.lead {
	font-size: 17px;
	line-height: 1.8;
}

#message .message-sign {
	font-size: 14px;
	display: block;
	position: relative;
}

#message .sign img {
	width: 180px;
}

/* @end */

/* @group investors - library */

.library-list {
	margin-bottom: 2.3em;
}

.library-list ul li {
	padding: .5em .1em;
}

.library-list ul li .date-cate {
	margin-right: 0;
}

#main-content .library-list ~ [class*="list-btn"] {
	margin: 32px auto 40px;
	width: 100%;
}

#main-content .library-list ~ [class*="list-btn"] a {
	padding: .8em 2em .9em;
}

.pastdata-area {
	display: none;
}

/* @end */

/* @group investors - news */

.news-select-pulldown {
	margin-bottom: 34px;
}

select#select-year {
	font-size: 14px;
	min-width: calc(100% - 5.8em - 5px);
	padding: 11px 40px 8px 10px;
}

.news-select-pulldown select#select-year {
	margin: -4px 0 0 5px;
}

.news-tab {
	margin-bottom: 2.1em;
}

.news-tab ul li {
	border-color: #99004F;
	border-style: solid;
	border-width: 0 1px 1px 0;
	width: calc(100% / 2) !important;
}

.news-tab ul li:nth-of-type(2n+1) {
	border-width: 0 1px 1px 1px;
}

.news-tab ul li:nth-of-type(-n+2) {
	border-top-width: 1px;
}

.news-tab ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 48px;
	padding: .5em;
}

/* @end */

/* @group investors - highlights */

.highlight-area h3 {
	font-size: 17px !important;
}

.highlight-area .pattern1-1 .col {
	width: 100% !important;
	margin-right: 0px;
}

.highlight-area .pattern1-1 .col:nth-of-type(2n) {
	margin-right: 0px;
}

/* @end */

/* @group investors - ir-calendar */

#ir-calendar #main-content table.table-column {
}

#ir-calendar #main-content table.table-column tr:first-child th {
	padding: 8px 0 0 15px;
}

#ir-calendar #main-content table.table-column tr:not(:first-child) th {
	padding: 18px 0 0 15px;
}

#ir-calendar #main-content table.table-column td {
	padding: 11px 0 25px 15px;
}

/* @end */

/* @group news */

body#news #h1-area,
body.news #h1-area {
	background-image: url("../../news/images/h1_bg_sp.jpg");
}

.news-detail-area .info-area {
	margin-bottom: .7em;
}

#main-content .news-detail-area h2 {
	font-size: 19px;
	font-weight: 600;
	letter-spacing: .03em;
	line-height: 1.6;
	margin-bottom: 1.7em;
}

#main-content .news-detail-area * + h3,
#main-content .news-detail-area * + [class*="pattern"] [class*="col"] h3 {
	margin-top: 0;
}

#main-content .news-detail-area + .link-btn {
	margin-top: 64px;
	width: 100%;
}

#main-content .news-detail-area .link-pattern {
	margin-top: 40px;
}

/* @end */

/* @group columns */

#columns .bg-full-left {
	padding-bottom: 65px;
}

#columns .bg-full-left::before {
	height: calc(100% - 40px);
}

#columns .index-pattern .col {
	margin-left: auto;
	margin-right: auto;
	width: 86.56% !important;
}

#columns .index-pattern .col a {
	margin: 20px 0 0 20px;
}

#columns .index-pattern .col figure {
	height: 45vw;
	width: 100%;
	top: -20px;
	left: -20px;
}

#columns #main-content .index-pattern .col p {
	font-size: 15px;
	padding: 0 1.2em;
}

/* @end */

/* @group privacy */

body.privacy #main-content dl dd {
	margin-bottom: 1.5em;
}

/* @end */

/* @group sitemap */

#sitemap p.link {
	margin-bottom: 1em;
}

#sitemap ul.link-list ul li {
	margin: .5em 0 0 !important;
}

#sitemap ul.link-list &gt; li + li {
	margin-top: 1.5em !important;
}

/* @end */

/* @group common */

.tel-link a {
	color: inherit;
	text-decoration: underline;
}

.sp-left-position { text-align: left !important; }

.last-para { margin-bottom: 30px !important; }
.last-para2 { margin-bottom: 55px !important; }

/* fontsize */
.fz-ss-sp { font-size: 69% !important; }
.fz-s-sp { font-size: 85% !important; }
.fz-m-sp { font-size: 100% !important; }
.fz-l-sp { font-size: 115% !important; }
.fz-ll-sp { font-size: 130% !important; }
.fz-lll-sp { font-size: 146% !important; }
.fz-llll-sp { font-size: 176% !important; }

/* width */
.wd-100p-sp { width: 100% !important; }
.wd-90p-sp { width: 90% !important; }
.wd-85p-sp { width: 85% !important; }
.wd-80p-sp { width: 80% !important; }
.wd-75p-sp { width: 75% !important; }
.wd-70p-sp { width: 70% !important; }
.wd-65p-sp { width: 65% !important; }
.wd-60p-sp { width: 60% !important; }
.wd-50p-sp { width: 50% !important; }
.wd-40p-sp { width: 40% !important; }
.wd-30p-sp { width: 30% !important; }
.wd-25p-sp { width: 25% !important; }
.wd-20p-sp { width: 20% !important; }
.wd-15p-sp { width: 15% !important; }

/* @end */
}


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

#main-content .form-btn-area div[id*="btn-"] {
	width: 100%;
}

#main-content .form-btn-area div#btn-back {
	margin-right: 0;
}

.contact-tel {
	font-size: 14px;
	display: block;
}

.contact-tel span {
	font-size: 25px;
}

.contact-tel.fz-l span {
	font-size: 20px;
}

body#medical-top #h1-area {
	height: 200px;
}

.link-btn-ll span.date {
	max-width: 180px;
	margin: 0 auto;
	padding-left: 15px;
}

}
</pre></body></html>