@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap");
* {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	box-sizing: border-box;
}

@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: local("Noto Sans CJK JP"), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format("woff2"), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format("woff"), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format("opentype");
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src: local("Noto Sans CJK JP Bold"), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format("woff2"), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format("woff"), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format("opentype");
}
html {
	font-size: 16px;
	overflow-y: scroll;
}
html.sp {
	font-size: 12px !important;
}

body, th, main .contents .format > table td, td, input, select, textarea {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	font-family: "Noto Sans JP", sans-serif;
}

body {
	margin: 0px auto;
	color: #373A3C;
	background: #ffffff;
	overflow: hidden;
}

img {
	border: 0px;
}

a {
	text-decoration: none;
}

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

p {
	margin: 0px;
}

.clear {
	clear: both;
}

.sp .view_pc {
	display: none !important;
}

.view_sp {
	display: none !important;
}
.sp .view_sp {
	display: block !important;
}

main .contents * + .lead, main .contents * + .text, main .contents * + .image, main .contents * + .imagebox, main .contents * + .column, main .contents * + .table, main .contents * + .format, main .contents * + .box, main .contents * + .googlemap, main .contents * + .youtube, main .contents .form * + table, main .contents .form * + textarea, main .contents .form * + .button {
	margin-top: 40px;
}
.sp main .contents * + .lead, main .contents .sp * + .lead, .sp main .contents * + .text, main .contents .sp * + .text, .sp main .contents * + .image, main .contents .sp * + .image, .sp main .contents * + .imagebox, main .contents .sp * + .imagebox, .sp main .contents * + .column, main .contents .sp * + .column, .sp main .contents * + .table, main .contents .sp * + .table, .sp main .contents * + .format, main .contents .sp * + .format, .sp main .contents * + .box, main .contents .sp * + .box, .sp main .contents * + .googlemap, main .contents .sp * + .googlemap, .sp main .contents * + .youtube, main .contents .sp * + .youtube, .sp main .contents .form * + table, main .contents .form .sp * + table, .sp main .contents .form * + textarea, main .contents .form .sp * + textarea, .sp main .contents .form * + .button, main .contents .form .sp * + .button {
	margin-top: 30px;
}

main .contents * + .layout, main .contents * + .form {
	margin-top: 80px;
}
.sp main .contents * + .layout, main .contents .sp * + .layout, .sp main .contents * + .form, main .contents .sp * + .form {
	margin-top: 60px;
}

main .contents .lead * + p, main .contents .text * + p:not(.image), main .contents .text * + hr, main .contents .text * + ul, main .contents .text * + ol, main .contents .text * + dl, main .contents .text dl * + dt, main .contents .text * + .image.floatright, main .contents .text * + .image.floatleft, main .contents .imagebox > .image * + img,
main .contents .imagebox > .image > * + a {
	margin-top: 20px;
}

main .contents {
	position: relative;
	padding: 0px;
  /*
  	.form {
  		@extend %section;
  
  		form {
  			margin: 0px;
  			padding: 0px;
  		}
  
  		p {
  			@extend %paragraph;
  			margin-bottom: 4px;
  			@include fontsize(14, 1.3);
  			color: $color_sub2;
  		}
  
  		p.required {
  			&:after	{
  				content: "（必須）";
  				color: $color_alert;
  				margin-left: $margin_base*2;
  			}
  		}
  
  		.inputbox {
  			margin-top: 5px;
  			padding-left: 20px;
  			@include fontsize(16, 1.5);
  		}
  
  		textarea {
  			width: 100%;
  			height: 160px;
  			padding: $margin_base *2 $margin_base*4;
  			@include fontsize($fs6, $lineheight_heading);
  			border: 1px solid $color_sub;
  			border-radius: 5px;
  			-webkit-appearance: none;
  			-moz-appearance: none;
  			appearance: none;
  		}
  
  		input[type="text"], input[type="email"], input[type="tel"], input[type="url"] {
  			width: 100%;
  			height: 40px;
  			padding: $margin_base*0 $margin_base*4;
  			@include fontsize($line: 38px);
  			border: 1px solid $color_sub;
  			border-radius: 5px;
  			-webkit-appearance: none;
  			-moz-appearance: none;
  			appearance: none;
  
  			&.withlabel {
  				padding-left: 4rem;
  			}
  		}
  
  		select {
  			width: 100%;
  			height: 40px;
  			padding: 0px 30px 0px 10px;
  			@include fontsize($fs6, 38px);
  			border: 1px solid $color_sub;
  			border-radius: 5px;
  			-webkit-appearance: none;
  			-moz-appearance: none;
  			appearance: none;
  			background: url(../images/down.svg) no-repeat right 10px center;
  			cursor: pointer;
  		}
  
  		select::-ms-expand {
  			display: none;
  		}
  
  		label {
  			position: relative;
  			display: inline-block;
  			padding: 10px 0px 10px 40px;
  			@include fontsize($fs6, $lineheight_heading);
  			cursor: pointer;
  
  			.sp & {
  				@include fontsize($fs7, $lineheight_heading);
  			}
  
  			input[type="radio"], input[type="checkbox"] {
  				position: absolute;
  				opacity: 0;
  				pointer-events: none;
  			}
  
  			input[type="radio"]:focus + span:before, input[type="checkbox"]:focus + span:before {
  				-webkit-transform: scale(1.1);
  				transform: scale(1.1);
  			}
  
  			input[type="radio"] + span:before {
  				content: "";
  				display: block;
  				position: absolute;
  				width: 26px;
  				height: 26px;
  				top: 50%;
  				left: 0px;
  				margin-top: -15px;
  				background: #ffffff;
  				border: 2px solid $color_bg;
  				border-radius: 50%;
  				-webkit-transition: 200ms;
  				transition: 200ms;
  			}
  
  			input[type="radio"]:checked + span:before {
  				width: 10px;
  				height: 10px;
  				border: 10px solid $color_main;
  			}
  
  			input[type="checkbox"] + span:before {
  				content: "";
  				display: block;
  				position: absolute;
  				width: 26px;
  				height: 26px;
  				top: 50%;
  				left: 0px;
  				margin-top: -15px;
  				background: #ffffff;;
  				border: 2px solid $color_bg;
  				border-radius: 10px;
  				-webkit-transition: 200ms;
  				transition: 200ms;
  			}
  
  			input[type="checkbox"]:checked + span:before {
  				background-color: $color_main;
  				border-color: $color_main;
  			}
  
  			input[type="checkbox"] + span:after {
  				content: "";
  				display: block;
  				position: absolute;
  				width: 30px;
  				height: 30px;
  				top: 50%;
  				left: 0px;
  				margin-top: -15px;
  				background: url(../images/check.svg) no-repeat center center;
  				-webkit-transform: scale(0);
  				transform: scale(0);
  				-webkit-transition: 200ms;
  				transition: 200ms;
  			}
  
  			input[type="checkbox"]:checked + span:after {
  				-webkit-transform: scale(1);
  				transform: scale(1);
  			}
  		}
  
  		.formbutton {
  			@extend %block;
  			text-align: center;
  
  			button {
  				position: relative;
  				display: inline-block;
  				width: 80%;
  				max-width: 240px;
  				height: 48px;
  				@include fontsize(16, 48px);
  				color: #ffffff;
  				background: $color_main;
  				border: 0px;
  				border-radius: 5px;
  				@include hover;
  				-webkit-appearance: none;
  				-moz-appearance: none;
  				appearance: none;
  
  				.sp & {
  					display: block;
  					margin: auto;
  				}
  			}
  
  			button + button {
  				margin-left: 20px;
  
  				.sp & {
  					margin-left: auto;
  					margin-top: 20px;
  				}
  			}
  
  		}
  	}
  */
}
main .contents:after {
	content: "";
	display: block;
	clear: both;
}
main .contents > div:not(.background) {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px 80px;
}
.sp main .contents > div:not(.background) {
	padding: 20px 10px 40px;
}
.sp main .contents > div:not(.background) {
	width: auto;
}
main .contents h1 + *, main .contents h2 + *, main .contents h3 + *, main .contents h4 + *, main .contents h5 + *, main .contents h6 + * {
	margin-top: 0px !important;
}
main .contents h1 {
	clear: both;
	display: block;
	margin: 0px 0px 40px;
	padding: 0px;
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 52px;
	line-height: 3.25rem;
	font-weight: normal;
}
main .contents * + h1 {
	margin-top: 160px;
}
main .contents h2 {
	position: relative;
	clear: both;
	display: block;
	margin: 0px 0px 40px;
	font-size: 32px;
	font-size: 2rem;
	line-height: 48px;
	line-height: 3rem;
	font-weight: bold;
}
.sp main .contents h2 {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 30.8px;
	line-height: 1.925rem;
	margin-bottom: 20px;
}
main .contents h2.center {
	text-align: center;
}
main .contents h2.small {
	margin-bottom: 20px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	font-weight: bold;
}
.sp main .contents h2.small {
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents h2 a {
	color: #1464AA;
	position: relative;
	display: inline-block;
}
main .contents h2 a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #1464AA;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents h2 a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents * + h2 {
	margin-top: 80px;
}
.sp main .contents * + h2 {
	margin-top: 40px;
}
main .contents h3 {
	clear: both;
	position: relative;
	margin: 0px 0px 40px;
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
	font-weight: normal;
}
.sp main .contents h3 {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	margin-bottom: 20px;
}
main .contents h3.center {
	text-align: center;
}
main .contents h3 a {
	color: #1464AA;
	position: relative;
	display: inline-block;
}
main .contents h3 a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #1464AA;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents h3 a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents * + h3 {
	margin-top: 60px;
}
.sp main .contents * + h3 {
	margin-top: 28px;
}
main .contents h4 {
	clear: both;
	display: block;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
}
.sp main .contents h4 {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
}
main .contents * + h4 {
	margin-top: 40px;
}
main .contents h5 {
	clear: both;
	display: block;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
.sp main .contents h5 {
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents * + h5 {
	margin-top: 20px;
}
main .contents h6 {
	clear: both;
	display: block;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
.sp main .contents h6 {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents * + h6 {
	margin-top: 20px;
}
main .contents .lead.center {
	text-align: center;
}
.sp main .contents .lead.center {
	text-align: left;
}
main .contents .lead p {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
}
.sp main .contents .lead p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
main .contents .lead p span {
	display: inline-block;
}
.sp main .contents .lead p span {
	display: inline;
}
main .contents .stack {
	margin-top: 0px !important;
}
main .contents .block {
	margin-top: 40px !important;
}
.sp main .contents .block {
	margin-top: 30px !important;
}
main .contents .section {
	margin-top: 80px !important;
}
.sp main .contents .section {
	margin-top: 60px !important;
}
main .contents .paragraph {
	margin-top: 20px !important;
}
main .contents .halfparagraph {
	margin-top: 7px !important;
}
main .contents .text:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .text p:not(.image) {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.sp main .contents .text p:not(.image) {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .text p:not(.image) .required {
	color: #EF3340;
	margin-left: 4px;
	margin-right: 4px;
}
main .contents .text p:not(.image).error_mes {
	color: #EF3340;
}
main .contents .text p:not(.image) em.s {
	font-style: normal;
	color: #99714B;
	font-size: 120%;
}
main .contents .text p:not(.image) a {
	color: #1464AA;
	position: relative;
	display: inline-block;
}
main .contents .text p:not(.image) a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #1464AA;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text p:not(.image) a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text p:not(.image).center {
	text-align: center;
}
main .contents .text p:not(.image).right {
	text-align: right;
}
.sp main .contents .text p:not(.image).spleft {
	text-align: left;
}
main .contents .text p:not(.image).note {
	text-indent: -1em;
	margin-left: 1em;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
	color: #707F89;
}
main .contents .text hr {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
	width: 90%;
	height: 1px;
	border: 0px;
	background: #898989;
}
main .contents .text ul {
	clear: both;
	margin-left: 20px;
	margin-right: 20px;
}
main .contents .text ul > li {
	margin-left: 14px;
	text-indent: -14px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.sp main .contents .text ul > li {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .text ul > li:before {
	position: relative;
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	vertical-align: middle;
	top: -2px;
	margin-right: 4px;
	background: #00a6df;
	border-radius: 50%;
}
main .contents .text ul > li + li {
	margin-top: 4px;
}
main .contents .text ul > li *:not(li) {
	text-indent: 0px;
}
main .contents .text ul > li a {
	vertical-align: top;
	color: #1464AA;
	position: relative;
	display: inline-block;
}
main .contents .text ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #1464AA;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text ul > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text ul > li > * + ul, main .contents .text ul > li > * + ol {
	margin-top: 4px;
}
main .contents .text ul.float {
	margin-right: -40px;
}
main .contents .text ul.float li {
	display: inline-block;
	margin-left: calc(14px - 0.3em);
	margin-right: 40px;
}
main .contents .text ul.ib {
	margin-left: -36px;
	text-indent: 36px;
}
.sp main .contents .text ul.ib {
	margin-left: 0px;
	text-indent: 0px;
}
main .contents .text ul.ib li {
	display: inline-block;
}
.sp main .contents .text ul.ib li {
	display: block;
}
main .contents .text ul.ib li + li {
	margin-left: 50px;
}
.sp main .contents .text ul.ib li + li {
	margin-left: 14px;
}
main .contents .text ol {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	counter-reset: number;
}
.sp main .contents .text ol {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .text ol > li {
	margin-left: 1.2em;
	text-indent: -0.63em;
}
main .contents .text ol > li:before {
	counter-increment: number;
	content: " " counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
}
main .contents .text ol > li + li {
	margin-top: 4px;
}
main .contents .text ol > li *:not(li) {
	text-indent: 0px;
}
main .contents .text ol > li a {
	vertical-align: top;
	color: #1464AA;
	position: relative;
	display: inline-block;
}
main .contents .text ol > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #1464AA;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text ol > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text ol > li > * + ul, main .contents .text ol > li > * + ol {
	margin-top: 4px;
}
main .contents .text ol.digit2 > li {
	margin-left: 1.5em;
	text-indent: -0.93em;
}
main .contents .text ol.digit2 > li:before {
	counter-increment: number;
	content: " " counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
	padding-left: 0.5em;
}
main .contents .text ol.digit2 > li:nth-of-type(n+10) {
	margin-left: 1.5em;
	text-indent: -0.93em;
}
main .contents .text ol.digit2 > li:nth-of-type(n+10):before {
	margin-right: 0.4em;
	padding-left: 0;
}
main .contents .text dl dt {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	font-weight: bold;
}
.sp main .contents .text dl dt {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
main .contents .text dl dd {
	margin: 10px 0px 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.sp main .contents .text dl dd {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .text .image.floatright {
	float: right;
	margin-left: 20px;
	margin-bottom: 20px;
}
.sp main .contents .text .image.floatright {
	margin-left: 10px;
	margin-bottom: 10px;
}
main .contents .text .image.floatleft {
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
}
.sp main .contents .text .image.floatleft {
	margin-right: 10px;
	margin-bottom: 10px;
}
.sp main .contents .text .image.spclear {
	float: none;
	width: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}
main .contents .image {
	text-align: center;
}
main .contents .image img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
main .contents .image p {
	margin: auto;
	text-align: left;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
.sp main .contents .image p {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
}
* + main .contents .image p {
	margin-top: 8px;
}
main .contents .image p a {
	color: #1464AA;
	position: relative;
	display: inline-block;
}
main .contents .image p a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #1464AA;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .image p a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .image p.center {
	text-align: center;
}
main .contents .image p.right {
	text-align: right;
}
main .contents .image.left {
	text-align: left;
}
main .contents .image.left img {
	margin-left: 0px;
}
main .contents .image.left p {
	margin-left: 0px;
}
main .contents .image.right {
	text-align: right;
}
main .contents .image.right img {
	margin-right: 0px;
}
main .contents .image.right p {
	margin-right: 0px;
}
main .contents .image > a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .image > a:hover {
	opacity: 0.7;
}
main .contents .image > a p {
	color: #1464AA;
}
main .contents * + .image {
	margin-top: 20px;
}
main .contents .imagebox {
	display: table;
	width: 100%;
}
main .contents .imagebox > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main .contents .imagebox.spcol1 {
	display: block;
}
.sp main .contents .imagebox.spcol1 > * {
	display: block;
	width: auto !important;
}
.sp main .contents .imagebox.spcol1 > * + * {
	padding-top: 20px;
	padding-left: 0px !important;
	padding-right: 0px !important;
}
main .contents .imagebox > * {
	margin-top: 0px !important;
}
main .contents .imagebox > * + * {
	padding-left: 20px;
}
main .contents .imagebox.reverse {
	direction: rtl;
}
main .contents .imagebox.reverse > * {
	direction: ltr;
}
main .contents .imagebox.reverse > * + * {
	padding-left: 0px;
	padding-right: 20px;
}
main .contents .imagebox > .image img,
main .contents .imagebox > .image > a {
	display: block;
	width: 100%;
}
main .contents .imagebox > .image p {
	width: auto !important;
}
main .contents .column {
	margin-bottom: -40px;
	margin-left: -20px;
	margin-right: -4px;
}
.sp main .contents .column {
	margin-left: -10px;
	margin-bottom: -20px;
}
main .contents .column.mb0 > * {
	margin-bottom: 0 !important;
}
main .contents .column:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .column > * {
	float: left;
	margin-bottom: 40px;
	margin-left: 20px;
}
.sp main .contents .column > * {
	margin-left: 10px;
	margin-bottom: 20px;
}
.sp main .contents .column > *.mb0 {
	margin-bottom: 0;
}
main .contents .column.col1 > * {
	width: calc((100% - 20px * 1 - 4px) / 1);
}
main .contents .column.col1 > *.size2 {
	width: calc(((100% - 20px * 1 - 4px) / 1) * 2 + 20px * 1);
}
main .contents .column.col1 > *.size1 {
	width: calc(((100% - 20px * 1 - 4px) / 1) * 1 + 20px * 0);
}
.sp main .contents .column.col1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1);
}
.sp main .contents .column.spcol1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1) !important;
}
main .contents .column.col2 > * {
	width: calc((100% - 20px * 2 - 4px) / 2);
}
main .contents .column.col2 > *.size2 {
	width: calc(((100% - 20px * 2 - 4px) / 2) * 2 + 20px * 1);
}
.sp main .contents .column.col2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2);
}
.sp main .contents .column.spcol2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2) !important;
}
main .contents .column.col3 > * {
	width: calc((100% - 20px * 3 - 4px) / 3);
}
main .contents .column.col3 > *.size2 {
	width: calc(((100% - 20px * 3 - 4px) / 3) * 2 + 20px * 1);
}
main .contents .column.col3 > *.size3 {
	width: calc(((100% - 20px * 3 - 4px) / 3) * 3 + 20px * 2);
}
.sp main .contents .column.col3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3);
}
.sp main .contents .column.spcol3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3) !important;
}
main .contents .column.col4 > * {
	width: calc((100% - 20px * 4 - 4px) / 4);
}
main .contents .column.col4 > *.size2 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 2 + 20px * 1);
}
main .contents .column.col4 > *.size3 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 3 + 20px * 2);
}
main .contents .column.col4 > *.size4 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 4 + 20px * 3);
}
.sp main .contents .column.col4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4);
}
.sp main .contents .column.spcol4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4) !important;
}
main .contents .column.col5 > * {
	width: calc((100% - 20px * 5 - 4px) / 5);
}
main .contents .column.col5 > *.size2 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 2 + 20px * 1);
}
main .contents .column.col5 > *.size3 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 3 + 20px * 2);
}
main .contents .column.col5 > *.size4 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 4 + 20px * 3);
}
main .contents .column.col5 > *.size5 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 5 + 20px * 4);
}
.sp main .contents .column.col5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5);
}
.sp main .contents .column.spcol5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5) !important;
}
main .contents .layout {
	display: table;
	width: calc(100% + 40px);
	margin-left: -20px;
	margin-right: -20px;
}
main .contents .layout > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
main .contents .layout:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .layout {
	width: calc(100% + 20px);
	margin-left: -10px;
	margin-right: -10px;
}
main .contents .layout > * {
	padding: 0px 20px;
}
.sp main .contents .layout > * {
	padding: 0px 10px;
}
main .contents .layout > *.left {
	text-align: left;
}
main .contents .layout > *.right {
	text-align: right;
}
main .contents .layout > *.top {
	vertical-align: top;
}
main .contents .layout > *.bottom {
	vertical-align: bottom;
}
.sp main .contents .layout.spcol1 {
	display: block;
	width: auto;
	margin-left: 0px;
	margin-bottom: -40px;
	margin-right: 0px;
}
.sp main .contents .layout.spcol1 > * {
	display: block;
	margin-bottom: 40px;
	padding: 0px;
	width: auto !important;
}
main .contents .table {
	overflow-x: auto;
	overflow-y: hidden;
}
.sp main .contents .table.scroll {
	overflow: auto;
}
.sp main .contents .table.scroll::-webkit-scrollbar {
	height: 10px;
}
.sp main .contents .table.scrolll::-webkit-scrollbar-track {
	background: #F1F1F1;
}
.sp main .contents .table.scroll::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}
.sp main .contents .table.scroll > table {
	width: 600px;
}
main .contents .table > table {
	width: calc(100% - 2px);
	border-spacing: 0;
	empty-cells: show;
}
main .contents .table > table.th_middle tbody > tr > th, main .contents .table > table.th_middle .format > table tbody > tr > td, main .contents .format > table .table > table.th_middle tbody > tr > td {
	vertical-align: middle;
}
main .contents .table > table > thead > tr > th, main .contents .format.table > table > thead > tr > td,
main .contents .table > table > thead > tr > td,
main .contents .table > table > tbody > tr > th,
main .contents .format.table > table > tbody > tr > td,
main .contents .table > table > tr > th,
main .contents .format.table > table > tr > td {
	position: relative;
	padding: 20px 16px;
	vertical-align: middle;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: bold;
	color: #ffffff;
	overflow: hidden;
	white-space: nowrap;
}
.sp main .contents .table > table > thead > tr > th, .sp main .contents .format.table > table > thead > tr > td, .sp
main .contents .table > table > thead > tr > td, .sp
main .contents .table > table > tbody > tr > th, .sp
main .contents .format.table > table > tbody > tr > td, .sp
main .contents .table > table > tr > th, .sp
main .contents .format.table > table > tr > td {
	padding: 12px 8px;
	white-space: nowrap;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
.sp main .contents .table > table > thead > tr > th span, .sp main .contents .format.table > table > thead > tr > td span, .sp
main .contents .table > table > thead > tr > td span, .sp
main .contents .table > table > tbody > tr > th span, .sp
main .contents .format.table > table > tbody > tr > td span, .sp
main .contents .table > table > tr > th span, .sp
main .contents .format.table > table > tr > td span {
	display: block;
}
.sp main .contents .table > table > thead > tr > th * + span, .sp main .contents .format.table > table > thead > tr > td * + span, .sp
main .contents .table > table > thead > tr > td * + span, .sp
main .contents .table > table > tbody > tr > th * + span, .sp
main .contents .format.table > table > tbody > tr > td * + span, .sp
main .contents .table > table > tr > th * + span, .sp
main .contents .format.table > table > tr > td * + span {
	margin-top: 4px;
}
main .contents .table > table > thead > tr > th.bg_white, main .contents .format.table > table > thead > tr > td.bg_white,
main .contents .table > table > thead > tr > td.bg_white,
main .contents .table > table > tbody > tr > th.bg_white,
main .contents .format.table > table > tbody > tr > td.bg_white,
main .contents .table > table > tr > th.bg_white,
main .contents .format.table > table > tr > td.bg_white {
	padding-left: 0;
	background: none;
	color: #000;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
main .contents .table > table.small > thead > tr > th, main .contents .format.table > table.small > thead > tr > td,
main .contents .table > table.small > thead > tr > td,
main .contents .table > table.small > tbody > tr > th,
main .contents .format.table > table.small > tbody > tr > td,
main .contents .table > table.small > tr > th,
main .contents .format.table > table.small > tr > td {
	padding: 8px;
	font-size: 12.8px;
	font-size: 0.8rem;
	line-height: 16.64px;
	line-height: 1.04rem;
}
.sp main .contents .table > table.small > thead > tr > th, .sp main .contents .format.table > table.small > thead > tr > td, .sp
main .contents .table > table.small > thead > tr > td, .sp
main .contents .table > table.small > tbody > tr > th, .sp
main .contents .format.table > table.small > tbody > tr > td, .sp
main .contents .table > table.small > tr > th, .sp
main .contents .format.table > table.small > tr > td {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .table > table > tbody > tr > th, main .contents .format.table > table > tbody > tr > td {
	vertical-align: middle;
	color: #373A3C;
	text-align: center;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
	font-weight: normal;
}
main .contents .table > table > tr > td,
main .contents .table > table > * > tr > td {
	padding: 16px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: normal;
	color: #373A3C;
}
.sp main .contents .table > table > tr > td, .sp
main .contents .table > table > * > tr > td {
	padding: 8px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .table > table tr > * {
	border-right: 1px solid #898989;
	border-bottom: 1px solid #898989;
}
main .contents .table > table tr > *:last-child {
	border-right: none;
}
main .contents .table > table.small > tr > td,
main .contents .table > table.small > * > tr > td {
	padding: 8px;
	font-size: 12.8px;
	font-size: 0.8rem;
	line-height: 21.76px;
	line-height: 1.36rem;
}
.sp main .contents .table > table.small > tr > td, .sp
main .contents .table > table.small > * > tr > td {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .table > table .left {
	text-align: left;
}
main .contents .table > table .right {
	text-align: right;
}
main .contents .table > table .center {
	text-align: center;
}
main .contents .table > table .top {
	vertical-align: top;
}
main .contents .table > table .bottom {
	vertical-align: bottom;
}
main .contents .table > table .middle {
	vertical-align: middle;
}
main .contents .table > table .space {
	background: transparent !important;
}
main .contents .table > table .nowrap {
	white-space: nowrap;
}
.sp main .contents .table > table .nowrap {
	white-space: normal;
}
main .contents .table > p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
.sp main .contents .table > p {
	font-size: 11.9px;
	font-size: 0.74375rem;
	line-height: 20.23px;
	line-height: 1.26438rem;
}
main .contents .table > p.right {
	text-align: right;
}
main .contents .table > * + p {
	margin-top: 8px;
}
main .contents .table > p + table {
	margin-top: 8px;
}
main .contents .format > table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
}
main .contents .format > table th, main .contents .format > table td {
	padding: 20px 0px 20px 0px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: normal;
	color: #373A3C;
	border-top: 1px solid #707070;
}
.sp main .contents .format > table th, .sp main .contents .format > table td {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
	padding: 0px 0px 20px 0px;
}
main .contents .format > table * + th, main .contents .format > table * + td {
	padding-top: 20px;
}
main .contents .format > table td {
	padding: 20px 20px 20px 20px;
	font-weight: normal;
	border-top: 1px solid #707070;
}
main .contents .format > table tr:last-child th, main .contents .format > table tr:last-child td,
main .contents .format > table tr:last-child td {
	padding-bottom: 0px;
}
.sp main .contents .format > table {
	display: block;
}
.sp main .contents .format > table tbody {
	display: block;
}
.sp main .contents .format > table tr {
	display: block;
}
.sp main .contents .format > table th, .sp main .contents .format > table td {
	display: block;
	font-weight: bold;
	padding-bottom: 0px;
	border: none;
}
.sp main .contents .format > table td {
	display: block;
	padding: 10px 0 5px 0;
	font-weight: normal;
	border: none;
}
main .contents .box {
	padding: 14px;
	border: 6px double #3c5199;
}
.sp main .contents .box {
	padding: 7px;
	border-width: 3px;
}
main .contents .googlemap {
	position: relative;
	padding-top: 50%;
}
.sp main .contents .googlemap {
	padding-top: 75%;
}
main .contents .googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	-webkit-transition: opacity 400ms;
	transition: opacity 400ms;
}
main .contents .googlemap.googlemapview {
	background: url(../images/loading.gif) no-repeat center center;
}
main .contents .googlemap.googlemapview iframe {
	position: fixed;
	top: 90vh;
	opacity: 0;
	-webkit-transition: opacity 0ms;
	transition: opacity 0ms;
}
main .contents .youtube {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
main .contents .youtube > div {
	position: relative;
	padding-top: 56.25%;
}
main .contents .youtube > div > iframe,
main .contents .youtube > div > video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
main .contents .youtube p {
	margin: auto;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
* + main .contents .youtube p {
	margin-top: 8px;
}

.center {
	text-align: center;
}

#bodycover {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 120px;
	background: rgba(0, 0, 0, 0.5);
	z-index: 60;
	opacity: 0;
	pointer-events: none;
	-webkit-transition: 400ms;
	transition: 400ms;
}
.shortheader #bodycover {
	top: 60px;
}
.megamenuopen #bodycover {
	opacity: 1;
	pointer-events: auto;
	-webkit-transition: 200ms;
	transition: 200ms;
}

header {
	display: block;
	position: fixed;
	width: 100%;
	height: 120px;
	background: #fff;
	z-index: 100;
	overflow: hidden;
	-webkit-transition: height 400ms, background 400ms;
	transition: height 400ms, background 400ms;
}
.searchopen header, .menuopen header, .megamenuopen header {
	background: #ffffff;
}
.shortheader header {
	height: 60px;
	background: #ffffff;
}
.sp header {
	height: 60px;
	background: #ffffff;
}
header #logo {
	position: absolute;
	top: 50%;
	left: 20px;
	width: 240px;
	height: 45px;
	z-index: 10;
	transform: translateY(-50%);
	-webkit-transition: top 400ms, left 400ms, width 400ms, height 400ms;
	transition: top 400ms, left 400ms, width 400ms, height 400ms;
}
.shortheader header #logo {
	width: 148px;
	height: 28px;
}
.sp header #logo {
	width: 148px;
	height: 28px;
	left: 10px;
}
header #logo a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
header #logo a:hover {
	opacity: 0.7;
}
header #logo a img {
	display: block;
	width: 100%;
	height: 100%;
}
header #logo2 {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 320px;
	width: 140px;
	height: auto;
	z-index: 10;
	-webkit-transition: top 400ms, left 400ms, width 400ms, height 400ms;
	transition: top 400ms, left 400ms, width 400ms, height 400ms;
}
header #logo2::before {
	content: "";
	position: absolute;
	left: -30px;
	top: 50%;
	transform: translateY(-50%);
	height: 100%;
	width: 1px;
	background: #99714B;
	transition: left 400ms;
}
.shortheader header #logo2 {
	left: 190px;
	width: 70px;
}
.shortheader header #logo2::before {
	left: -10px;
}
.sp header #logo2 {
	left: 180px;
	width: 70px;
}
.sp header #logo2::before {
	left: -10px;
}
header #logo2 a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
header #logo2 a:hover {
	opacity: 0.7;
}
header #logo2 a img {
	display: block;
	width: 100%;
	height: 100%;
}
header #search {
	position: absolute;
	width: 48px;
	height: 48px;
	right: 88px;
	top: 56px;
	transition: top 400ms;
}
.shortheader header #search {
	top: 6px;
}
.sp header #search {
	display: none;
}
header #search a {
	position: relative;
	display: block;
	width: 48px;
	height: 48px;
	background: #ffffff;
	border: 1px solid #DBDBDB;
	border-radius: 50%;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	overflow: hidden;
}
header #search a:hover {
	opacity: 0.7;
}
header #search a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0%;
	left: 0px;
	background: url(../images/search.svg) no-repeat center center;
	-webkit-transition: 400ms;
	transition: 400ms;
}
header #search a:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: -100%;
	left: 0px;
	background: url(../images/close.svg) no-repeat center center;
	-webkit-transition: 400ms;
	transition: 400ms;
}
header #search a.open {
	background: #333333;
}
header #search a.open:before {
	top: 100%;
}
header #search a.open:after {
	top: 0%;
}
header #menu {
	position: absolute;
	width: 48px;
	height: 48px;
	right: 30px;
	top: 56px;
	transition: top 400ms;
}
.shortheader header #menu {
	top: 6px;
}
.sp header #menu {
	top: 6px;
	right: 10px;
}
header #menu a {
	position: relative;
	display: block;
	width: 48px;
	height: 48px;
	background: #ffffff;
	border: 1px solid #DBDBDB;
	border-radius: 50%;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	overflow: hidden;
}
header #menu a:hover {
	opacity: 0.7;
}
header #menu a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0%;
	left: 0px;
	background: url(../images/menu.svg) no-repeat center center;
	-webkit-transition: 400ms;
	transition: 400ms;
}
header #menu a:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: -100%;
	left: 0%;
	background: url(../images/close.svg) no-repeat center center;
	-webkit-transition: 400ms;
	transition: 400ms;
}
header #menu a.open {
	background: #333333;
}
header #menu a.open:before {
	top: 100%;
}
header #menu a.open:after {
	top: 0%;
}
header #globalnavi {
	position: absolute;
	top: 40px;
	right: calc(186px);
	-webkit-transition: top 400ms;
	transition: top 400ms;
}
.shortheader header #globalnavi {
	top: 0px;
}
.pc header #globalnavi {
	display: none;
}
header #globalnavi ul {
	display: table;
}
header #globalnavi ul li {
	display: table-cell;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
}
header #globalnavi ul li a {
	position: relative;
	display: table;
	height: 80px;
	color: #373A3C;
	-webkit-transition: height 400ms;
	transition: height 400ms;
}
.shortheader header #globalnavi ul li a {
	height: 60px;
}
header #globalnavi ul li a > span {
	display: table-cell;
	padding: 10px 20px;
	vertical-align: middle;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	-webkit-transition: padding 400ms;
	transition: padding 400ms;
}
header #globalnavi ul li a > span:hover {
	opacity: 0.7;
}
header #globalnavi ul li a > span:after {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% - 40px);
	height: 0px;
	bottom: 0px;
	left: 20px;
	background: #99714B;
	transition: height 400ms;
}
header #globalnavi ul li a > span:hover:after, header #globalnavi ul li a > span.current:after {
	height: 20px;
}
.shortheader header #globalnavi ul li a > span:hover:after, .shortheader header #globalnavi ul li a > span.current:after {
	height: 10px;
}
header #solutionnavi {
	position: absolute;
	top: 24px;
	right: calc(28em);
	-webkit-transition: top 400ms;
	transition: top 400ms;
	transform: translateY(-50%);
}
.shortheader header #solutionnavi {
	top: -40px;
}
.spc header #solutionnavi {
	right: calc(30em);
}
.pc header #solutionnavi {
	display: none;
}
.sp header #solutionnavi {
	display: none;
}
header #solutionnavi ul {
	display: table;
}
header #solutionnavi ul li {
	display: table-cell;
	vertical-align: top;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
}
header #solutionnavi ul li a {
	position: relative;
	display: table;
	height: 28px;
	color: #373A3C;
}
header #solutionnavi ul li a span {
	display: table-cell;
	padding: 0px 0.91rem;
	vertical-align: middle;
	background: #DBDBDB;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
header #solutionnavi ul li a span:hover {
	opacity: 0.7;
}
header #solutionnavi ul li + li a:after {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 80%;
	left: 0px;
	top: 10%;
	background: #ffffff;
}
header #headertool {
	position: absolute;
	right: 30px;
	top: 28px;
	transform: translateY(-50%);
	transition: top 400ms;
}
.shortheader header #headertool {
	top: -40px;
}
.sp header #headertool {
	display: none;
}
header #headertool ul {
	font-size: 0px;
}
header #headertool li {
	position: relative;
	display: inline-block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 16px;
	line-height: 1rem;
}
header #headertool li + li {
	margin-left: 20px;
}
header #headertool a {
	color: #373A3C;
	position: relative;
	display: inline-block;
}
header #headertool a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #373A3C;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
header #headertool a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
header #headertool .repair a {
	margin-left: 25px;
}
header #headertool .repair a:after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: -25px;
	margin-top: -10px;
	background: url(../images/repair.png) no-repeat center center;
	background-size: 20px 20px;
}
header #headertool .contact a {
	margin-left: 25px;
}
header #headertool .contact a:after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: -25px;
	margin-top: -10px;
	background: url(../images/contact.svg) no-repeat center center;
}
header #headertool .worldwide a {
	margin-left: 25px;
}
header #headertool .worldwide a:after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: -25px;
	margin-top: -10px;
	background: url(../images/worldwide.svg) no-repeat center center;
}

#megamenu {
	position: fixed;
	width: 100%;
	right: 0px;
	z-index: 80;
}
#megamenu > div {
	position: absolute;
	display: block;
	top: 120px;
	left: 0px;
	width: 100%;
	margin: auto;
	padding: 15px 20px 20px;
	background: #99714B;
	box-shadow: -3px 4px 5px 3px rgba(0, 0, 0, 0.4);
	-webkit-transform: translateY(-40%);
	transform: translateY(-40%);
	opacity: 0;
	-webkit-transition: 400ms;
	transition: 400ms;
	pointer-events: none;
}
.shortheader #megamenu > div {
	top: 60px;
}
#megamenu > div.show {
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
	opacity: 1;
	z-index: 5;
	-webkit-transition: 500ms 200ms, top 400ms;
	transition: 500ms 200ms, top 400ms;
	pointer-events: auto;
}
#megamenu > div a {
	color: #fff;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#megamenu > div a:hover {
	opacity: 0.7;
}
#megamenu > div .head {
	margin-top: 10px;
	padding-bottom: 8px;
	border-bottom: 2px solid #fff;
}
#megamenu > div .head a {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
}
#megamenu > div ul.menu {
	padding-top: 25px;
}
#megamenu > div ul.menu:after {
	content: "";
	display: block;
	clear: both;
}
#megamenu > div ul.menu > li {
	float: left;
	width: 33.3%;
	padding-bottom: 10px;
}
#megamenu > div ul.menu > li > a {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
}
#megamenu > div ul.menu > li > ul {
	padding: 15px 0 0 10px;
}
#megamenu > div ul.menu > li > ul > li {
	position: relative;
}
#megamenu > div ul.menu > li > ul > li + li {
	margin-top: 15px;
}
#megamenu > div ul.menu > li > ul > li:before {
	content: "・";
	color: #fff;
}

#searchpanel {
	position: fixed;
	top: 120px;
	right: 0px;
	width: 100%;
	height: 200px;
	background: #888888;
	z-index: 80;
	opacity: 0;
	-webkit-transform: translateX(40%);
	transform: translateX(40%);
	-webkit-transition: 600ms, top 400ms;
	transition: 600ms, top 400ms;
	pointer-events: none;
}
.shortheader #searchpanel {
	top: 60px;
}
.sp #searchpanel {
	display: none;
}
.searchopen #searchpanel {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	opacity: 1;
	pointer-events: auto;
}
#searchpanel > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	height: 200px;
	-webkit-transition: 400ms;
	transition: 400ms;
}
.sp #searchpanel > div {
	padding: 0px 10px;
}
#searchpanel > div > div {
	position: absolute;
	display: table;
	width: calc(100% - 40px);
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#searchpanel > div > div > * {
	display: table-cell;
	vertical-align: middle;
}
#searchpanel .title {
	width: calc(5rem + 30px);
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	color: #ffffff;
}
#searchpanel .input {
	background: #ffffff;
}
#searchpanel input {
	width: 100%;
	height: 60px;
	padding: 0px 60px 0px 15px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 60px;
	border: 0px;
}
#searchpanel input::placeholder {
	color: #DBDBDB;
}
#searchpanel input:-ms-input-placeholder {
	color: #DBDBDB;
}
#searchpanel input::-ms-input-placeholder {
	color: #DBDBDB;
}
#searchpanel button {
	position: absolute;
	width: 60px;
	height: 60px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(../images/search.svg) no-repeat center center;
	border: 0px;
	cursor: pointer;
}

#fullmenu {
	position: fixed;
	right: 0px;
	width: 100%;
	top: 120px;
	height: calc(100vh - 120px);
	background: #888888;
	overflow: auto;
	z-index: 80;
	opacity: 0;
	-webkit-transform: translateX(40%);
	transform: translateX(40%);
	-webkit-transition: opacity 600ms, -webkit-transform 600ms, top 400ms, height 400ms;
	transition: opacity 600ms, transform 600ms, top 400ms, height 400ms;
	pointer-events: none;
}
.shortheader #fullmenu {
	top: 60px;
	height: calc(100vh - 60px);
}
.sp #fullmenu {
	display: none;
}
.menuopen #fullmenu {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	opacity: 1;
	pointer-events: auto;
}
#fullmenu > div {
	position: relative;
	padding: 20px;
	color: #fff;
}
#fullmenu > div a {
	color: #fff;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#fullmenu > div a:hover {
	opacity: 0.7;
}
#fullmenu > div > ul:after {
	content: "";
	display: block;
	clear: both;
}
#fullmenu > div > ul > li {
	width: 25%;
	float: left;
}
#fullmenu > div > ul > li.title > a {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
}
#fullmenu > div > ul > li > ul {
	margin-top: 15px;
}
#fullmenu > div > ul > li > ul > li + li {
	margin-top: 15px;
}
#fullmenu > div > ul > li > ul > li > ul {
	margin-top: 10px;
	padding-left: 10px;
}
#fullmenu > div > ul > li > ul > li > ul li {
	position: relative;
}
#fullmenu > div > ul > li > ul > li > ul li + li {
	margin-top: 10px;
}
#fullmenu > div > ul > li > ul > li > ul li:before {
	content: "・";
	color: #fff;
}
#fullmenu > div .sns {
	position: absolute;
	right: 100px;
	bottom: 15px;
}
#fullmenu > div .sns ul {
	display: inline-block;
}
#fullmenu > div .sns ul li {
	display: inline-block;
}
#fullmenu > div .sns ul li + li {
	margin-left: 10px;
}
#fullmenu > div .sns ul li img {
	height: 32px;
}
#fullmenu > div + div {
	border-top: 1px solid #ffffff;
}

#spmenu {
	display: none;
	position: fixed;
	right: 0px;
	width: 100%;
	top: 60px;
	max-height: calc(100vh - 70px);
	z-index: 80;
	-webkit-transform: translateX(40%);
	transform: translateX(40%);
	-webkit-transition: opacity 600ms, -webkit-transform 600ms;
	transition: opacity 600ms, transform 600ms;
	opacity: 0;
	overflow: auto;
	pointer-events: none;
}
.sp #spmenu {
	display: block;
}
.menuopen #spmenu {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	opacity: 1;
	pointer-events: auto;
}
#spmenu img {
	display: block;
	width: 100%;
	height: auto;
	margin: auto;
}
#spmenu a {
	color: #fff;
}
#spmenu ul {
	width: 100%;
	background: #898989;
}
#spmenu ul li {
	position: relative;
}
#spmenu ul li + li {
	border-top: 1px solid #fff;
}
#spmenu ul li.search {
	padding: 10px;
	background: #898989;
}
#spmenu ul li.search input {
	-webkit-text-size-adjust: 100%;
	width: 100%;
	height: 30px;
	padding: 0px 60px 0px 15px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	border: 0px;
}
#spmenu ul li.search input::placeholder {
	color: #DBDBDB;
}
#spmenu ul li.search input:-ms-input-placeholder {
	color: #DBDBDB;
}
#spmenu ul li.search input::-ms-input-placeholder {
	color: #DBDBDB;
}
#spmenu ul li.search button {
	position: absolute;
	width: 30px;
	height: 30px;
	right: 10px;
	top: 10px;
	text-indent: -10000px;
	background: url(../images/search.svg) no-repeat center center;
	background-size: 20px 20px;
	border: 0px;
	cursor: pointer;
}
#spmenu ul li.current {
	background: #898989;
}
#spmenu ul li.current a {
	color: #fff;
}
#spmenu ul li a {
	display: block;
	padding: 15px 40px 15px 10px;
}
#spmenu ul li .btn {
	position: absolute;
	z-index: 5;
	right: 5px;
	top: 10px;
	width: 30px;
	height: 30px;
	text-align: center;
	padding-top: 4px;
	cursor: pointer;
}
#spmenu ul li .btn:after {
	content: "[＋]";
	color: #fff;
}
#spmenu ul li .btn.open:after {
	content: "[－]";
}
#spmenu ul li > ul {
	display: none;
	border-top: 1px solid #fff;
}
#spmenu ul li > ul li + li {
	border-top: 1px dotted #fff;
}
#spmenu ul li > ul > li a {
	padding-left: 20px;
}
#spmenu ul li > ul > li > ul > li {
	background: #fff;
}
#spmenu ul li > ul > li > ul > li + li {
	border-top: 1px dotted #898989;
}
#spmenu ul li > ul > li > ul > li a {
	padding-left: 30px;
	color: #898989;
}
#spmenu > ul {
	border-bottom: 1px solid #fff;
}
#spmenu p {
	background: #898989;
	padding: 10px;
	color: #fff;
	line-height: 1.5;
}
#spmenu .contact {
	background: #898989;
	padding: 10px 10px 20px;
}
#spmenu .contact a {
	display: inline-block;
	border: 1px solid #fff;
	color: #fff;
	font-weight: bold;
	padding: 10px 30px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}

#spview {
	display: none;
	margin-top: 60px;
}
.sp #spview {
	display: block;
}
#spview img {
	display: block;
	width: 100%;
	height: auto;
	margin: auto;
}

footer {
	position: relative;
	display: block;
	background: #333;
	z-index: 10;
	color: #fff;
}
footer a {
	color: #fff;
}
footer > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px;
}
.sp footer > div {
	padding: 20px 10px;
}
footer > div:after {
	content: "";
	display: block;
	clear: both;
}
.sp footer > div {
	padding: 20px 10px;
}
footer > div > div {
	float: left;
	width: 50%;
}
.sp footer > div > div {
	float: none;
	width: auto;
}
.sp footer > div > div.left > a {
	display: none;
}
footer > div > div.left .catch {
	margin-top: 20px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 36px;
	line-height: 2.25rem;
	font-weight: bold;
}
.sp footer > div > div.left .catch {
	margin-top: 0;
}
footer > div > div.left ul {
	margin-top: 60px;
}
footer > div > div.left ul + ul {
	margin-top: 40px;
}
.sp footer > div > div.left ul + ul {
	margin-top: 30px;
}
.sp footer > div > div.left ul {
	margin-top: 20px;
}
footer > div > div.left ul li + li {
	margin-top: 15px;
}
footer > div > div.left ul li ul {
	margin-top: 15px;
}
.sp footer > div > div.left ul li ul {
	margin-top: 15px;
}
footer > div > div.left ul li li {
	margin-left: 1em;
}
footer > div > div.left a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer > div > div.left a:hover {
	opacity: 0.7;
}
.sp footer > div > div.right {
	margin-top: 30px;
}
footer > div > div.right p {
	line-height: 1.5;
}
footer > div > div.right ul.btn {
	margin-top: 25px;
}
.sp footer > div > div.right ul.btn {
	text-align: center;
}
footer > div > div.right ul.btn li {
	display: inline-block;
	min-width: 170px;
}
footer > div > div.right ul.btn li a {
	display: block;
	border: 1px solid #fff;
	text-align: center;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	padding: 10px 30px;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}
footer > div > div.right ul.btn li a:hover {
	background: #fff;
	color: #5A5A5A;
}
footer > div > div.right ul.btn br + li {
	margin-left: 15px;
}
.sp footer > div > div.right ul.btn br + li {
	margin-left: 0;
	margin-top: 15px;
}
footer > div > div.right .head {
	margin-top: 40px;
	margin-bottom: 15px;
}
footer > div > div .copyright {
	margin-top: 30px;
}
.sp footer > div > div .copyright {
	text-align: center;
}
footer > div .sns {
	position: absolute;
	right: 20px;
	bottom: 40px;
}
.sp footer > div .sns {
	position: static;
	text-align: center;
	margin-top: 20px;
}
footer > div .sns li {
	display: inline-block;
}
footer > div .sns li + li {
	margin-left: 10px;
}
footer > div .sns li img {
	height: 32px;
}
footer > div .copyright.view_sp {
	margin-top: 20px;
	text-align: center;
}

#mainvisual {
	position: fixed;
	display: table;
	width: 100%;
	height: 100vh;
	min-height: 700px;
	background: url(../../images/mainvisual.jpg) no-repeat center bottom;
	background-size: cover;
	z-index: 10;
}
.sp #mainvisual {
	position: static;
	height: 300px;
	min-height: 300px;
}
#mainvisual .catch {
	position: absolute;
	left: 50%;
	top: 58%;
	transform: translate(-50%, -50%);
}
#mainvisual .catch img {
	display: block;
	margin: auto;
}
.sp #mainvisual .catch {
	display: table-cell;
	vertical-align: middle;
	position: static;
	text-align: center;
	transform: translate(0, 0);
	padding: 0 20px;
}
.sp #mainvisual .catch img {
	display: inline;
	width: 290px;
	height: auto;
}
#mainvisual .scroll {
	position: absolute;
	bottom: 20px;
	left: 50%;
	margin-left: -22.5px;
}
#mainvisual .scroll img {
	display: block;
	margin: auto;
}
.sp #mainvisual .scroll {
	display: none;
}

#block1 {
	position: relative;
	background: #ffffff;
	z-index: 10;
	margin-top: 100vh;
	overflow: hidden;
}
.sp #block1 {
	margin-top: 0;
}
.sp #block1 .title {
	position: relative;
	background-size: cover !important;
}
.sp #block1 .title:after {
	content: "";
	display: block !important;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0%;
	background: rgba(0, 0, 0, 0.4) !important;
	z-index: 11;
}
#block1 #top_notice {
	background: #fff;
	position: relative;
	z-index: 50;
	margin: 0;
}
#block1 #top_notice > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 2px 20px 30px;
}
.sp #block1 #top_notice > div {
	padding: 1px 10px 15px;
}
#block1 #top_notice > div p.tit {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
}
* + #block1 #top_notice > div p.tit {
	margin-top: 30px;
}
#block1 #top_notice > div p.tx {
	margin-top: 15px;
	line-height: 1.5;
}
#block1 .cover {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background: #ffffff;
	opacity: 0;
	z-index: 50;
	transition: opacity 1600ms;
}
#block1 .cover.change {
	opacity: 1;
	transition: opacity 0ms;
}
#block1 .bg > div {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	background: none no-repeat center center;
	background-size: cover;
	opacity: 0;
	z-index: 15;
	overflow: hidden;
	transform: scale(1);
}
#block1 .bg > div:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0%;
	background: rgba(26, 62, 85, 0.2);
	z-index: 5;
}
.sp #block1 .stage > .area.dental {
	display: none;
}
#block1.d .bg .dental {
	transition: transform 18000ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 400ms 30ms;
	transform: scale(1.1);
	opacity: 1;
}
#block1.d .stage > div {
	cursor: initial;
}
#block1.d .stage .dental {
	background-size: 0px;
}
#block1.d .stage .dental:before {
	display: block;
}
#block1.d .stage .dental:after {
	display: none;
}
#block1.d .stage .dental .title span:after {
	display: none;
}
#block1.d .stage .dental .body {
	opacity: 1;
	pointer-events: auto;
}
#block1.d .stage .dental.area {
	cursor: initial;
}
#block1.d .stage .veterinary {
	height: 150px;
	z-index: 6;
}
.pc #block1.d .stage .veterinary {
	height: 100px;
}
#block1.d .stage .veterinary .title {
	background-size: cover;
}
#block1.d .stage .veterinary .title:after {
	display: block;
}
#block1.d .stage .medical {
	height: 150px;
	z-index: 6;
}
.pc #block1.d .stage .medical {
	height: 100px;
}
#block1.d .stage .medical .title {
	background-size: cover;
}
#block1.d .stage .medical .title:after {
	display: block;
}
#block1.v .bg .veterinary {
	transition: transform 18000ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 400ms 30ms;
	transform: scale(1.1);
	opacity: 1;
}
#block1.v .stage > div {
	cursor: initial;
}
#block1.v .stage .dental {
	height: 150px;
	z-index: 6;
}
.pc #block1.v .stage .dental {
	height: 100px;
}
#block1.v .stage .dental .title {
	background-size: cover;
}
#block1.v .stage .dental .title:after {
	display: block;
}
#block1.v .stage .veterinary {
	background-size: 0px;
	border-left: 0px;
}
#block1.v .stage .veterinary:before {
	display: block;
}
#block1.v .stage .veterinary:after {
	display: none;
}
#block1.v .stage .veterinary .title {
	border-left: 1px solid #ffffff;
}
#block1.v .stage .veterinary .title span:after {
	display: none;
}
#block1.v .stage .veterinary .body {
	opacity: 1;
	pointer-events: auto;
}
#block1.v .stage .medical {
	height: 150px;
	z-index: 6;
}
.pc #block1.v .stage .medical {
	height: 100px;
}
#block1.v .stage .medical .title {
	background-size: cover;
}
#block1.v .stage .medical .title:after {
	display: block;
}
#block1.m .bg .medical {
	transition: transform 18000ms cubic-bezier(0.165, 0.84, 0.44, 1), opacity 400ms 30ms;
	transform: scale(1.1);
	opacity: 1;
}
#block1.m .stage > div {
	cursor: initial;
}
#block1.m .stage .dental {
	height: 150px;
	z-index: 6;
}
.pc #block1.m .stage .dental {
	height: 100px;
}
#block1.m .stage .dental .title {
	background-size: cover;
}
#block1.m .stage .dental .title:after {
	display: block;
}
#block1.m .stage .veterinary {
	height: 150px;
	z-index: 6;
}
.pc #block1.m .stage .veterinary {
	height: 100px;
}
#block1.m .stage .veterinary .title {
	background-size: cover;
}
#block1.m .stage .veterinary .title:after {
	display: block;
}
#block1.m .stage .medical {
	background-size: 0px;
	border-left: 0px;
}
#block1.m .stage .medical:before {
	display: block;
	left: -200%;
}
#block1.m .stage .medical:after {
	display: none;
}
#block1.m .stage .medical .title {
	border-left: 1px solid #ffffff;
}
#block1.m .stage .medical .title span:after {
	display: none;
}
#block1.m .stage .medical .body {
	opacity: 1;
	pointer-events: auto;
}
#block1 .stage {
	position: relative;
	height: calc(100vh - 60px);
	z-index: 15;
	overflow: hidden;
}
.sp #block1 .stage {
	height: auto !important;
}
#block1 .stage div.area {
	position: absolute;
	width: calc(100% / 3);
	height: 100%;
	top: 0px;
	background: none no-repeat center center;
	background-size: cover;
	cursor: pointer;
}
.sp #block1 .stage div.area {
	position: static;
	width: 100%;
	background-position: 0 20%;
}
#block1 .stage div.area:before {
	content: "";
	display: none;
	position: absolute;
	width: 300%;
	height: 100%;
	top: 0px;
	left: -100%;
	background: transparent;
	z-index: 5;
}
#block1 .stage div.area:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0%;
	background: rgba(26, 62, 85, 0.2);
	z-index: 5;
}
#block1 .stage div.area > a {
	display: block;
	color: #fff;
	width: 100%;
	height: 100%;
}
#block1 .stage div.area .pop {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
}
#block1 .stage div.area .pop:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 15;
	background: #ffffff;
	opacity: 0;
	transition: 0ms 1200ms;
}
#block1 .stage div.area .pop:after {
	content: "";
	display: block;
	position: absolute;
	width: 60vw;
	height: 60vw;
	top: 150%;
	left: 150%;
	background: #99714B;
	border-radius: 50%;
	opacity: 0;
	z-index: 20;
	transform: translate(-50%, -50%);
	transition: top cubic-bezier(0.6, 0, 0.4, 1) 3000ms, left cubic-bezier(0.6, 0, 0.4, 1) 3000ms, width cubic-bezier(0.79, 0.12, 0.97, 0.81) 1000ms, height cubic-bezier(0.79, 0.12, 0.97, 0.81) 1000ms, opacity 1000ms 2000ms;
}
#block1 .stage div.area .pop.popin:before {
	opacity: 1;
}
#block1 .stage div.area .pop.popin:after {
	top: 0%;
	left: 0%;
	width: 0vw;
	height: 0vw;
	opacity: 1;
}
#block1 .stage div.area > .title, #block1 .stage div.area > a > .title {
	position: relative;
	height: 150px;
	color: #ffffff;
	z-index: 10;
	background: none no-repeat center center;
	background-size: 0px;
	cursor: pointer;
}
.pc #block1 .stage div.area > .title, .pc #block1 .stage div.area > a > .title {
	height: 100px;
}
#block1 .stage div.area > .title:after, #block1 .stage div.area > a > .title:after {
	content: "";
	display: none;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0%;
	background: rgba(0, 0, 0, 0.6);
	z-index: 5;
}
#block1 .stage div.area > .title h2, #block1 .stage div.area > a > .title h2 {
	position: absolute;
	margin: 0px;
	padding: 0px;
	bottom: 20px;
	left: 40px;
	font-size: 32px;
	font-size: 2rem;
	line-height: 32px;
	line-height: 2rem;
	z-index: 10;
}
.pc #block1 .stage div.area > .title h2, .pc #block1 .stage div.area > a > .title h2 {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 24px;
	line-height: 1.5rem;
}
.sp #block1 .stage div.area > .title h2, .sp #block1 .stage div.area > a > .title h2 {
	font-size: 32px;
	font-size: 2rem;
	line-height: 100px;
	width: 100%;
	bottom: 0;
}
#block1 .stage div.area > .title h2:before, #block1 .stage div.area > a > .title h2:before {
	content: "";
	display: block;
	position: absolute;
	right: -54px;
	width: 29px;
	height: 29px;
	top: 50%;
	margin-top: -15.5px;
	border: 2px solid #ffffff;
	border-radius: 50%;
}
.sp #block1 .stage div.area > .title h2:before, .sp #block1 .stage div.area > a > .title h2:before {
	right: 60px;
	border: none;
	border-radius: 0;
	background: url(../images/ico_blank_w.svg) no-repeat center center;
	background-size: 25px 25px;
}
#block1 .stage div.area > .title h2 span, #block1 .stage div.area > a > .title h2 span {
	display: block;
}
#block1 .stage div.area > .title h2 span:before, #block1 .stage div.area > a > .title h2 span:before {
	content: "";
	display: block;
	position: absolute;
	width: 14px;
	height: 1px;
	top: 50%;
	right: -44px;
	background: #ffffff;
}
.sp #block1 .stage div.area > .title h2 span:before, .sp #block1 .stage div.area > a > .title h2 span:before {
	display: none;
}
#block1 .stage div.area > .title h2 span:after, #block1 .stage div.area > a > .title h2 span:after {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 14px;
	top: 50%;
	right: -38px;
	margin-top: -6px;
	background: #ffffff;
}
.sp #block1 .stage div.area > .title h2 span:after, .sp #block1 .stage div.area > a > .title h2 span:after {
	display: none;
}
#block1 .stage div.area.link > .title h2:before {
	border: none;
	border-radius: 0;
	background: url(../images/ico_blank_w.svg) no-repeat center center;
	background-size: 25px 25px;
}
#block1 .stage div.area.link > .title h2 span:before {
	display: none;
}
#block1 .stage div.area.link > .title h2 span:after {
	display: none;
}
#block1 .stage .body {
	position: absolute;
	top: 210px;
	left: 50%;
	width: calc(100vw - 80px);
	max-width: 1840px;
	background: rgba(255, 255, 255, 0.8);
	transform: translateX(-50%);
	z-index: 20;
	opacity: 0;
	pointer-events: none;
}
.pc #block1 .stage .body {
	top: 160px;
}
#block1 .stage .body > div {
	padding: 60px;
}
.pc #block1 .stage .body > div {
	padding: 40px;
}
#block1 .stage .body p {
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 44.2px;
	line-height: 2.7625rem;
}
.pc #block1 .stage .body p {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
}
#block1 .stage .body .button a {
	position: relative;
	display: inline-block;
	min-width: 300px;
	height: 64px;
	margin-top: 35px;
	padding: 0px 60px 0px 20px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 64px;
	color: #ffffff;
	background: #99714B;
	border-radius: 32px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#block1 .stage .body .button a:hover {
	opacity: 0.7;
}
#block1 .stage .body .button a:after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	top: 22px;
	right: 20px;
	background: url(../images/blank.svg) no-repeat center center;
}
#block1 .stage .body .b1column {
	margin: 70px -5px 0px -40px;
	font-size: 0;
}
#block1 .stage .body .b1column > div {
	display: inline-block;
	width: calc((100% - 80px) / 2);
	margin-left: 40px;
	vertical-align: top;
	overflow: hidden;
}
#block1 .stage .body h3 {
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
}
.pc #block1 .stage .body h3 {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
}
#block1 .stage .body .list ul {
	font-size: 0;
}
#block1 .stage .body .list li {
	display: inline-block;
	vertical-align: top;
}
#block1 .stage .body .list a {
	position: relative;
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	padding-bottom: 25px;
}
#block1 .stage .body .list a:hover {
	opacity: 0.7;
}
#block1 .stage .body .list a:before {
	content: "詳しく見る";
	display: block;
	position: absolute;
	bottom: 0px;
	right: 30px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 20px;
	color: #373A3C;
}
#block1 .stage .body .list a:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	right: 0px;
	width: 20px;
	height: 20px;
	background: url(../images/icon2.svg) no-repeat center center;
}
#block1 .stage .body .list a .image {
	display: block;
}
#block1 .stage .body .list a .image img {
	display: block;
	width: 100%;
	height: auto;
}
#block1 .stage .body .list a .title {
	display: block;
	margin-top: 15px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: bold;
	color: #373A3C;
}
#block1 .stage .body .list a .info {
	display: block;
	margin-top: 5px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
	color: #373A3C;
}
#block1 .stage .body .slidenews .tab ul {
	font-size: 0px;
}
#block1 .stage .body .slidenews .tab ul li {
	position: relative;
	display: inline-block;
	width: calc((100% - 50px) / 3);
	max-width: 250px;
}
#block1 .stage .body .slidenews .tab ul li.left a:after {
	left: 0px;
	right: auto;
}
#block1 .stage .body .slidenews .tab ul li + li {
	margin-left: 20px;
}
#block1 .stage .body .slidenews .tab a {
	position: relative;
	display: block;
	padding-top: 25px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: bold;
	color: #888888;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	-webkit-transition: opacity 200ms, color 600ms;
	transition: opacity 200ms, color 600ms;
}
#block1 .stage .body .slidenews .tab a:hover {
	opacity: 0.7;
}
#block1 .stage .body .slidenews .tab a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 6px;
	top: 0px;
	left: 0px;
	background: #BFBFBF;
}
#block1 .stage .body .slidenews .tab a:after {
	content: "";
	display: block;
	position: absolute;
	width: 0%;
	height: 8px;
	top: 0px;
	right: 0px;
	background: #333333;
	-webkit-transition: 600ms;
	transition: 600ms;
}
#block1 .stage .body .slidenews .tab .current a {
	color: #373A3C;
}
#block1 .stage .body .slidenews .tab .current a:after {
	width: 100%;
}
#block1 .stage .body .slidenews .slidebody {
	position: relative;
	margin-top: 20px;
	-webkit-transition: height 400ms;
	transition: height 400ms;
}
#block1 .stage .body .slidenews .slidebody .slidelist {
	position: absolute;
	left: 50%;
	top: 0px;
	width: 100%;
	opacity: 0;
	-webkit-transform: translateX(-160%);
	transform: translateX(-160%);
	-webkit-transition: -webkit-transform 1200ms, opacity 600ms 600ms;
	transition: transform 1200ms, opacity 600ms 600ms;
	pointer-events: none;
}
#block1 .stage .body .slidenews .slidebody .slidelist.left {
	-webkit-transform: translateX(60%);
	transform: translateX(60%);
}
#block1 .stage .body .slidenews .slidebody .slidelist.show {
	-webkit-transform: translateX(-50%) !important;
	transform: translateX(-50%) !important;
	opacity: 1;
	-webkit-transition: -webkit-transform 1200ms, opacity 600ms;
	transition: transform 1200ms, opacity 600ms;
	pointer-events: auto;
}
#block1 .stage .body .slidenews .slidebody ul li {
	display: block;
	border-bottom: 1px dotted #707070;
}
#block1 .stage .body .slidenews .slidebody ul a {
	display: table;
	width: 100%;
	color: #373A3C;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#block1 .stage .body .slidenews .slidebody ul a:hover {
	opacity: 0.7;
}
#block1 .stage .body .slidenews .slidebody ul a .date {
	display: table-cell;
	vertical-align: top;
	width: 9.375rem;
	padding: 25px 0px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: bold;
}
.pc #block1 .stage .body .slidenews .slidebody ul a .date {
	width: 7rem;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
}
#block1 .stage .body .slidenews .slidebody ul a .tit {
	display: table-cell;
	vertical-align: top;
	padding: 20px 0px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
	border-left: 0;
}
.pc #block1 .stage .body .slidenews .slidebody ul a .tit {
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
}
#block1 .stage .dental {
	left: 0px;
}
#block1 .stage .dental .body {
	left: 150%;
}
#block1 .stage .veterinary {
	left: calc(100% / 3);
	border-left: 1px solid #ffffff;
}
#block1 .stage .veterinary .body {
	left: 50%;
}
#block1 .stage .medical {
	right: 0px;
	border-left: 1px solid #ffffff;
}
#block1 .stage .medical .body {
	left: -50%;
}
#block1:not(.d):not(.v):not(.m) .stage {
	height: calc(100vh - 60px) !important;
}
.sp #block1:not(.d):not(.v):not(.m) .stage {
	height: auto !important;
}

#block2 {
	position: relative;
	background: #ffffff;
	z-index: 10;
	overflow: hidden;
}
#block2 .bg {
	position: absolute;
	width: 100%;
	height: 200%;
	top: 0%;
	left: 0px;
	background: none no-repeat center center;
	background-size: cover;
}
#block2 .main {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	padding: 0px;
}
.sp #block2 .main {
	padding: 0px 10px;
}
#block2 .list ul {
	margin-right: -5px;
	font-size: 0px;
}
#block2 .list li {
	display: inline-block;
	vertical-align: top;
	width: calc((100% - 5px) / 5);
}
.sp #block2 .list li {
	width: calc((100% - 5px) / 2);
}
#block2 .list li.repair {
	display: none;
}
.sp #block2 .list li.repair {
	display: inline-block;
}
#block2 .list a {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 100%;
	overflow: hidden;
}
#block2 .list a:after {
	content: "";
	display: block;
	position: absolute;
	width: 0%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(153, 113, 75, 0.15);
	opacity: 0;
	transition: opacity 200ms, width 0ms 200ms;
	z-index: 0;
}
#block2 .list a:hover:after {
	transition: width 400ms;
	width: 100%;
	opacity: 1;
}
#block2 .list a .image {
	display: block;
	position: absolute;
	bottom: 40%;
	left: 50%;
	margin-left: -40px;
	z-index: 10;
	width: 80px;
}
#block2 .list a .image img {
	display: block;
	width: 100%;
	height: auto;
}
#block2 .list a .title {
	display: block;
	position: absolute;
	width: 100%;
	top: 65%;
	left: 0px;
	text-align: center;
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
	color: #373A3C;
	z-index: 10;
}

#block3 {
	position: relative;
	background: #ffffff;
	z-index: 10;
}
#block3 > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 80px 20px;
	overflow: hidden;
}
#block3 > div:after {
	content: "";
	display: block;
	clear: both;
}
.sp #block3 > div {
	padding: 40px 10px;
}
#block3 .b31 {
	float: right;
	width: 70%;
}
.sp #block3 .b31 {
	float: none;
	width: auto;
}
#block3 .b31 h2 {
	margin: 0px 0px 15px;
	padding: 0px;
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
}
#block3 .b31 .list {
	margin-bottom: 40px;
}
#block3 .b31 .list li {
	display: block;
	border-bottom: 1px dotted #707070;
}
#block3 .b31 .list a {
	display: table;
	width: 100%;
	color: #373A3C;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#block3 .b31 .list a:hover {
	opacity: 0.7;
}
.sp #block3 .b31 .list a {
	display: block;
}
#block3 .b31 .list a .date {
	display: table-cell;
	vertical-align: top;
	width: 19.44444444444444%;
	padding: 25px 0px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: bold;
}
.sp #block3 .b31 .list a .date {
	width: auto;
	display: inline-block;
	padding: 10px 0px;
}
#block3 .b31 .list a .category {
	display: table-cell;
	vertical-align: top;
	padding: 25px 0px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
}
.sp #block3 .b31 .list a .category {
	display: inline-block;
	margin-left: 10px;
	padding: 10px 0px;
}
#block3 .b31 .list a .category span {
	display: block;
	width: 5rem;
	text-align: center;
	color: #ffffff;
	background: #888888;
}
#block3 .b31 .list a .title {
	display: table-cell;
	vertical-align: top;
	width: 63.88888888888889%;
	padding: 23px 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
}
.sp #block3 .b31 .list a .title {
	display: block;
	width: auto;
	padding: 0px 0px 10px;
}
#block3 .b32 {
	float: left;
	width: 25%;
}
.sp #block3 .b32 {
	float: none;
	width: auto;
}
.sp #block3 .b32 h2 {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 51px;
	line-height: 3.1875rem;
	margin-top: 0;
}

.button {
	margin-top: 20px;
}
.sp .button {
	text-align: center;
}
.button a {
	position: relative;
	display: inline-block;
	min-width: 180px;
	max-width: 100%;
	padding: 0.5rem 4rem 0.5rem 1.5rem;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
	color: #ffffff;
	background: #99714B;
	border-radius: 2rem;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	overflow: hidden;
}
.button a:hover {
	opacity: 0.7;
}
.sp .button a {
	display: block;
	width: 180px;
	margin-left: auto;
	margin-right: auto;
}
.button a:after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	top: calc(50% - 10px);
	right: 10px;
	background: url(../images/icon1.svg) no-repeat center center;
}
.button a.blank_w:after {
	background: url(../images/ico_blank_w.svg) no-repeat center center;
}
.button a + a {
	margin-left: 20px;
}
.sp .button a + a {
	margin-left: auto;
	margin-top: 20px;
}
.button br + a {
	margin-left: 3rem;
}
.sp .button br + a {
	margin-left: 0;
	margin-top: 15px;
}
.button.back {
	margin-top: 40px;
}
.button.back a:after {
	background: url(../images/icon_back.svg) no-repeat center center;
}
.button.block a {
	display: block;
	width: 400px;
}
.button.block a + a {
	margin-left: 0;
	margin-top: 15px;
}
.sp .button.block a + a {
	margin-left: auto;
}

.breadcrumbs {
	margin-top: 120px;
	padding: 10px 20px;
	border-top: 1px solid #98A6B5;
}
.sp .breadcrumbs {
	margin-top: 70px;
	padding: 10px 10px;
}
.breadcrumbs img {
	display: block;
}
.breadcrumbs ul:after {
	content: "";
	display: block;
	clear: both;
}
.breadcrumbs ul li {
	float: left;
	position: relative;
	padding-right: 10px;
	line-height: 1.5;
}
.breadcrumbs ul li:last-child {
	padding-right: 0;
}
.breadcrumbs ul li:last-child:after {
	display: none;
}
.breadcrumbs ul li:after {
	content: "/";
	display: inline-block;
	padding-left: 10px;
}
.breadcrumbs ul li a {
	color: #6B74C9;
}

.head_block {
	position: relative;
}
.head_block > div {
	width: 100%;
	background: none no-repeat top left;
	background-size: cover;
	background-image: url(../../data/images/bg_data.jpg);
}
.head_block.data > div {
	background-image: url(../../data/images/bg_data.jpg);
}
.head_block .h1_area {
	display: table;
	width: 40%;
	padding: 0 20px;
	height: 100%;
	color: #fff;
	background: #333;
}
.sp .head_block .h1_area {
	width: 60%;
}
.head_block .h1_area h1, .head_block .h1_area div {
	display: table-cell;
	margin: 0;
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 46.8px;
	line-height: 2.925rem;
	vertical-align: middle;
	font-weight: bold;
}
.sp .head_block .h1_area h1, .sp .head_block .h1_area div {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 39px;
	line-height: 2.4375rem;
}
.head_block.level2 > div {
	height: 300px;
	background-position: 38vw top;
}
.sp .head_block.level2 > div {
	height: 150px;
}
.head_block.level3 > div {
	height: 150px;
	background-position: 38vw top;
}
.sp .head_block.level3 > div {
	height: 75px;
}

.office_list {
	padding-top: 40px;
	border-top: 1px solid #707070;
}
.sp .office_list {
	padding-top: 20px;
}
.office_list div + div {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px dotted #707070;
}
.sp .office_list div + div {
	margin-top: 20px;
	padding-top: 20px;
}

.blank:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 1rem;
	height: 1rem;
	top: -3px;
	margin: 0px 8px;
	padding: 0px !important;
	background: url(../images/ico_blank.svg) no-repeat left top;
	background-size: 100%;
	vertical-align: middle;
}

.blank.w:after {
	background: url(../images/ico_blank_w.svg) no-repeat left top;
	background-size: 100%;
}

.pdf:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 16px;
	height: 18px;
	top: -3px;
	margin: 0px 8px;
	padding: 0px !important;
	background: url(../images/pdf.svg) no-repeat left top;
	background-size: 100%;
	vertical-align: middle;
}

.bg_gray {
	padding: 20px;
	background: #F0F3F5;
}

p.p_profile {
	margin-left: 3.2rem;
	text-indent: -3.2rem;
}

.anchor li {
	display: inline-block;
	margin: 20px 0 0 30px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
.sp .anchor li {
	display: block;
	padding-right: 0;
}
.anchor li a {
	position: relative;
	padding-right: 30px;
	display: inline-block;
}
.anchor li a:before {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	right: 0;
	top: 50%;
	margin-top: -10px;
	background: url(../images/anchor.svg) no-repeat center center;
}

main .contents .menu .text {
	margin-top: 20px;
}
main .contents .menu .text .title {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	font-weight: bold;
}
main .contents .menu .text .title + p {
	margin-top: 0;
}
main .contents .menu a {
	display: block;
	color: #373A3C;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .menu a:hover {
	opacity: 0.7;
}

main .contents .background .inner {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px;
	z-index: 10;
}
main .contents .background.history {
	height: 760px;
	margin-top: -120px;
	padding: 100px 10px;
	background: url(../../value/images/bg_history.jpg) no-repeat center top;
	background-size: cover;
}
.sp main .contents .background.history {
	height: 380px;
	margin-top: -60px;
	padding: 50px 10px;
}
main .contents .background.history .inner {
	height: 560px;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 10px;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.4);
	display: table;
	width: 100%;
}
main .contents .background.history .inner > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
.sp main .contents .background.history .inner {
	height: 280px;
}
main .contents .background.history .inner .title {
	font-size: 80px;
	font-size: 5rem;
	line-height: 80px;
	line-height: 5rem;
	color: #1464AA;
	text-align: center;
}
main .contents .background.history .inner .sub {
	font-size: 32px;
	font-size: 2rem;
	line-height: 32px;
	line-height: 2rem;
	text-align: center;
}

main .contents .history_content {
	background: #F0F3F5;
	position: relative;
}
main .contents .history_content:after {
	content: "";
	position: absolute;
	width: 100px;
	height: 20000px;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: #fff;
}
.sp main .contents .history_content:after {
	width: 50px;
}
main .contents .history_content .inner {
	padding: 80px 20px;
}
.sp main .contents .history_content .inner {
	padding: 40px 10px;
}
main .contents .history_content h2 {
	padding: 25px;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 10px;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.4);
	font-size: 60px;
	font-size: 3.75rem;
	line-height: 78px;
	line-height: 4.875rem;
	text-align: center;
}
.sp main .contents .history_content h2 {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 39px;
	line-height: 2.4375rem;
}
main .contents .history_content h2 span {
	display: block;
	margin-bottom: 0.7rem;
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 39px;
	line-height: 2.4375rem;
	color: #1464AA;
}
.sp main .contents .history_content h2 span {
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 19.5px;
	line-height: 1.21875rem;
}
main .contents .history_content h3 {
	font-size: 32px;
	font-size: 2rem;
	line-height: 41.6px;
	line-height: 2.6rem;
	text-align: center;
}
main .contents .history_content .text p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 32px;
	line-height: 2rem;
}

.arrow_next {
	position: relative;
	padding-right: 30px;
	display: inline-block;
}
.arrow_next:after {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	right: 0;
	top: 50%;
	margin-top: -10px;
	background: url(../images/icon2.svg) no-repeat center center;
}

#block9 {
	position: relative;
	background: #ffffff;
	z-index: 10;
}
#block9 > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px 50px;
}
.sp #block9 > div {
	padding: 0px 10px 25px;
}
#block9 img {
	display: block;
	width: 100%;
	height: auto;
}
#block9 h4 {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
}
#block9 .list ul#paging li {
	display: none;
}
#block9 .list li {
	display: block;
	border-bottom: 1px solid #BFBFBF;
}
#block9 .list a {
	display: table;
	width: 100%;
	color: #373A3C;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#block9 .list a:hover {
	opacity: 0.7;
}
.sp #block9 .list a {
	display: block;
}
#block9 .list .date {
	display: table-cell;
	vertical-align: top;
	width: 14.0rem;
	padding: 25px 0px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: bold;
}
.sp #block9 .list .date {
	display: inline-block;
	vertical-align: middle;
	padding: 12px 0px 0px;
}
#block9 .list .category {
	display: table-cell;
	vertical-align: top;
	width: 9rem;
	padding: 25px 0px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
}
.sp #block9 .list .category {
	display: inline-block;
	vertical-align: middle;
	padding: 12px 0px 0px;
}
#block9 .list .category span {
	display: block;
	width: 7rem;
	text-align: center;
	color: #ffffff;
	background: #6B74C9;
}
#block9 .list .title {
	display: table-cell;
	vertical-align: top;
	padding: 23px 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
}
.sp #block9 .list .title {
	display: block;
	padding: 12px 0;
}
#block9 .newslist {
	display: inline-flex;
	width: 100%;
	max-width: 800px;
	align-items: center;
	justify-content: center;
}
#block9 .newslist a .prev_arrow {
	position: relative;
	display: block;
	width: 30px;
	height: 30px;
	background-color: #6B74C9;
}
#block9 .newslist a .prev_arrow img {
	position: absolute;
	display: block;
	width: auto;
	top: 12px;
	left: 5px;
}
#block9 .newslist a.current {
	border-bottom: 2px solid #99714B;
}
#block9 .newslist div {
	margin-left: 0;
}
#block9 .newslist div.text {
	margin-top: 0 !important;
}
#block9 .newslist div + div {
	margin-left: 20px;
}
#block9 .newslist div p a {
	margin-right: 20px;
}
#block9 .newslist div p a:last-child {
	margin-right: 0px;
}
#block9 select {
	width: 100%;
	max-width: 360px;
	border: 1px solid #CDD6DD;
	background: #fff !important;
}
#block9 > div.col2 {
	padding: 30px 30px 0 30px;
	background: #CDD6DD;
}

#block9 .list.news .date, #block9 .list.news a .date {
	width: 8rem;
}
.sp #block9 .list.news .date, .sp #block9 .list.news a .date {
	width: auto;
	padding-right: 20px;
}

.column.center > * {
	float: none !important;
	display: inline-block;
	letter-spacing: normal;
}

main .contents .text .vision_name {
	text-align: right;
	margin-top: 15px;
}
main .contents .text .vision_name > div {
	display: inline-block;
	text-align: left;
}
.sp main .contents .text .vision_name > div {
	width: 60%;
}
main .contents .text .vision_name > div .image {
	margin-top: 5px;
}

main .contents .column.col2.image_type01 > *:first-child {
	width: calc((100% - 20px * 2 - 4px) * 0.65);
}
main .contents .column.col2.image_type01 > *:last-child {
	width: calc((100% - 20px * 2 - 4px) * 0.35);
}

main .contents .column.col2.image_type02 > *:first-child {
	width: calc((100% - 20px * 2 - 4px) * 0.25);
}
main .contents .column.col2.image_type02 > *:last-child {
	width: calc((100% - 20px * 2 - 4px) * 0.75);
}

.t_border {
	padding-top: 20px;
	border-top: 1px solid #707070;
}

.imagebox.quarter .image {
	width: 25%;
	vertical-align: middle;
}

.imagebox.quarter.spcol1 .image {
	width: auto;
}

main .contents .table > table .inner_table {
	width: 100%;
}
main .contents .table > table .inner_table th, main .contents .table > table .inner_table .format > table td, main .contents .format > table .table > table .inner_table td, main .contents .table > table .inner_table td {
	border: none;
}

main.c_90th {
	font-family: "Shippori Mincho B1", serif;
}
main.c_90th .shuffle_visual {
	position: fixed;
	top: 120px;
	left: 0;
	width: 100%;
	height: calc(100vh - 120px);
	overflow: hidden;
	background: white;
}
.sp main.c_90th .shuffle_visual {
	top: 60px;
	height: calc(100vh - 60px);
}
main.c_90th .shuffle_visual .image-container {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
main.c_90th .shuffle_visual .image-container img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: left top;
}
main.c_90th .shuffle_visual .image-box {
	position: absolute;
	display: none;
}
main.c_90th .shuffle_visual .whiteout {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: white;
	opacity: 0;
	transition: opacity 1.5s ease-in-out;
	z-index: 20;
}
main.c_90th .shuffle_visual .final-view {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 11;
}
main.c_90th .shuffle_visual .final-view::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 5;
}
main.c_90th .shuffle_visual .final-view .bg_slide {
	position: relative;
	z-index: 0;
}
main.c_90th .shuffle_visual .final-view .bg_slide .slick-slide {
	height: calc(100vh - 120px);
}
.sp main.c_90th .shuffle_visual .final-view .bg_slide .slick-slide {
	height: calc(100vh - 60px);
}
main.c_90th .shuffle_visual .final-view .bg_slide .img {
	border: none !important;
}
main.c_90th .shuffle_visual .final-view .bg_slide .img img {
	height: 100%;
}
main.c_90th .shuffle_visual .final-view .logo {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 10;
	padding: 0 30px;
}
main.c_90th .shuffle_visual .final-view .logo img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	max-width: 554px;
}
main.c_90th .parasec01 {
	position: fixed;
	top: 0px;
	left: 0;
	width: 100%;
	height: 100vh;
	min-height: 480px;
	background: url(../../90thanniversary/images/bg.jpg) no-repeat center/cover;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	padding-left: 80px;
}
.sp main.c_90th .parasec01 {
	padding: 0 10px 0 20px;
}
main.c_90th .parasec01 .image {
	position: relative;
	width: 100%;
	max-width: 800px;
}
main.c_90th .parasec01 .image img {
	width: 100%;
	max-width: 800px;
}
main.c_90th .parasec01 .image::before {
	content: "";
	position: absolute;
	width: 100%;
	aspect-ratio: 1818 / 762;
	background: url(../../90thanniversary/images/catch02.png) no-repeat center/cover;
	z-index: -1;
	left: 80px;
	top: 50px;
}
.tablet main.c_90th .parasec01 .image::before {
	left: 40px;
	top: 30px;
}
.sp main.c_90th .parasec01 .image::before {
	left: 15px;
	top: 20px;
}
main.c_90th .parasec01 .bg {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
main.c_90th .parasec01 .bg img {
	width: 100%;
	max-width: 800px;
}
.sp main.c_90th .parasec01 {
	padding-top: 60px;
}
main.c_90th .parasec02 {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 30px 0;
	width: 100%;
	height: calc(100vh - 60px);
	margin-top: 150vh;
	background: #fff;
	z-index: 5;
}
.parafix main.c_90th .parasec02 {
	position: fixed;
	left: 0;
	top: 60px;
	margin-top: 0;
}
main.c_90th .parasec02 .title {
	transition: 0.4s;
}
.parafix2 main.c_90th .parasec02 .title {
	opacity: 0;
}
.parafix3 main.c_90th .parasec02 .subtitle {
	display: none;
}
main.c_90th .parasec03 {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
main.c_90th .parasec03.shot {
	padding-bottom: 40px;
}
.sp main.c_90th .parasec03.shot {
	padding-bottom: 20px;
}
main.c_90th .parasec03.shot .title {
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 44px;
	line-height: 2.75rem;
}
.sp main.c_90th .parasec03.shot .title {
	font-size: 32px;
	font-size: 2rem;
	line-height: 35.2px;
	line-height: 2.2rem;
}
main.c_90th .parasec03.shot.progress {
	padding-bottom: 0;
}
main.c_90th .parasec03.shot.progress .subtitle {
	font-size: 180px;
	font-size: 11.25rem;
	line-height: 198px;
	line-height: 12.375rem;
}
.sp main.c_90th .parasec03.shot.progress .subtitle {
	font-size: 70px;
	font-size: 4.375rem;
	line-height: 77px;
	line-height: 4.8125rem;
}
main.c_90th .parasec03 + .parasec03 {
	margin-top: 75vh;
}
main.c_90th .parasec03 > * {
	z-index: 2;
}
main.c_90th .parasec03 .subtitle {
	opacity: 0;
}
.parafix3 main.c_90th .parasec03 .subtitle {
	opacity: 1;
}
main.c_90th .parasec03 p.lead {
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 52px;
	line-height: 3.25rem;
	font-weight: 500;
	text-align: center;
}
.sp main.c_90th .parasec03 p.lead {
	font-size: 23px;
	font-size: 1.4375rem;
	line-height: 46px;
	line-height: 2.875rem;
}
main.c_90th .parasec03 p.lead + p {
	margin-top: 30px;
}
main.c_90th .background.bg_2035 {
	background: url(../../90thanniversary/images/bg_2035.png) no-repeat center top;
	min-height: 280px;
	padding: 0 0 50vh 0;
	margin-top: 100px;
	text-align: center;
}
main.c_90th .background.bg_2035 .title {
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 44px;
	line-height: 2.75rem;
	padding-top: 50px;
}
.sp main.c_90th .background.bg_2035 .title {
	font-size: 32px;
	font-size: 2rem;
	line-height: 35.2px;
	line-height: 2.2rem;
}
main.c_90th .background.bg_2035 .lead {
	margin-top: 60px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	line-height: 2;
}
.sp main.c_90th .background.bg_2035 .lead {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
}
main.c_90th .background.bg_2035 .special {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 120px 20px;
}
.sp main.c_90th .background.bg_2035 .special {
	padding: 60px 10px;
}
main.c_90th .background.bg_2035 .special .special_link {
	text-align: center;
	margin-top: 60px;
}
main.c_90th .background.bg_2035 .special .special_link > div {
	display: inline-block;
	background: #EDEDED;
	padding: 30px;
}
main.c_90th .background.bg_2035 .special .special_link > div a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	position: relative;
	display: inline-block;
	padding: 30px;
	background: #fff;
	border: 1px solid #99714B;
	border-radius: 40px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
	color: #99714B;
	padding-right: 140px;
}
main.c_90th .background.bg_2035 .special .special_link > div a:hover {
	opacity: 0.7;
}
main.c_90th .background.bg_2035 .special .special_link > div a::after {
	content: "";
	position: absolute;
	width: 71px;
	height: 72px;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../../90thanniversary/images/ico_special.svg) no-repeat center/cover;
}
main.c_90th .progress_area + .parasec03 {
	margin-top: 75vh;
}
main.c_90th .progress_area > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	margin-top: 200px;
}
.sp main.c_90th .progress_area > div {
	padding: 0px 10px;
}
.sp main.c_90th .progress_area > div {
	margin-top: 60px;
}
main.c_90th .progress_area .col3 {
	display: flex;
	gap: 40px;
	margin-top: 60px;
}
.sp main.c_90th .progress_area .col3 {
	margin-top: 40px;
	flex-wrap: wrap;
	justify-content: center;
}
main.c_90th .progress_area .col3 > .item {
	width: calc((100% - 80px) / 3);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.sp main.c_90th .progress_area .col3 > .item {
	width: 100%;
}
main.c_90th .progress_area .col3 > .item .img img {
	width: 100%;
}
main.c_90th .progress_area .col3 > .item .ttl {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
	font-weight: 700;
	margin-top: 20px;
}
main.c_90th .progress_area .col3 > .item > p {
	margin-top: 20px;
	line-height: 1.5;
	flex-grow: 1;
}
main.c_90th .border_title {
	position: relative;
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 44px;
	line-height: 2.75rem;
	color: #99714B;
	text-align: center;
	font-weight: 700;
}
.sp main.c_90th .border_title {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 30.8px;
	line-height: 1.925rem;
}
main.c_90th .border_title::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: #99714B;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
main.c_90th .border_title span {
	position: relative;
	display: inline-block;
	padding: 0 50px;
	max-width: calc(100% - 100px);
	background: #fff;
}
.sp main.c_90th .border_title span {
	padding: 0 30px;
	max-width: calc(100% - 60px);
}
main.c_90th * + .border_title {
	margin-top: 100px;
}
main.c_90th .center_lead {
	text-align: center;
	margin-top: 40px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	font-weight: 700;
}
.sp main.c_90th .center_lead {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
}
main.c_90th .subtitle {
	position: absolute;
	max-width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-size: 220px;
	font-size: 13.75rem;
	line-height: 242px;
	line-height: 15.125rem;
	font-weight: 400;
	color: #E2E2E2;
	z-index: 0;
}
.pc main.c_90th .subtitle {
	font-size: 180px;
	font-size: 11.25rem;
	line-height: 198px;
	line-height: 12.375rem;
}
.sp main.c_90th .subtitle {
	font-size: 70px;
	font-size: 4.375rem;
	line-height: 77px;
	line-height: 4.8125rem;
}
main.c_90th .title {
	position: relative;
	font-size: 90px;
	font-size: 5.625rem;
	line-height: 99px;
	line-height: 6.1875rem;
	font-weight: 400;
	color: #99714B;
	z-index: 1;
}
.sp main.c_90th .title {
	font-size: 50px;
	font-size: 3.125rem;
	line-height: 55px;
	line-height: 3.4375rem;
}
main.c_90th .title span {
	font-size: 150px;
	font-size: 9.375rem;
	line-height: 165px;
	line-height: 10.3125rem;
}
.sp main.c_90th .title span {
	font-size: 80px;
	font-size: 5rem;
	line-height: 88px;
	line-height: 5.5rem;
}
main.c_90th .contents {
	position: relative;
	z-index: 10;
	margin-top: 275vh;
}
main.c_90th .contents .news_block {
	margin: 150px auto 0;
	max-width: 960px;
}
.sp main.c_90th .contents .news_block {
	margin-top: 20px;
}
main.c_90th .contents .news_block > * {
	display: flex;
	gap: 60px;
	padding: 30px;
	border-bottom: 1px solid #C3C3C3;
}
main.c_90th .contents .news_block > *:first-child {
	border-top: 1px solid #C3C3C3;
}
.sp main.c_90th .contents .news_block > * {
	gap: 15px;
	flex-direction: column;
	padding: 15px 0;
}
main.c_90th .contents .news_block > * .date {
	width: 80px;
}
.sp main.c_90th .contents .news_block > * .date {
	width: auto;
}
main.c_90th .contents .news_block > * .tx {
	width: calc(100% - 140px);
}
.sp main.c_90th .contents .news_block > * .tx {
	width: auto;
}
main.c_90th .more a {
	position: relative;
	display: inline-block;
	border: 1px solid #99714B;
	border-radius: 30px;
	color: #99714B;
	min-width: 170px;
	padding: 10px 50px 10px 10px;
	margin-top: 40px;
	font-weight: 600;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main.c_90th .more a:hover {
	opacity: 0.7;
}
main.c_90th .more a::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../../90thanniversary/images/arrow_more.svg) no-repeat center/cover;
}
main.c_90th .background.wide {
	padding: 0 20px 50vh;
}
main.c_90th .background.wide .slider .img {
	aspect-ratio: 62 / 40;
}
main.c_90th .background.wide .slider .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
main.c_90th .background.wide .slider .slick-slide {
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
}
.sp main.c_90th .background.wide .slider .slick-slide {
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
}
main.c_90th .background.wide .slider .slick-arrow {
	position: absolute;
	width: 56px;
	height: 56px;
	background: url(../../90thanniversary/images/arrow_slider.svg) no-repeat center/cover;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	border: none;
	text-indent: -9999px;
	cursor: pointer;
	z-index: 20;
	filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.3));
}
.sp main.c_90th .background.wide .slider .slick-arrow {
	width: 30px;
	height: 30px;
}
main.c_90th .background.wide .slider .slick-arrow.slick-prev {
	left: calc(33% - 4px);
	transform: translateY(-50%) scale(-1, 1);
}
.sp main.c_90th .background.wide .slider .slick-arrow.slick-prev {
	left: -4px;
}
main.c_90th .background.wide .slider .slick-arrow.slick-next {
	left: calc(66% - 40px);
}
.sp main.c_90th .background.wide .slider .slick-arrow.slick-next {
	left: auto;
	right: -4px;
}

.c_90th_underlayer {
	font-family: "Shippori Mincho B1", serif;
}
.c_90th_underlayer .catlabel {
	margin-top: 120px;
	height: 300px;
	background: url(../../90thanniversary/images/bg_catlabel.jpg) no-repeat center/cover;
}
.sp .c_90th_underlayer .catlabel {
	height: auto;
	padding: 30px 10px;
	margin-top: 60px;
}
.c_90th_underlayer .catlabel h1 {
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 80px;
	font-size: 5rem;
	line-height: 88px;
	line-height: 5.5rem;
	font-weight: 500;
	z-index: 1;
	text-align: center;
}
.sp .c_90th_underlayer .catlabel h1 {
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 44px;
	line-height: 2.75rem;
}
.c_90th_underlayer .catlabel h1::after {
	content: attr(data-text) "";
	position: absolute;
	width: 100%;
	text-align: center;
	top: calc(50% + 30px);
	left: calc(50% + 30px);
	transform: translate(-50%, -50%);
	color: #000;
	opacity: 0.2;
	z-index: -1;
}
.sp .c_90th_underlayer .catlabel h1::after {
	top: calc(50% + 10px);
	left: calc(50% + 10px);
}
.c_90th_underlayer .bredcrumb > ul {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 15px 20px 0px;
}
.sp .c_90th_underlayer .bredcrumb > ul {
	padding: 7.5px 10px 0px;
}
.c_90th_underlayer .bredcrumb > ul li {
	position: relative;
	display: inline-block;
	padding-right: 25px;
}
.c_90th_underlayer .bredcrumb > ul li::after {
	content: "/";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 6px;
}
.c_90th_underlayer .bredcrumb > ul li:last-child::after {
	display: none;
}
.c_90th_underlayer .bredcrumb > ul li a {
	color: #000;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.c_90th_underlayer .bredcrumb > ul li a:hover {
	opacity: 0.7;
}
.c_90th_underlayer .contents {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 120px 20px 120px;
	line-height: 1.4;
}
.sp .c_90th_underlayer .contents {
	padding: 60px 10px 60px;
}
.c_90th_underlayer .contents.stuck {
	padding-top: 0;
}
.c_90th_underlayer .contents > div {
	padding: 0 !important;
}
.c_90th_underlayer .contents .headlead {
	text-align: center;
	font-size: 29px;
	font-size: 1.8125rem;
	line-height: 31.9px;
	line-height: 1.99375rem;
	line-height: 1.8;
}
.c_90th_underlayer .contents .lead {
	margin-top: 30px;
}
.c_90th_underlayer .contents .legend_product {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	padding: 40px 0;
	margin-top: 40px;
	display: flex;
	justify-content: center;
	gap: 80px;
}
.tablet .c_90th_underlayer .contents .legend_product {
	gap: 30px;
	flex-wrap: wrap;
}
.c_90th_underlayer .contents .legend_product > a {
	width: calc((100% - 160px) / 3);
	max-width: 216px;
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #000;
}
.c_90th_underlayer .contents .legend_product > a:hover {
	opacity: 0.7;
}
.tablet .c_90th_underlayer .contents .legend_product > a {
	width: calc((100% - 60px) / 3);
}
.sp .c_90th_underlayer .contents .legend_product > a {
	width: calc((100% - 30px) / 2);
}
.c_90th_underlayer .contents .legend_product > a.current img {
	border: 4px solid #99714B;
}
.c_90th_underlayer .contents .legend_product > a .img img {
	width: 100%;
}
.c_90th_underlayer .contents .legend_product > a .tx {
	margin-top: 15px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
	font-weight: bold;
}
.c_90th_underlayer .contents .bglabel {
	position: relative;
	height: 180px;
	margin-top: 120px;
}
.sp .c_90th_underlayer .contents .bglabel {
	margin-top: 40px;
	height: auto;
}
.c_90th_underlayer .contents .bglabel::before {
	content: attr(data-text) "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #E2E2E2;
	font-size: 140px;
	font-size: 8.75rem;
	line-height: 154px;
	line-height: 9.625rem;
	line-height: 1;
	padding-bottom: 20px;
	vertical-align: middle;
	z-index: -1;
}
.sp .c_90th_underlayer .contents .bglabel::before {
	display: none;
}
.c_90th_underlayer .contents .bglabel::after {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	height: 1px;
	background: #000;
	z-index: 0;
}
.sp .c_90th_underlayer .contents .bglabel::after {
	top: auto;
	bottom: 40px;
}
.c_90th_underlayer .contents .bglabel span {
	display: flex;
	height: 100%;
	align-items: center;
	justify-content: end;
	padding-bottom: 60px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	font-weight: bold;
}
.sp .c_90th_underlayer .contents .bglabel span {
	display: block;
}
.c_90th_underlayer .contents .col2_index {
	display: flex;
	gap: 40px;
	margin-top: 120px;
}
.sp .c_90th_underlayer .contents .col2_index {
	margin-top: 40px;
}
.c_90th_underlayer .contents .col2_index > * {
	width: calc((100% - 40px) / 2);
}
.c_90th_underlayer .contents .col2_index > * * + * {
	margin-top: 30px;
}
.sp .c_90th_underlayer .contents .col2_index > *.img {
	display: none;
}
.c_90th_underlayer .contents .col2_index > *.img img {
	max-width: 100%;
}
.sp .c_90th_underlayer .contents .col2_index > *.tx {
	width: auto;
}
.c_90th_underlayer .contents .col2_index > *.tx .img {
	text-align: center;
}
.c_90th_underlayer .contents .col2_index > *.tx .img img {
	max-width: 100%;
}
.c_90th_underlayer .contents .col4_index {
	display: flex;
	gap: 80px;
	justify-content: center;
	margin-top: 80px;
}
.sp .c_90th_underlayer .contents .col4_index {
	margin-top: 40px;
	gap: 20px;
	flex-wrap: wrap;
}
.c_90th_underlayer .contents .col4_index > * {
	width: calc((100% - 240px) / 4);
}
.sp .c_90th_underlayer .contents .col4_index > * {
	width: calc((100% - 20px) / 2);
}
.c_90th_underlayer .contents .col4_index > * img {
	width: 100%;
}
.c_90th_underlayer .contents .col4_index a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #000;
}
.c_90th_underlayer .contents .col4_index a:hover {
	opacity: 0.7;
}
.c_90th_underlayer .contents .col4_index p {
	margin-top: 15px;
}
.sp .c_90th_underlayer .contents .bglabel + .col4_index {
	margin-top: 0;
}
.c_90th_underlayer .contents .headline {
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 44px;
	line-height: 2.75rem;
	line-height: 1.5;
	color: #99714B;
}
.c_90th_underlayer .contents .headline + .col2_index {
	margin-top: 60px;
}
.sp .c_90th_underlayer .contents .headline + .col2_index {
	margin-top: 30px;
}
.sp .c_90th_underlayer .contents .headline {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 33px;
	line-height: 2.0625rem;
}
.c_90th_underlayer .contents .headline.s {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 33px;
	line-height: 2.0625rem;
	line-height: 1.5;
}
.sp .c_90th_underlayer .contents .headline.s {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	line-height: 1.5;
}
.c_90th_underlayer .contents .middleline {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 24.2px;
	line-height: 1.5125rem;
	font-weight: bold;
	margin-top: 40px;
}
.c_90th_underlayer .contents .whead {
	margin-top: 120px;
	display: flex;
}
.sp .c_90th_underlayer .contents .whead {
	flex-direction: column;
	gap: 20px;
	margin-top: 40px;
}
.c_90th_underlayer .contents .whead .circle {
	width: 130px;
	height: 130px;
	border-radius: 50%;
	border: 1px solid #000;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 19px;
	font-weight: 700;
	color: #99714B;
	line-height: 1.5;
}
.sp .c_90th_underlayer .contents .whead .circle {
	width: 80px;
	height: 80px;
	font-size: 14px;
	line-height: 1.2;
}
.c_90th_underlayer .contents .whead .tx {
	position: relative;
	height: 130px;
	width: calc(100% - 130px);
	display: flex;
	flex-direction: column;
}
.sp .c_90th_underlayer .contents .whead .tx {
	width: auto;
	height: auto;
}
.c_90th_underlayer .contents .whead .tx::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: #000;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.c_90th_underlayer .contents .whead .tx .top {
	height: 50%;
	display: flex;
	align-items: center;
	padding-left: 15px;
	font-weight: bold;
	font-size: 35px;
	font-size: 2.1875rem;
	line-height: 38.5px;
	line-height: 2.40625rem;
}
.sp .c_90th_underlayer .contents .whead .tx .top {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	padding-left: 0;
	padding-bottom: 10px;
}
.c_90th_underlayer .contents .whead .tx .bottom {
	height: 50%;
	display: flex;
	align-items: center;
	padding-left: 15px;
	font-weight: bold;
	font-size: 21px;
	font-size: 1.3125rem;
	line-height: 23.1px;
	line-height: 1.44375rem;
}
.sp .c_90th_underlayer .contents .whead .tx .bottom {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	padding-left: 0;
	padding-top: 10px;
}
.c_90th_underlayer .contents .centerlead {
	font-size: 29px;
	font-size: 1.8125rem;
	line-height: 31.9px;
	line-height: 1.99375rem;
	text-align: center;
	line-height: 1.8;
}
.sp .c_90th_underlayer .contents .centerlead {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 24.2px;
	line-height: 1.5125rem;
	line-height: 1.8;
}
.c_90th_underlayer .contents ul.question {
	margin: 20px 0 0 0;
}
.c_90th_underlayer .contents ul.question li {
	margin-left: 0;
	text-indent: 0;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
}
.sp .c_90th_underlayer .contents ul.question li {
	font-size: 17px;
	font-size: 1.0625rem;
	line-height: 18.7px;
	line-height: 1.16875rem;
}
.c_90th_underlayer .contents ul.question li::before {
	display: none;
}
.c_90th_underlayer .contents ul.question li + li {
	margin-top: 15px;
}
.c_90th_underlayer .contents ul.question li label {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.c_90th_underlayer .contents ul.question li label:hover {
	opacity: 0.7;
}
.c_90th_underlayer .contents ul.question li label input {
	display: inline-block;
	margin-right: 5px;
	margin-top: 0;
}
.c_90th_underlayer .contents ul.question li label input:checked + span {
	color: #0075ff;
}
.c_90th_underlayer .more a {
	position: relative;
	display: inline-block;
	border: 1px solid #99714B;
	border-radius: 30px;
	color: #99714B;
	min-width: 170px;
	padding: 10px 50px 10px 10px;
	margin-top: 40px;
	font-weight: 600;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.c_90th_underlayer .more a:hover {
	opacity: 0.7;
}
.c_90th_underlayer .more a::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../../90thanniversary/images/arrow_more.svg) no-repeat center/cover;
}
.c_90th_underlayer .border_img img {
	border: 1px solid #373A3C;
}
.c_90th_underlayer .circle_result {
	display: flex;
	margin-top: 30px;
	padding-bottom: 50px;
	gap: 80px;
}
.tablet .c_90th_underlayer .circle_result {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 40px;
}
.c_90th_underlayer .circle_result > .img {
	width: 300px;
	min-height: 300px;
}
.c_90th_underlayer .circle_result > .tx {
	width: calc(100% - 300px - 80px);
	display: flex;
	align-items: center;
	min-height: 300px;
}
.tablet .c_90th_underlayer .circle_result > .tx {
	width: auto;
}
.c_90th_underlayer .circle_result > .tx ul.result li {
	position: relative;
	padding-left: 40px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
}
.c_90th_underlayer .circle_result > .tx ul.result li::before {
	content: "";
	position: absolute;
	width: 30px;
	height: 30px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: #f00;
}
.c_90th_underlayer .circle_result > .tx ul.result li:nth-of-type(1)::before {
	background: #cb7d3f;
}
.c_90th_underlayer .circle_result > .tx ul.result li:nth-of-type(2)::before {
	background: #c89f42;
}
.c_90th_underlayer .circle_result > .tx ul.result li:nth-of-type(3)::before {
	background: #2f6e47;
}
.c_90th_underlayer .circle_result > .tx ul.result li:nth-of-type(4)::before {
	background: #2e4d80;
}
.c_90th_underlayer .circle_result > .tx ul.result li + li {
	margin-top: 30px;
}
.c_90th_underlayer .message_list {
	position: relative;
}
.c_90th_underlayer .message_list .message_area {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}
.tablet .c_90th_underlayer .message_list .message_area {
	gap: 30px;
}
.sp .c_90th_underlayer .message_list .message_area {
	gap: 30px 20px;
}
.c_90th_underlayer .message_list .message_area > .item {
	display: none;
	position: relative;
	width: calc((100% - 120px) / 4);
	min-height: 290px;
	border: 1px solid #99714B;
	border-radius: 50px;
	padding: 50px 20px;
}
.tablet .c_90th_underlayer .message_list .message_area > .item {
	min-height: 200px;
	width: calc((100% - 60px) / 3);
}
.sp .c_90th_underlayer .message_list .message_area > .item {
	width: calc((100% - 20px) / 2);
}
.c_90th_underlayer .message_list .message_area > .item.img {
	padding: 0;
	overflow: hidden;
}
.c_90th_underlayer .message_list .message_area > .item.img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.c_90th_underlayer .message_list .message_area > .item .inner {
	height: 100%;
	display: flex;
	align-items: center;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 22.5px;
	line-height: 1.40625rem;
}
.c_90th_underlayer .message_list .message_area > .item .inner.s {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
}
.c_90th_underlayer .message_list .message_area > .item .inner.m {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 36px;
	line-height: 2.25rem;
}
.c_90th_underlayer .message_list .message_area > .item .inner.l {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 45px;
	line-height: 2.8125rem;
}
.c_90th_underlayer .message_list .message_area > .item .label {
	position: absolute;
	width: 100px;
	height: 100px;
	right: 0;
	bottom: -20px;
	background: #99714B;
	color: #fff;
	border-radius: 0 50% 50% 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 16.5px;
	line-height: 1.03125rem;
	line-height: 1.5;
}
.tablet .c_90th_underlayer .message_list .message_area > .item .label {
	width: 70px;
	height: 70px;
}
.c_90th_underlayer .message_list .btn {
	position: absolute;
	left: 0;
	bottom: -30px;
	width: 100%;
	height: 200px;
	background: linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0) 100%);
}
.c_90th_underlayer .message_list .btn a {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	display: block;
	border: 1px solid #99714B;
	border-radius: 30px;
	color: #99714B;
	width: 50%;
	min-width: 300px;
	text-align: center;
	padding: 13px 10px 10px 20px;
	background: #fff;
	font-weight: 600;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.c_90th_underlayer .message_list .btn a:hover {
	opacity: 0.7;
}
.c_90th_underlayer .message_list .btn a img {
	display: inline-block;
	margin-left: 15px;
	vertical-align: middle;
	line-height: 0;
	margin-bottom: 3px;
	transform: rotateZ(90deg);
}

.popup, .popup_item {
	position: relative;
	opacity: 0;
	transform: translateY(60px);
	transition: opacity .9s, transform .9s;
}
.popup.view, .popup_item.view {
	opacity: 1;
	transform: translateY(0);
}

main .contents .formcol2 {
	display: table;
	width: 100%;
}
main .contents .formcol2 > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
.sp main .contents .formcol2 {
	display: block;
}
.sp main .contents .formcol2 > div {
	display: block;
}
main .contents .formcol2 > div:nth-of-type(1) {
	width: 35%;
}
.sp main .contents .formcol2 > div:nth-of-type(1) {
	width: auto;
}
main .contents .formcol2 > div:nth-of-type(2) {
	width: 65%;
	padding-left: 50px;
}
.sp main .contents .formcol2 > div:nth-of-type(2) {
	width: auto;
	padding-left: 0px;
	margin-top: 15px;
}
main .contents .formcol2 > div:nth-of-type(2) > div {
	display: table;
	width: 100%;
}
main .contents .formcol2 > div:nth-of-type(2) > div > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
.sp main .contents .formcol2 > div:nth-of-type(2) > div {
	display: block;
}
main .contents .formcol2 > div:nth-of-type(2) > div .title {
	font-weight: bold;
	width: 35%;
}
.sp main .contents .formcol2 > div:nth-of-type(2) > div .title {
	width: auto;
	margin-bottom: 8px;
}
.sp main .contents .formcol2 > div:nth-of-type(2) > div > * {
	display: block;
}
main .contents .form {
	margin-top: 32px !important;
}
main .contents .form + .form {
	border-top: 1px solid #707070;
	padding-top: 20px;
}
main .contents .form h3 {
	margin-bottom: 20px;
}
main .contents .form form {
	margin: 0px;
	padding: 0px;
}
main .contents .form .required {
	color: #EF3340;
	margin-left: 4px;
}
main .contents .form table {
	border-collapse: collapse;
	width: 100%;
}
main .contents .form table.confirm th, main .contents .form table.confirm .format > table td, main .contents .format > table .form table.confirm td {
	padding-top: 0px;
}
.sp main .contents .form table.confirm th, .sp main .contents .form table.confirm .format > table td, .sp main .contents .format > table .form table.confirm td {
	padding-top: 10px;
}
main .contents .form table.confirm td {
	padding-top: 0px;
}
.sp main .contents .form table.confirm td.required {
	display: none;
}
.sp main .contents .form table {
	display: block;
}
.sp main .contents .form table tbody, .sp
main .contents .form table tr {
	position: relative;
	display: block;
}
main .contents .form table th, main .contents .form .format > table td {
	width: 16rem;
	padding: 24px 20px 25px 0px;
	font-weight: bold;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
	color: #666;
}
main .contents .form table th.input_line, main .contents .form .format > table td.input_line {
	padding-top: 45px;
}
.sp main .contents .form table th.input_line, .sp main .contents .form .format > table td.input_line {
	padding-top: 0;
}
main .contents .form table th span, main .contents .form .format > table td span {
	margin-left: 3px;
	color: #ff0000;
}
main .contents .form table th .txlimit.black, main .contents .form .format > table td .txlimit.black {
	color: #000;
}
.sp main .contents .form table th, .sp main .contents .form .format > table td {
	display: block;
	width: auto;
	float: left;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 0px;
}
main .contents .form table td {
	padding-top: 24px;
	padding-bottom: 25px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	word-break: break-all;
	color: #666;
}
.sp main .contents .form table td {
	clear: both;
	display: block;
	padding-top: 10px;
	padding-bottom: 15px;
}
main .contents .form table td.row_label label {
	display: block;
}
main .contents .form table td.row_label label + label {
	margin-top: 15px;
}
main .contents .form table td.required {
	width: 5rem;
	padding-top: 18px;
	padding-right: 20px;
	color: #ffffff;
}
main .contents .form table td.required span {
	display: block;
	margin-left: 0px;
	padding: 6px 8px;
	text-align: center;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
	color: #EF3340;
	border: 1px solid #EF3340;
}
.sp main .contents .form table td.required {
	clear: none;
	float: right;
	padding: 0px;
	margin-top: 10px;
}
.sp main .contents .form table td.required span {
	margin-top: 0px;
}
main .contents .form table td span {
	display: inline-block;
}
main .contents .form table td span.label {
	position: absolute;
	width: 4em;
	margin-left: 10px;
	padding-top: 10px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
	color: #646464;
	pointer-events: none;
}
main .contents .form table tr:last-child > * {
	padding-bottom: 0px;
}
.sp main .contents .form table tr:last-child > th, .sp main .contents .form .format > table tr:last-child > td {
	padding-bottom: 10px;
}
main .contents .form textarea {
	width: 100%;
	height: 160px;
	padding: 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	border: 1px solid #aaa;
	outline: none;
	border-radius: 10px;
}
.sp main .contents .form textarea {
	padding: 15px;
}
main .contents .form p + textarea {
	margin-top: 10px !important;
}
main .contents .form input[type="text"], main .contents .form input[type="email"], main .contents .form input[type="tel"], main .contents .form input[type="url"] {
	width: 100%;
	height: 34px;
	padding: 0px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 32px;
	border: 1px solid #aaa;
	outline: none;
	padding: 30px 20px;
	border-radius: 10px;
}
.sp main .contents .form input[type="text"], .sp main .contents .form input[type="email"], .sp main .contents .form input[type="tel"], .sp main .contents .form input[type="url"] {
	padding: 20px 15px;
}
main .contents .form input[type="text"].withlabel, main .contents .form input[type="email"].withlabel, main .contents .form input[type="tel"].withlabel, main .contents .form input[type="url"].withlabel {
	padding-left: 2rem;
}
main .contents .form br + input[type="text"], main .contents .form br + input[type="email"], main .contents .form br + input[type="tel"], main .contents .form br + input[type="url"] {
	margin-top: 20px;
}
main .contents .form select {
	padding: 5px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	border: 1px solid #aaa;
}
main .contents .form input[required], main .contents .form textarea[required], main .contents .form select[required] {
	border: 1px solid rgba(239, 51, 64, 0.7);
}
main .contents .form input.focus, main .contents .form textarea.focus, main .contents .form select.focus {
	background-color: #fff3b8;
}
main .contents .form input.inputed, main .contents .form textarea.inputed, main .contents .form select.inputed {
	border: 1px solid #aaa;
	background-color: #d7e7ff;
}
main .contents .form input.w_fix, main .contents .form textarea.w_fix, main .contents .form select.w_fix {
	width: 200px;
}
main .contents .form input[data-input="zenkaku"], main .contents .form textarea[data-input="zenkaku"], main .contents .form select[data-input="zenkaku"] {
	ime-mode: active;
}
main .contents .form input[data-input="hankaku"], main .contents .form textarea[data-input="hankaku"], main .contents .form select[data-input="hankaku"] {
	ime-mode: disabled;
}
main .contents .form .side {
	margin: 0px -5px -10px -25px;
}
main .contents .form .side.center {
	text-align: center;
}
main .contents .form .side li {
	display: inline-block;
	margin-left: 25px;
	margin-bottom: 10px;
}
main .contents .form .side + p {
	margin-top: 20px;
}
main .contents .form .side.indent {
	padding-left: 25px;
}
main .contents .form .note {
	margin-top: 8px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .form label {
	position: relative;
	display: inline-block;
	margin-right: 20px;
	padding: 4px 0px 4px 25px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	cursor: pointer;
}
.sp main .contents .form label {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .form label input[type="radio"], main .contents .form label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	top: 6px;
	left: 0px;
}
main .contents .form label input[type="radio"]:focus + span:before, main .contents .form label input[type="checkbox"]:focus + span:before {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
main .contents .form label input[type="radio"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 0px;
	height: 0px;
	top: 50%;
	left: 0px;
	margin-top: -8px;
	background: #ffffff;
	border: 8px solid #aaa;
	border-radius: 50%;
	-webkit-transition: 200ms;
	transition: 200ms;
}
main .contents .form label input[type="radio"]:checked + span:before {
	width: 6px;
	height: 6px;
	background: #ffffff;
	border: 5px solid #00a6df !important;
}
main .contents .form label input[type="radio"][required] + span:before {
	border: 8px solid #d0d0d0;
}
main .contents .form label input[type="checkbox"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	top: 50%;
	left: 0px;
	margin-top: -8px;
	background: #d0d0d0;
	border: 2px solid #fff;
	border-radius: 5px;
	-webkit-transition: 200ms;
	transition: 200ms;
}
main .contents .form label input[type="checkbox"][required] + span:before, main .contents .form label input[type="checkbox"].required + span:before {
	border: 2px solid #f00;
}
main .contents .form label input[type="checkbox"][required].checked + span:before, main .contents .form label input[type="checkbox"].required.checked + span:before {
	border: 2px solid #fff;
}
main .contents .form label input[type="checkbox"]:checked + span:before {
	background-color: #00a6df;
	border: 2px solid #fff;
}
main .contents .form label input[type="checkbox"] + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	top: 50%;
	left: 0px;
	margin-top: -8px;
	background: url(../images/check.svg) no-repeat center center;
	background-size: 100% auto;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transition: 200ms;
	transition: 200ms;
}
main .contents .form label input[type="checkbox"]:checked + span:after {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .form .button {
	font-size: 0px;
}
.sp main .contents .form .button {
	text-align: center;
}
main .contents .form .button > div {
	display: inline-block;
}
.sp main .contents .form .button > div {
	display: block;
}
main .contents .form .button > div + div {
	margin-left: 20px;
}
.sp main .contents .form .button > div + div {
	margin-top: 20px;
	margin-left: 0px;
}
main .contents .form .button button {
	position: relative;
	display: inline-block;
	padding: 0px 40px 0px 10px;
	min-width: 180px;
	height: 40px;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 40px;
	color: #373A3C;
	text-align: left;
	border: 1px solid #C8C8C8;
	background: none;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .form .button button:hover {
	opacity: 0.7;
}
main .contents .form .button button:before {
	content: "";
	display: block;
	position: absolute;
	width: 40px;
	height: 40px;
	right: 0px;
	top: 0px;
	background: url(../images/linkicon2.svg) no-repeat center center;
}
main .contents .form .button button.ng {
	pointer-events: none;
}
main .contents .form .button button.ok {
	display: none;
}
main .contents .form .button button.center {
	text-align: center;
}
main .contents .form .button.center {
	text-align: center;
}
main .contents .form .alert {
	margin-top: 10px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
	color: #EF3340;
}
{
  content: "";
  display: block;
  position: absolute;
  width: 0px;
  height: 0px;
  top: 50%;
  left: 0px;
  margin-top: -8px;
  background: #ffffff;
  border: 8px solid #aaa;
  border-radius: 50%;
  -webkit-transition: 200ms;
  transition: 200ms;
}
main .contents .form label input[type="radio"]:checked + span:before {
  width: 6px;
  height: 6px;
  background: #ffffff;
  border: 5px solid #00a6df !important;
}
main .contents .form label input[type="radio"][required] + span:before {
  border: 8px solid #d0d0d0;
}
main .contents .form label input[type="checkbox"] + span:before {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 0px;
  margin-top: -8px;
  background: #d0d0d0;
  border: 2px solid #fff;
  border-radius: 5px;
  -webkit-transition: 200ms;
  transition: 200ms;
}
main .contents .form label input[type="checkbox"][required] + span:before, main .contents .form label input[type="checkbox"].required + span:before {
  border: 2px solid #f00;
}
main .contents .form label input[type="checkbox"][required].checked + span:before, main .contents .form label input[type="checkbox"].required.checked + span:before {
  border: 2px solid #fff;
}
main .contents .form label input[type="checkbox"]:checked + span:before {
  background-color: #00a6df;
  border: 2px solid #fff;
}
main .contents .form label input[type="checkbox"] + span:after {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 0px;
  margin-top: -8px;
  background: url(../images/check.svg) no-repeat center center;
  background-size: 100% auto;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: 200ms;
  transition: 200ms;
}
main .contents .form label input[type="checkbox"]:checked + span:after {
  -webkit-transform: scale(1);
  transform: scale(1);
}
main .contents .form .button {
  font-size: 0px;
}
.sp main .contents .form .button {
  text-align: center;
}
main .contents .form .button > div {
  display: inline-block;
}
.sp main .contents .form .button > div {
  display: block;
}
main .contents .form .button > div + div {
  margin-left: 20px;
}
.sp main .contents .form .button > div + div {
  margin-top: 20px;
  margin-left: 0px;
}
main .contents .form .button button {
  position: relative;
  display: inline-block;
  padding: 0px 40px 0px 10px;
  min-width: 180px;
  height: 40px;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 40px;
  color: #373A3C;
  text-align: left;
  border: 1px solid #C8C8C8;
  background: none;
  -webkit-transition: opacity 0.2s, background 0.2s;
  transition: opacity 0.2s, background 0.2s;
  cursor: pointer;
}
main .contents .form .button button:hover {
  opacity: 0.7;
}
main .contents .form .button button:before {
  content: "";
  display: block;
  position: absolute;
  width: 40px;
  height: 40px;
  right: 0px;
  top: 0px;
  background: url(../images/linkicon2.svg) no-repeat center center;
}
main .contents .form .button button.ng {
  pointer-events: none;
}
main .contents .form .button button.ok {
  display: none;
}
main .contents .form .button button.center {
  text-align: center;
}
main .contents .form .button.center {
  text-align: center;
}
main .contents .form .alert {
  margin-top: 10px;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 21px;
  line-height: 1.3125rem;
  color: #EF3340;
}
