@charset "UTF-8";
/*
style.scss
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

html {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}

q, blockquote {
	quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}

a img {
	border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}

/* base */
html {
	font-size: 62.5%;
}
body {
	min-width: 1060px;
	color: #333;
	background: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1;
}
.en {
	font-family: 'Barlow', sans-serif;
	letter-spacing: 0.08;
}
.text {
	font-size: 1.6rem;
	line-height: 1.8;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
a {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: rgba(0,0,0,0.8);
}
a:hover img {
	opacity: 0.8;
}

@media screen and (max-width: 767px) {
	html {
		overflow: auto;
		height: 100%;
	}
	body {
		min-width: 320px;
		-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
	}
	body.menu_visible {
		height: 100%;
		overflow: hidden;
	}
	.text {
		/*font-size: 13px;*/
		font-size: 3.4666vw;
	}
}

.color01 {
	color: #009944;
}
.color02 {
	color: #ffa63d;
}
.color03 {
	color: #1895e4;
}
.color04 {
	color: #c53eca;
}

.bokenuki {
	text-shadow:
        1px 1px 1px rgba(0,0,0,0.05),
		1px -1px 1px rgba(0,0,0,0.05),
		-1px 1px 1px rgba(0,0,0,0.05),
		-1px -1px 1px rgba(0,0,0,0.05),
		2px 2px 2px rgba(0,0,0,0.1),
		2px -2px 2px rgba(0,0,0,0.1),
		-2px 2px 2px rgba(0,0,0,0.1),
		-2px -2px 2px rgba(0,0,0,0.1),
		0 0 20px #000;
}
.bokesumi {
	text-shadow:
        1px 1px 1px rgba(255,255,255,0.2),
        1px -1px 1px rgba(255,255,255,0.2),
        -1px 1px 1px rgba(255,255,255,0.2),
        -1px -1px 1px rgba(255,255,255,0.2),
        3px 3px 3px rgba(255,255,255,0.3),
        3px -3px 3px rgba(255,255,255,0.3),
        -3px 3px 3px rgba(255,255,255,0.3),
        -3px -3px 3px rgba(255,255,255,0.3),
		5px 5px 5px rgba(255,255,255,0.5),
        5px -5px 5px rgba(255,255,255,0.5),
        -5px 5px 5px rgba(255,255,255,0.5),
        -5px -5px 5px rgba(255,255,255,0.5),
        0 0 20px #fff;
}

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

	.bokesumi.sp_bokenuki {
		text-shadow:
			1px 1px 1px rgba(0,0,0,0.05),
			1px -1px 1px rgba(0,0,0,0.05),
			-1px 1px 1px rgba(0,0,0,0.05),
			-1px -1px 1px rgba(0,0,0,0.05),
			2px 2px 2px rgba(0,0,0,0.1),
			2px -2px 2px rgba(0,0,0,0.1),
			-2px 2px 2px rgba(0,0,0,0.1),
			-2px -2px 2px rgba(0,0,0,0.1),
			0 0 20px #000;
	}
	.bokenuki.sp_bokesumi {
		text-shadow:
			1px 1px 1px rgba(255,255,255,0.2),
			1px -1px 1px rgba(255,255,255,0.2),
			-1px 1px 1px rgba(255,255,255,0.2),
			-1px -1px 1px rgba(255,255,255,0.2),
			3px 3px 3px rgba(255,255,255,0.3),
			3px -3px 3px rgba(255,255,255,0.3),
			-3px 3px 3px rgba(255,255,255,0.3),
			-3px -3px 3px rgba(255,255,255,0.3),
			5px 5px 5px rgba(255,255,255,0.5),
			5px -5px 5px rgba(255,255,255,0.5),
			-5px 5px 5px rgba(255,255,255,0.5),
			-5px -5px 5px rgba(255,255,255,0.5),
			0 0 20px #fff;
	}
}

h1,h2,h3,h4,h5 {
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}

.alignRight {
	text-align: right;
}
.alignLeft {
	text-align: left;
}
.alignCenter {
	text-align: center;
}

/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}

/* animation */
.fadeIn {
	opacity : 0;
	transition: 1s;
	transform: translateY(30px);
}
.fadeIn.animated {
	transform: translate(0, 0);
	opacity: 1;
}


/* display switch */
.ib {
	display: inline-block;
}
@media screen and (min-width: 768px) {
	.pc {
		display: block;
	}
	.pc_inline {
		display: inline-block;
	}
	.sp {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.pc,
	.pc_inline {
		display: none;
	}
	.sp {
		display: block;
	}
}

/* = layout
----------------------------------------------- */
@media screen and (min-width: 768px) {
	.wrap1400 {
		max-width: 1400px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.wrap1020 {
		max-width: 1100px;
		padding: 0 40px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.wrap800 {
		max-width: 880px;
		padding: 0 40px;
		margin: 0 auto;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 767px) {
	.wrap1400 {
		width: 100%;
		box-sizing: border-box;
	}
	.wrap1020,
	.wrap800 {
		width: auto;
		padding: 0 5%;
		box-sizing: border-box;
	}
}

/* = header
----------------------------------------------- */
.is-nav_opened {
	overflow: hidden;
}
/*.is-nav_opened html {
	position: relative;
}*/

#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1000px;
	height: 70px;
	background: rgba(255,255,255,1);
	z-index: 9997;
}
.is-nav_opened #header {
	width: calc(100% - 15px);
	background: rgba(255,255,255,0);
}

#header.js-header_bg {
	background: rgba(255,255,255,0.85);
}
.is-nav_opened #header.js-header_bg {
	background: rgba(255,255,255,0);
}

#header .logo {
	position: absolute;
	top: 0;
	left: 0;
	padding: 16px 30px 9px 30px;
	width: calc(100% - 330px);
	box-sizing: border-box;
	z-index: 9998;
}
.is-nav_opened #header .logo {
	background: rgba(255,255,255,0.95);
}
#header .logo span {
	display: inline-block;
	margin: 0 0 8px 24px;
	font-size: 2.5rem;
	font-weight: 600;
	color: #009944;
	letter-spacing: 0.15em;
}
#header .entry a {
	display: table;
	position: absolute;
	top: 0;
	width: 120px;
	height: 70px;
	background: #009944;
	color: #fff;
}
#header .entry.entry1 a {
	right: 205px; /*120+84+1*/
}
#header .entry.entry2 a {
	right: 84px;
}
#header .entry a > span {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	height: 100%;
	/*font-size: 2.0rem;*/
	font-size: 1.5rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.075em;
	transition: 0.3s;
	z-index: 9998;
	box-sizing: border-box;
}
#header .entry .en {
	letter-spacing: 0.15em;
	font-size: 1.3em;
}
#header .entry a:hover {
	opacity: 0.8;
}

@media screen and (max-width: 767px) {
	#header {
		min-width: 320px;
		height: 48px;
		background: rgba(255,255,255,1);
		position: fixed;
	}
	.is-nav_opened #header {
		width: 100%;
	}
	#header .logo {
		width: 57%;
		top: 0;
		left: 0;
		padding: 18px 0 7px 5%;
		box-sizing: border-box;
	}
	#header .logo img {
		width: 120px;
	}
	#header .logo span {
		margin: 0px 0 0 4%;
		max-width: 100px;
		box-sizing: border-box;
		font-size: 1.2rem; 
		line-height: 1;
	}
	#header .entry a {
		position: absolute;
		top: 0;
		width: calc(27% - 50px);
		height: 48px;
	}
	#header .entry.entry1 a {
		right: 27%;
		margin-right: 1px;
	}
	#header .entry.entry2 a {
		right: 50px;
	}
	#header .entry a > span {
		font-size: 2.9vw;
		/*font-size: 3.0vw;*/
		line-height: 1.1;
	}
	#header .entry .en {
		letter-spacing: 0.15em;
		font-size: 1em;
	}
	#header .entry a:hover {
		opacity: 0.8;
	}
}

@media screen and (max-width: 374px) {
	#header .logo {
		width: 56%;
	}
	#header .logo img {
		width: 96px;
	}
}

/* = menu
----------------------------------------------- */
#menu_btn {
	position: absolute;
	top: 0;
	right: 0;
	width: 84px;
	height: 70px;
	background: #fff;
	cursor: pointer;
	z-index: 9999;
}
#menu_btn:hover {
	background: rgba(255,255,255,0.8);
}
#menu_btn span {
	display: block;
	position: relative;
	width: 84px;
	height: 70px;
	text-indent: -9999px;
}
#menu_btn:before,
#menu_btn:after,
#menu_btn span:after {
	content: "";
	display: block;
	position: absolute;
	right: 26px;
	width: 32px;
	height: 2px;
	background: #000;
}
#menu_btn:before {
	top: 23px;
	transition: .3s;
}
#menu_btn:after {
	top: 35px;
	transition: .3s;
}
#menu_btn span:after {
	top: 46px;
}
#menu_btn.close,
#menu_btn.close:hover {
	background: rgba(255,255,255,0);
}
#menu_btn.close:before {
	top: 35px;
	transform: rotate(-45deg);
}
#menu_btn.close:after {
	top: 35px;
	transform: rotate(45deg);
}
#menu_btn.close span:after {
	display: none;
}

#menu {
	position: fixed;
	top: 0px;
	left: 0;
	right: 0;
	width: 100%;
	min-width: 1100px;
	height: 100%;
	min-height: 100vh;
	background: rgba(255,255,255,0.98);
	z-index: 9990;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	visibility: hidden;
	transition: .5s;
}
.is-nav_opened #menu {
	opacity: 1;
	visibility: visible;
	transition: .5s;
}
#menu a {
	trasition: 0.3s;
}
#menu a:hover {
	color: #009944;
}
#menu nav {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	max-width: 1300px;
	min-width: 1000px;
	margin: 0 auto;
	padding: 80px 50px 10px;
	box-sizing: border-box;
}
#menu nav dl {
	width: calc(100% - 200px);
	max-width: 920px;
}
#menu nav dl::after {
	display: block;
	content: "";
	clear: both;
}
#menu dl dt {
	width: 170px;
	border-top: 1px solid #009944;
	float: left;
	clear: both;
	padding: 15px 25px 20px 15px;
	box-sizing: border-box;
	color: #009944;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#menu dl dd {
	width: 76%;
	min-width: 56%;
	border-top: 1px solid #009944;
	float: left;
	clear: none;
	padding: 15px 0 25px 0;
	box-sizing: border-box;
}
#menu dl dd > ul {
}
#menu dl dd > ul > li {
	display: inline-block;
	vertical-align: top;
	width: 22.0%;
	margin: 0 2.5% 12px 0px;
	font-size: 0;
}

#menu dl dd > ul > li.liInterview {
	width: 46.5%;
	margin: 0 0 0 0;
	box-sizing: border-box;
}
#menu dl dd > ul > li p {
	font-size: 1.5rem;
	line-height: 1.3;
	padding-bottom: 0.3em;
}
#menu dl dd > ul > li figure {
	margin:0;
	padding: 0;
}
#menu dl dd > ul > li figure img {
	width: 100%;
	height: auto;
}
#menu dl dd > ul > li.liInterview figure {
	width: 100%;
}
#menu dl dd > ul > li.liInterview .liInterviewIn {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	font-size: 1.5rem;
	margin: 0 -50% 0 0;
}
#menu dl dd .liInterview ul {
	margin: 0;
	padding: 0;
}
#menu dl dd .liInterview ul > li {
	margin: 1em 0 0;
}
#menu dl dd .liInterview ul > li p {
	font-size: 1.35rem;
	line-height: 1.2;
	padding-bottom: 0;
	width: 11.5em;
}
#menu dl dd .liInterview ul:last-child > li p {
	padding-right: 0;
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
	#menu dl dd > ul > li {
		width: 30.5%;
	}
	#menu dl dd > ul > li.liInterview {
		width: 64.0%;
	}
	#menu dl dd > ul > li.liInterview .liInterviewIn {
		margin-right: 0;
	}
}

#menu nav .catch {
	width: 150px;
	text-align: center;
	margin: 0;
	padding: 80px 50px 0 50px;
	box-sizing: border-box;
}
#menu nav .catch p {
	margin: 0 auto 0;
	padding: 0;
	font-size: 3.5rem;
	writing-mode: vertical-rl;
	text-align: center;
}

.menu_scale {
	-webkit-animation: menuScale 0.3s ease-out forwards;
	-moz-animation: menuScale 0.3s ease-out forwards;
	animation: menuScale 0.3s ease-out forwards;
}
@-webkit-keyframes menuScale {
	0% {
		transform: scale(1.05);
	}
	100% {
		transform: scale(1);
	}
}
@-moz-keyframes menuScale {
	0% {
		transform: scale(1.05);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes menuScale {
	0% {
		transform: scale(1.05);
	}
	100% {
		transform: scale(1);
	}
}

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

@media screen and (max-width: 767px) {
	#menu_btn,
	#menu_btn span {
		width: 50px;
		height: 48px;
	}
	#menu_btn:before,
	#menu_btn:after,
	#menu_btn span:after {
		right: 30%;
		width: 38%;
	}
	#menu_btn:before {
		top: 35%;
	}
	#menu_btn:after {
		top: 50%;
	}
	#menu_btn span:after {
		top: 65%;
	}
	#menu_btn.close,
	#menu_btn.close:hover {
		background: rgba(255,255,255,1);
	}
	#menu_btn.close:before {
		top: 50%;
	}
	#menu_btn.close:after {
		top: 50%;
	}

	#menu {
		min-width: 100%;
		box-sizing: border-box;
	}
	.is-nav_opened #menu {
	}
	#menu nav {
		display: inherit;
		max-width: 90%;
		min-width: 90%;
		margin: 0 5%;
		padding: 60px 0 10px;
	}
	#menu nav dl {
		width: auto;
		max-width: auto;
	}
	#menu dl dt {
		width: 100%;
		border-top: 1px solid #009944;
		float: none;
		clear: both;
		padding: 0.8em 0;
		font-size: 4.0vw;
		box-sizing: border-box;
	}
	#menu dl dd {
		width: 100%;
		min-width: auto;
		float: none;
		clear: both;
		margin: 0;
		padding: 6px 0;
		box-sizing: border-box;
	}
	#menu dl dd > ul > li {
		width: 100%;
		padding: 6px 0;
		margin: 0;
		border-bottom: 1px solid #e8e8e8;
	}
	#menu dl dd > ul > li.liInterview {
		width: 100%;
	}
	#menu dl dd > ul > li:first-child {
		padding-top: 0;
	}
	#menu dl dd > ul > li:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}
	#menu dl dd > ul > li > a {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: center;
		vertical-align: inherit;
	}
	#menu dl dd > ul > li > a > p {
		width: 74%;
		font-size: 3.7333vw;
		padding: 0;
	}
	#menu dl dd > ul > li figure {
		width: 22%;
		margin:0;
		padding: 0;
	}
	#menu dl dd > ul > li.liInterview figure {
		width: 22%;
		margin:0;
		padding: 0;
		box-sizing: border-box;
		position: relative;
	}
	#menu dl dd > ul > li.liInterview figure::before {
		content: "";
		display: block;
		padding-top: 60%;
	}
	#menu dl dd > ul > li.liInterview figure img {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		height: 100%;
		object-fit: cover;
		object-position: center center;
	}
	#menu dl dd > ul > li.liInterview .liInterviewIn {
		display: inherit;
		font-size: 3.7333vw;
		width: 74%;
		padding: 10px 0 16px 26%;
	}
	#menu dl dd .liInterview ul {
		margi: 0;
		padding-left: 1em;
	}
	#menu dl dd .liInterview ul > li {
		margin: 0 0 1em;
	}
	#menu dl dd .liInterview ul:last-child > li:last-child {
		margin: 0;
	}
	#menu dl dd .liInterview ul > li p {
		font-size: 3.7333vw;
		line-height: 1.2;
		padding-bottom: 0;
		padding-right: 0;
	}
	#menu dl dd .liInterview ul:last-child > li p {
		padding-right: 0;
	}
	#menu nav .catch {
		width: 100%;
		text-align: center;
		margin: 0 5%;
		padding: 40px 0 0;
		box-sizing: border-box;
	}
	#menu nav .catch p {
		margin: 0 auto 0;
		padding: 0 0 2em;
		font-size: 6vw;
		line-height: 1.6;
		writing-mode: inherit;
	}
}









/* = footer
----------------------------------------------- */
#gototop {
	width: auto;
	margin-right: 0;
	display: none;
	position: relative;
}
#gototop a {
	width: 50px;
	height: 50px;
	background: #009944 url("../img/shared/arrow_r_white.svg") no-repeat center center / 18px auto;
	transform: rotateZ(-90deg);
	font-size: 0px;
	line-height: 0;
	text-indent: -9999px;
	display: block;
	right: 25px;
	bottom: 25px;
	z-index: 49;
	position: fixed;
	transition: 0.5s;
}
#gototop a:hover {
	opacity: 0.7;
}
#gototop.nonfixed a {
	position: absolute;
	bottom: -130px;
}
@media screen and (max-width: 767px) {
	#gototop {
		width: 100%;
		margin: 0 auto;
		display: none;
	}
	#gototop a {
		width: 60px;
		height: 60px;
		border-radius: 30px;
		background: rgba(0,153,61,0.9) url("../img/shared/arrow_r_white.svg") no-repeat center right 10px / 15px auto;
		transform: rotateZ(-90deg);
		right: 0;
		left: 0;
		margin: 0 auto;
		bottom: -30px;
		z-index: 100;
		position: fixed;
	}
	#gototop a:hover {
		opacity: 1;
	}
	#gototop.nonfixed a {
		position: fixed;
		bottom: -20px;
		background: #007e38 url("../img/shared/arrow_r_white.svg") no-repeat center right 10px / 15px auto;
		
	}
}

#footer {
	margin-top: 80px;
	padding: 0px 0 0;
	background: url("../img/shared/bg_wave_footer.svg") no-repeat left top / 100% auto;
	color: #fff;
}
#footer .footerIn {
	padding: 160px 0 20px;
}
#footer .wrap1400 {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
	text-align: center;
}
#footer .copyright {
	display: block;
	font-size: 1.2rem;
	margin: 1.5em auto;
}

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

@media screen and (max-width: 767px) {
	#footer {
		padding: 0;
		background: url("../img/shared/bg_wave_footer.svg") no-repeat left top / 100% auto;
	}
	#footer .footerIn {
		padding: 40px 0 40px;
	}
	#footer .wrap1400 {
		max-width: auto;
		margin: 0 auto;
		padding: 0 5%;
	}
	#footer .btnRS_white {
		margin-bottom: 10px;
	}
	#footer .copyright {
		font-size: 2.9333vw;
		padding: 0 auto 3em;
	}
}

/* = common parts
----------------------------------------------- */
.main {
	width: 100%;
	min-width: 1000px;
	height: 540px;
	background-repeat: no-repeat;
	background-size: auto 540px;
	position: relative;
	padding-top: 28.125%;
	box-sizing: border-box;
}
.main .mainIn {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	max-width: 1400px;
	width: 100%;
	height: 75%;
	margin: 0 auto;
	padding: 70px 50px 0;
	box-sizing: border-box;
	text-align: center;
}
.main .h1Shoulder {
	font-size: 7.4rem;
	font-weight: 600;
	line-height: 1.1;
	padding-top: 12rem;
	padding-bottom: 0.12em;
}
.main .h1Title {
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1.4;
	padding-bottom: 1em;
}
.main .h2Title {
	font-size: 7.0rem;
	font-weight: 100;
	line-height: 1;
}
.h2Catch {
	font-size: 5.0rem;
	line-height: 1.3;
	padding-bottom: 1.2em;
	letter-spacing: 0.04em;
}
.h3Subhead {
	display: block;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	background: #009944;
	text-align: center;
	margin: 2em auto;
	padding: 0.4em 0.5em 0.5em;
	width: 10em;
	box-sizing: border-box;
}
.lead {
	font-size: 1.9rem;
	line-height: 2;
	font-weight: bold;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}
.notes {
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.6;
	margin: 0.7em 0;
}
.main .wave {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	z-index: 2;
}

@media screen and (max-width: 767px) {
	.main {
		min-width: auto;
		min-height: 200px;
		height: auto;
		background-position: center center;
		background-size: auto 100%;
		padding-top: 60%;
	}
	.main .mainIn {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		max-width: auto;
		width: 100%;
		height: auto;
		padding: 10px 5% 0;
		
	}
	.main .h1Shoulder {
		font-size: 8.9vw;
		padding-top: 22vw;
		padding-bottom: 0.12em;
	}
	.main .h1Title {
		font-size: 4.6vw;
	}
	.main .h2Title {
		font-size: 7.8vw;
		margin: 0 -4%;
	}
	.h2Catch {
		font-size: 6.8vw;
		line-height: 1.3;
	}
	.h3Subhead {
		font-size: 4.2vw;
		margin: 2em auto;
	}
	.lead {
		font-size: 4.0vw;
	}
	.notes {
		font-size: 3.15vw;
	}
}

/* table */
.tblNormal {
	width: 100%;
	box-sizing: border-box;
}
.tblNormal th,
.tblNormal td {
	padding: 1.5em 1.3em;
	border: 1px solid #cccccc;
	color: #333;
	background: #fff;
	font-size: 1.5rem;
	line-height: 1.86;
	vertical-align: top;
}
.tblNormal th {
	font-weight: bold;
	background: #f5f5f5;
	
}
.tblNormal td {
	background: #fff;
}
.table01 a {
	color: #333;
}

@media screen and (max-width: 767px) {
	.tblNormal {
		margin: 0;
	}
	.tblNormal caption {
		padding: 4% 3%;
		font-size: 3.2vw;
	}
	.tblNormal th,
	.tblNormal td {
		padding: 3%;
		font-size: 3.2vw;
	}
	
	.tblNormal.tblSpV {
		border-bottom: 1px solid #cccccc;
	}
	.tblNormal.tblSpV th,
	.tblNormal.tblSpV td {
		display: block;
		width: 100%!important;
		padding: 3% 5%;
		box-sizing: border-box;
		border-bottom: none;
	}
}

.tblNoBorder {
	border: none!important;
	width: auto!important;
	margin: 0;
}
.tblNoBorder,
.tblNoBorder th,
.tblNoBorder td {
	border: none!important;
	width: auto;
	margin: 0;
	vertical-align: top;
}

@media screen and (max-width: 767px) {
	.tblNoBorder.spTblTate th {
		font-weight: bold;
		white-space: nowrap;
		padding: 2em 0 0;
	}
	.tblNoBorder.spTblTate td {
		padding: 0;
	}
	.tblNoBorder.spTblTate th,
	.tblNoBorder.spTblTate td {
		display: block!important;
		border: none!important;
		vertical-align: top!important;
		width: auto;
	}
	.tblNoBorder.spTblTate tr:first-child td {
		
	}
}

a.btnR {
	display: inline-block;
	height: 48px;
	border-radius: 24px;
	min-width: 240px;
	box-sizing: border-box;
	font-size: 2.0rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-align: center;
	line-height: 1;
	padding: 0.63em 30px 0 56px;
	margin: 1.5em auto;
	transition: 0.3s;
}
a.btnR.basic {
	background: #009944 url("../img/shared/arrow_r_white.svg") no-repeat left 20px center / 16px auto;
	color: #fff;
}
a.btnR.green {
	background: #fff url("../img/shared/arrow_r_green.svg") no-repeat left 20px center / 16px auto;
	color: #009944;
}
a.btnR.orange {
	background: #fff url("../img/shared/arrow_r_orange.svg") no-repeat left 20px center / 16px auto;
	color: #ffa63d;
}
a.btnR.blue {
	background: #fff url("../img/shared/arrow_r_blue.svg") no-repeat left 20px center / 16px auto;
	color: #1895e4;
}
a.btnR.red {
	background: #fff url("../img/shared/arrow_r_red.svg") no-repeat left 20px center / 16px auto;
	color: #d20036;
}
a.btnR.purple {
	background: #fff url("../img/shared/arrow_r_purple.svg") no-repeat left 20px center / 16px auto;
	color: #c53eca;
}
a:hover.btnR {
	opacity: 0.8;
}

@media screen and (max-width: 767px) {
	a.btnR {
		height: 6vw;
		border-radius: 3vw;
		min-width: 120px;
		font-size: 3.75vw;
		padding: 0.24em 1.2em 0 2em;
	}
	a.btnR.basic {
		background: #009944 url("../img/shared/arrow_r_white.svg") no-repeat left 0.6em center / 0.6em auto;
	}
	a.btnR.green {
		background: #fff url("../img/shared/arrow_r_green.svg") no-repeat left 0.6em center / 0.6em auto;
	}
	a.btnR.orange {
		background: #fff url("../img/shared/arrow_r_orange.svg") no-repeat left 0.6em center / 0.6em auto;
	}
	a.btnR.blue {
		background: #fff url("../img/shared/arrow_r_blue.svg") no-repeat left 0.6em center / 0.6em auto;
	}
	a.btnR.red {
		background: #fff url("../img/shared/arrow_r_red.svg") no-repeat left 0.6em center / 0.6em auto;
	}
	a.btnR.purple {
		background: #fff url("../img/shared/arrow_r_purple.svg") no-repeat left 0.6em center / 0.6em auto;
	}
}

a.btnRS_white {
	display: inline-block;
	height: 30px;
	font-size:1.5rem;
	line-height: 30px;
	background: #fff;
	border-radius: 15px;
	color: #009944;
	padding: 0 1.5em;
	margin: 1.5em auto;
	transition: 0.3s;
}
a:hover.btnRS_white {
	opacity: 0.8;
}
@media screen and (max-width: 767px) {
	a.btnRS_white {
		height: 4.4vw;
		font-size: 3.4666vw;
		line-height: 4.4vw;
		border-radius: 2.2vw;
	}
}

.btnImg {
	/*height: 70px;*/
	width: 396px;
	box-sizing: border-box;
	border: 1px solid #009944;
	background: #ffffff;
	margin-top: 1em;
	margin-bottom: 1em;
}
.btnImg a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	transition: 0.3s;
}
.btnImg a:hover {
	background: rgba(0,153,68,0.05);
}
.btnImg a img {
	width: 100px;
	height: 68px;
}
.btnImg a p {
	background: url("../img/shared/arrow_src_r.svg") no-repeat left 18px center / 18px auto;
	padding: 0.3em 1em 0.25em 3em;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: bold;
	color: #009944;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
	.btnImg {
		height: auto;
		width: 100%;
		margin-top: 1em;
		margin-bottom: 1em;
	}
	.btnImg a img {
		width: 20vw;
		height: auto;
	}
	.btnImg a p {
		width: calc(100% - 20vw);
		background: url("../img/shared/arrow_src_r.svg") no-repeat left 0.95em center / 1.2em auto;
		padding: 0.2em 1em 0.15em 3em;
		font-size: 3.7vw;
	}
}

.mt1em { margin-top: 1em; }
.mt2em { margin-top: 2em; }
.mt3em { margin-top: 3em; }
.mb1em { margin-bottom: 1em; }
.mb2em { margin-bottom: 2em; }
.mb3em { margin-bottom: 3em; }
.indent1,.kome { padding-left: 1em; text-indent: -1em; }
.indent2 { padding-left: 2em; text-indent: -2em; }
.indent3 { padding-left: 3em; text-indent: -3em; }
.indent4 { padding-left: 4em; text-indent: -4em; }
.indent5 { padding-left: 5em; text-indent: -5em; }

/* accordion */
.accordion {
	padding-bottom: 100px;
	position: relative;
	z-index: 10;
}
.accordion > h4.button {
    display:block;
	box-sizing: border-box;
    border: 1px solid #f4f4f4;
	padding: 1.6em 2.4em 1.7em 3.2em;
	cursor: pointer;
	transition-duration: 0.5s;
	margin-top: 3em;
	background: #fff;
}
.accordion > h4.button::first-of-type {
	margin-top: 0;
}
.accordion > h4.button:before {
	display: none;
}
.accordion > h4.button:hover {
	background: #f3f3f0;
}
.accordion > h4.button p {
    font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.1;
	color: #009944;
	background: url("../img/shared/arrow_b_green.svg") no-repeat right center / 22px auto;
	padding-right: 36px;

}
.accordion > h4.button.active p {
	background: url("../img/shared/icon_close.svg") no-repeat right center / 22px auto;
}
.accordion > h4.button p span {
	font-size: 0.75em;
	color: #666;
	display: inline-block;
	font-weight: normal;
}
.accordion > .nest {
	padding: 2em 3.2em 1.5em 3.2em;
}

@media screen and (max-width: 767px) {
	.accordion > h4.button {
		padding: 1.0em 1.0em 1.0em 1.4em;
		margin-top: 3em;
	}
	.accordion > h4.button p {
    	font-size: 3.9vw;
		line-height: 1.3;
		background: url("../img/shared/arrow_b_green.svg") no-repeat right center / 14px auto;
		padding-right: 30px;
	}
	.accordion > h4.button.active p {
		background: url("../img/shared/icon_close.svg") no-repeat right center / 14px auto;
	}
	.accordion > .nest {
		padding: 1em 0.6em 0.75em;
	}
}


/*--------------------------------------------------------

for tablet

----------------------------------------------------------*/
@media screen and (max-width: 1200px) and (min-width: 768px) {

}

/*--------------------------------------------------------

for smartphone

----------------------------------------------------------*/
@media screen and (max-width: 767px) {

}


/* = common parts
----------------------------------------------- */



@media print{
#header {
	position: absolute;
}
}