@charset "utf-8";

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

/*  Parts

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

/* Layout
--------------------------------------------------------------------------- */

/* --- margin --- */
.auto {
	margin-left: auto;
	margin-right: auto;
}

.mt0 {
	margin-top: 0 !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

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

.mr0 {
	margin-right: 0 !important;
}

.mr5 {
	margin-right: 5px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mr45 {
	margin-right: 45px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mb0 {
	margin-bottom: 0 !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.ml0 {
	margin-left: 0 !important;
}

.ml5 {
	margin-left: 5px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.ml45 {
	margin-left: 45px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.m0 {
	margin: 0 !important;
}

.m10 {
	margin: 10px !important;
}

.m15 {
	margin: 15px !important;
}

.m20 {
	margin: 20px !important;
}

.m25 {
	margin: 25px !important;
}

.m30 {
	margin: 30px !important;
}

.m35 {
	margin: 35px !important;
}

.m40 {
	margin: 40px !important;
}

.m45 {
	margin: 45px !important;
}

.m50 {
	margin: 50px !important;
}

/* --- padding --- */

.pt0 {
	padding-top: 0 !important;
}

.pt5 {
	padding-top: 5px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt15 {
	padding-top: 15px !important;
}

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

.pr0 {
	padding-right: 0 !important;
}

.pr5 {
	padding-right: 5px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pl0 {
	padding-left: 0 !important;
}

.pl5 {
	padding-left: 5px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.pb0 {
	padding-bottom: 0 !important;
}

.pb5 {
	padding-bottom: 5px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb0 {
	padding: 0 !important;
}

.pb5 {
	padding: 5px !important;
}

.pb10 {
	padding: 10px !important;
}

.pb15 {
	padding: 15px !important;
}

.pb20 {
	padding: 20px !important;
}

.p0{
	padding:0 !important;
}

.nowrap {
	white-space: nowrap;
}

.wid100p {
	width: 100% !important;
}

sup{
	font-size: 75.5%;
	vertical-align: top;
	position: relative;
	top: 0.2em;
}

sub{
	font-size: 75.5%;
	vertical-align: bottom;
	position: relative;
	top: 0em;
}

/* --- display --- */

.block {
	display: block;
}

.inline {
	display: inline;
}

.inline-block {
	display: inline-block;
}

.none {
	display: none !important;
}

.fltbox {
	margin: 0 auto;
}

.flt_r {
	float: right !important;
}

.flt_l {
	float: left !important;
}

.txt_r {
	text-align: right !important;
}

.txt_c {
	text-align: center !important;
}

.txt_l {
	text-align: left !important;
}

.txt_red {
	color: #e50000 !important;
}

.txt_red a {
	color: #e50000 !important;
    text-decoration: underline;
}
.txt_red a:hover {
    text-decoration: none;
}

.txt_blue{
	color: #0099d6 !important;
}

.txt_under {
	text-decoration: underline;
}

a.txt_under:hover {
	text-decoration: none;
}

.psn_r {
	position: relative;
}

/* Heading
--------------------------------------------------------------------------- */

.hd01,.hd01-1 {
	position: relative;
	font-size: 2.4rem;
	line-height: 2.5;
	font-weight: normal;
	text-align: center;
	margin-bottom: 40px;
}

.hd01-1{
	font-size: 2.8rem !important;
}

.hd01 span,.hd01-1 span {
	display: inline-block;
	border-bottom: 2px solid #0099d6;
}

.hd01::after,.hd01-1::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 5px 0 5px;
	border-color: #0099d6 transparent transparent transparent;
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
}

.hd02 {
	font-size: 3.6rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
}

.hd03 {
	font-size: 3rem;
	color: #fff;
	text-align: center;
}

.hd04 {
	text-align: center;
	margin-bottom: 60px;
}

.hd05 {
	color: #0099d6;
	font-weight: bold;
}

.hd06 {
	font-size: 2.4rem;
	color: #0099d6;
	font-weight: bold;
	text-align: center;
	margin-bottom: 35px;
}

.hd07 {
	font-size: 2.4rem;
	font-weight: normal;
	text-align: center;
	background: #d4f6fc;
	margin-bottom: 60px;
	padding: 20px 0;
}

.hd08 {
	font-size: 2rem;
	color: #000;
	font-weight: bold;
	text-align: center;
	margin-bottom: 35px;
}



@media screen and (max-width: 768px) {
	.hd01 {
		font-size: 1.7rem;
	}
	
	.hd01-1 {
		font-size: 2.2rem !important;
	}

	.hd01 span,.hd01-1 span{
		border-bottom-width: 1px;
	}
	
	.hd01-1 span{
		min-width: auto;
		line-height: 1.6;
		padding-bottom: 9px;
		display: inline-table;
	}
	
	.hd01::after,.hd01-1::after {
		border-width: 3px 3px 0 3px;
		bottom: -3px;
	}

	.hd02 {
		font-size: 2.3rem;
	}

	.hd03 {
		font-size: 2.3rem;
		color: #fff;
		text-align: center;
	}

	.hd04 {
		margin-bottom: 35px;
	}

	.hd05 {
		font-size: 1.4rem;
	}
	.hd06 {
		font-size: 1.7rem;
		margin-bottom: 30px;
	}

	.hd06 .under_marker {
		font-size: 150%;
		background: linear-gradient(transparent 60%, #ffe433 60%);
	}
	
	.hd08 {
		font-size: 1.7rem;
		margin-bottom: 30px;
	}
	
}

/* icon
--------------------------------------------------------------------------- */
.ico {
	width: 20px;
}

.ico_arrow_right {
	position: relative;
	padding-left: 2em;
	display: inline-block;
}

_:-ms-input-placeholder,
:root .ico_arrow_right {
	padding-top: 2px;
}

.ico_arrow_right::before {
	content: "\f138";
	display: inline-block;
	font-family: "FontAwesome";
	font-size: 15px;
	color: #0099d6;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}

_:-ms-input-placeholder,
:root .ico_arrow_right::before {
	top: calc(50% - 2px);
}

.ico_arrow_bottom {
	position: relative;
	padding-left: 2em;
	display: inline-block;
}

.ico_arrow_bottom::before {
	content: "\f13a";
	display: inline-block;
	font-family: "FontAwesome";
	font-size: 15px;
	color: #0099d6;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.ico_pdf,.ico_jpg,.ico_word {
	position: relative;
	display: inline-block;
	padding-left: 1.4em;
	text-indent: -1.7em;
	text-decoration: underline;
}

.ico_pdf::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 18px;
	background: url(/assets/common/img/ico/ico_pdf.png) no-repeat left center / cover;
	margin: 0px 10px 0 0;
	position: relative;
	top: 3px;
	left: 0;
	display: inline-flex;
}

.ico_jpg::before{
	content: "";
	display: inline-block;
	width: 14px;
	height: 18px;
	background: url(/assets/common/img/ico/ico_jpg.png) no-repeat left center / cover;
	margin: 0px 10px 0 0;
	position: relative;
	top: 3px;
	left: 0;
	display: inline-flex;
}

.ico_word::before{
	content: "";
	display: inline-block;
	width: 14px;
	height: 18px;
	background: url(/assets/common/img/ico/ico_word.png) no-repeat left center / cover;
	margin: 0px 10px 0 0;
	position: relative;
	top: 3px;
	left: 0;
	display: inline-flex;
}


.ico_pdf .data_text {
	font-size: 80%;
	display: inline-block;
	margin-left: 30px;
}

.ico_pdf:hover {
	text-decoration: none;
}

.ico_blank::after {
	content: "";
	display: inline-block;
	position: relative;
	top: 2px;
	left: 5px;
	width: 14px;
	height: 11px;
	background: url(/assets/common/img/ico/ico_blank.png) no-repeat center center/ cover;
}

.ico_pdf02{
	display: inline-block;
	background: url("/assets/common/img/ico/ico_pdf.svg") no-repeat center center / contain;
	width: 14px;
	height: 17px;
	margin-left: 5px;
	transform: translateY(2px);
}
.ico_blank02{
	display: inline-block;
	background: url("/assets/common/img/ico/ico_blank_bk.svg") no-repeat center center / contain;
	width: 13px;
	height: 13px;
	margin-left: 2px;
	transform: translateY(-1px);
}
#gNav .ico_blank02,
.ico_blank02.ico_col_blue{
	background: url("/assets/common/img/ico/ico_blank_blue.svg") no-repeat center center / contain;
}
.ico_excla{
	display: inline-block;
	background: url("/assets/common/img/ico/ico_excla.svg") no-repeat center center / contain;
	width: 22px;
	height: 22px;
	margin-right: 10px;
}

.ico_movie{
	display: inline-block;
	background: url("/assets/common/img/ico/ico_video_blue.svg") no-repeat center center / contain;
	width: 27px;
	height: 24px;
	margin-right: 15px;
	transform: translateY(4px);
}
.ico_movie.mini{
	width: 20px;
	height: 22px;
	margin-right: 7px;
}


@media screen and (max-width: 1024px) {
	.ico_movie{
		margin-right: 10px;
		width: 22px;
		height: 20px;
	}
}
@media screen and (max-width: 768px) {
	.ico_excla{
		width: 19px;
		height: 19px;
		transform: translateY(-1px);
	}
}
@media screen and (max-width: 480px) {
	.ico_arrow_right::before {
		top: calc(50% + 1px);
	}
	.ico_pdf02{
		width: 12px;
		height: 15px;
		margin-left: 3px;
	}
}

/* image
--------------------------------------------------------------------------- */

/* button
--------------------------------------------------------------------------- */

.btn_area {
	text-align: center;
}

.btn {
	background: #fff;
	border: 1px solid;
	border-radius: 20px;
	cursor: pointer;
	display: inline-block;
	margin: 0 auto;
	text-align: center;
	text-decoration: none;
	-webkit-appearance: none;
	-webkit-transition: all 0.1s ease-in-out;
	transition: 0.2s ease;
	width: 100%;
}

.btn:hover {
	opacity: 0.8;
}

.btn::after,
.btn::before {
	opacity: 0.8;
}

.btn.btn01 {
	color: #0099d6;
	border-color: #0099d6;
	line-height: 30px;
	max-width: 160px;
	font-size: 1.4rem;
	font-weight: bold;
}

_:-ms-input-placeholder,
:root .btn.btn01 {
	padding-top: 5px;
}

.btn.btn01:hover {
	color: #fff;
	background: #0099d6;
}

.btn.btn02 {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 30px;
	border-color: transparent;
	position: relative;
}

_:-ms-input-placeholder,
:root .btn.btn02 {
	padding-top: 5px;
}

.btn.btn02::before {
	content: "\f13a";
	display: inline-block;
	font-family: "FontAwesome";
	font-size: 1.5rem;
	color: #0099d6;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.btn.btn02:hover {
	background: #0099d6;
	color: #fff;
	border-color: #fff;
	opacity: 1;
}

.btn.btn02:hover::before {
	color: #fff;
	opacity: 1;
	/*transform: translateY(-50%) rotate(-90deg);*/
}

.btn.btn02.blue {
	background: #0099d6;
	color: #fff;
}

.btn.btn02.blue::before {
	content: "\f138";
	color: #fff;
}

.btn.btn02.blue:hover {
	color: #0099d6;
	background: #fff;
	border-color: #0099d6;
}

.btn.btn02.blue:hover::before {
	transform: translateY(-50%);
	color: #0099d6;
}

.btn.btn03 {
	font-size: 1.6rem;
	color: #0099d6;
	border: 2px solid #a8dbf0;
	padding-top: 3px;
	line-height: 30px;
	font-weight: bold;
}

_:-ms-input-placeholder,
:root .btn.btn03 {
	padding-top: 7px;
}

.btn.btn03:hover {
	background: #0099d6;
	background-color: #0099d6;
	color: #fff;
}

@media screen and (max-width: 768px) {
	.btn.btn03 {
		font-size: 1.4rem;
		line-height: 33px;
	}

	.btn.btn03:hover {
		background: #0099d6;
		background-color: #0099d6;
		color: #fff;
	}
}

/* text
--------------------------------------------------------------------------- */

/* --- size --- */

.font_small {
	display: inline-block !important;
	font-size: 87.5% !important;
}

_:-ms-input-placeholder,
:root .font_small {
	margin-left: 3px;
}

/* --- other --- */

.txt_b {
	font-weight: 700 !important;
}

.txt_ind {
	text-indent: -1.2em !important;
	padding-left: 1.2em !important;
}

/* Breadcrumb
--------------------------------------------------------------------------- */

.breadcrumb {
	display: flex;
	align-items: center;
	position: absolute;
	top: -1px;
}

.breadcrumb li {
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	color: #fff;
}

.breadcrumb li::after {
	content: "\e684";
	font-family: "Pe-icon-7-stroke";
	display: inline-block;
	margin: 0 5px;
	font-size: 2rem;
	color: #fff;
}

_:-ms-input-placeholder,
:root .breadcrumb li::after {
	margin-top: -4px;
}

.breadcrumb li:nth-of-type(1) a::before {
	content: "";
	display: inline-block;
	background: url(/assets/common/img/ico/ico_home.png) no-repeat left center;
	width: 16px;
	height: 16px;
    margin-right: 4px;
}

.breadcrumb li:last-child:after {
	content: none;
}

.breadcrumb li a {
	color: #fff;
	text-decoration: none;
}

.breadcrumb li a:hover {
	text-decoration: underline;
}

.breadcrumb.under01 {
	padding-top: 6px;
}

.breadcrumb.under01 li {
	color: #000;
}

.breadcrumb.under01 li::after {
	color: #000;
}

.breadcrumb.under01 li:nth-of-type(1) a::before {
	background-image: url(/assets/common/img/ico/ico_home_blue.png);
}

@media screen and (max-width: 768px) {
	.breadcrumb {
		display: none;
	}
}

/* module
--------------------------------------------------------------------------- */

/* module */
.modal_trigger {
	margin: 50px auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.modal_trigger li {
	cursor: pointer;
}

.modal_box {
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}

.modal_bg {
	background-color: rgba(30, 30, 30, 0.9);
	height: 100%;
	width: 100%;
}

.modal_inner {
	background-color: #fff;
	left: 50%;
	padding: 40px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	max-width: 900px;
	width: 100%;
}

.modal_close {
	cursor: pointer;
	position: absolute;
	right: -0.1em;
	top: -0.4em;
	font-size: 6rem;
	color: #fff;
}

@media screen and (max-width: 480px) {
	.modal_trigger {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.modal_inner {
		width: 90%;
		padding: 25px;
	}
	.modal_close {
		top: -1em;
		right: -0.05;
		font-size: 5rem;
	}
}

/* ----- movie(youtube) ----- */

.video_thumb {
	position: relative;
	transition: 0.2s ease;
}

.video_thumb::before {
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	transition: 0.2s ease;
}

.video_thumb .ico_video_play {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
}

.video_thumb .ico_video_play::before,
.video_thumb .ico_video_play::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: ease 0.2s;
}

.video_thumb .ico_video_play::before {
	width: 56px;
	height: 56px;
	border: 2px solid #bbb;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.55);
}

.video_thumb .ico_video_play::after {
	border-style: solid;
	border-width: 11px 0 11px 22px;
	border-color: transparent transparent transparent #ccc;
	position: absolute;
	left: calc(50% + 3px);
	top: calc(50% + 1px);
}

.video_thumb:hover {
	opacity: 0.7;
}

.video_thumb:hover .ico_video_play::before,
.video_thumb:hover .ico_video_play::after {
	transform: translate(-50%, -50%) scale(1.15);
}

.video_thumb:hover .ico_video_play::before {
	border: 2px solid #fff;
	background: #007bff;
}
.video_thumb:hover .ico_video_play::after {
	border-color: transparent transparent transparent #fff;
}

.video_box .modal_inner {
	background: none;
	width: 100%;
	height: 500px;
}

.video_block {
	width: 100%;
	height: 500px;
}

@media screen and (max-width: 768px) {
	.video_box .modal_inner {
		height: 350px;
	}

	.video_block {
		height: 350px;
	}
}

@media screen and (max-width: 480px) {
	.video_box .modal_inner {
		height: 260px;
	}

	.video_block {
		height: 260px;
	}
}

/* table
--------------------------------------------------------------------------- */
.table_style01{
	width: 100%;
	border-collapse:  collapse;
}
	.table_style01 th,.table_style01 td{
		border: 1px solid #84adbd;
		text-align:center;
		vertical-align: middle;
		padding: 15px;
		font-weight: bold;
	}
	.table_style01 th{
		background: #a8dbf0;
	}
	.table_style01 th img{
		max-width: inherit !Important;
	}
	.table_style01 th.th_color01{
		background: #eaeaea;
	}
	.table_style01 td.td_color01{
		background: #e5f8ff;
	}
	.table_style01 td.td_color02{
		background: #eaeaea;
	}
	
	.table_style01 td small{
		font-size: 1.2rem;
		font-weight: normal;
	}

@media screen and (max-width: 768px) {
	:not(.scroll)>.table_style01 th,:not(.scroll)>.table_style01 td{
		width: 100%;
		display: block;
		border-bottom: none;
	}
	:not(.scroll)>.table_style01{
		border-bottom: 1px solid #84adbd;
	}
	
.scroll{
	overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}
}


