@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:600&display=swap);
@import url(https://fonts.googleapis.com/css?family=Roboto:400,500&display=swap);

/* ====================================
	ベーススタイル
 ==================================== */


/* ====================================
	共通スタイル
 ==================================== */
 
#contents__main--wrap {
	background-color: #FFF;
}


/* メインタイトル */
.main-title {
	font-weight: 500;
	text-align: center;
}

/* サブセクション */
.sub-item .base-width {
	border-bottom: solid 1px #D9D9D9;
}

.sub-section:last-of-type .sub-item .base-width {
	border-bottom: none;
}

.sub-item .sub-title {
	font-weight: 500;
}

/* サブサブセクション */
.sub-sub-title {
	padding-left: 13px;
	position: relative;
}

.sub-sub-title::before {
	content: '';
	display: block;
	width: 4px;
	height: 85%;
	background: #000;
	position: absolute;
	top: 8%;
	left: 0;

}

.google-font {
	font-family: 'Open Sans', "Noto Sans Japanese", sans-serif !important;
	padding: 0px !important;
	margin: 0px !important;
}
.roboto {
	font-family: 'Roboto', "Noto Sans Japanese", sans-serif !important;
	padding: 0px !important;
	margin: 0px !important;
}

.text {
		font-size: 1.15rem;
	}

/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {

	article {
		font-size: 1.0rem;
		line-height: 1.6;
	}

	/* フレックスコンテナ */
	.flex-item-text, .flex-item-img {
		width: 100%;
	}

	/* メインタイトル */
	.main-title {
		margin: 4rem 0 3rem;
		font-size: 1.7rem;
		line-height: 1.4;
	}

	/* サブセクション */
	.sub-section {
		padding-top: 5rem;
	}
	.sub-section:first-of-type {
		padding-top: 0;
	}
	.sub-item .base-width {
		padding-bottom: 5rem;
	}
	.sub-section .sub-title {
		font-size: 1.3rem;
	}
	.text-container {
		margin-top: 2rem;
	}
	.img-container {
		margin-top: 3rem;
	}

	/* 注釈セクション */
	.caption-section .base-width {
		padding-top: 5rem;
	}

	/* サブサブセクション */
	.sub-sub-title {
		margin-top: 2rem;
		font-size: 1.6rem;
	}

}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print , screen and (min-width: 768px) {

	/* 最大幅 */
	.maxw750 {
		max-width: 750px;
	}

	/* メインタイトル */
	.main-title {
		margin: 5rem 0 5rem;
		font-size: 2.3rem;
		line-height: 1.4;
	}

	/* サブセクション */
	.sub-section {
		padding-top: 5rem;
	}

	.sub-item .base-width {
		padding-bottom: 5rem;
	}
	.sub-title {
		font-size: 1.6rem;
		font-weight:600 !important;
	}
	.text-container {
		margin-top: 4rem;
	}
	.img-container {
		margin-top: 4rem;
	}

	/* 注釈セクション */
	.caption-section .base-width {
		padding-top: 7rem;
	}

	/* サブサブセクション */
	.sub-sub-title {
		margin-top: 8rem;
		font-size: 1.8rem;
	}

}



/* ====================================
	AQUOS用
===================================== */



.max-80 {
	max-width: 80px;
}
.max-100 {
	max-width: 100px !important;
}
.max-120 {
	max-width: 120px !important;
}
.max-150 {
	max-width: 150px !important;
}
.max-178 {
	max-width: 178px !important;
}
.max-200 {
	max-width: 200px !important;
}
.max-220 {
	max-width: 220px !important;
}
.max-250 {
	max-width: 250px !important;
}
.max-300 {
	max-width: 300px !important;
}
.max-370 {
	max-width: 370px !important;
}
.max-400 {
	max-width: 400px !important;
}
.max-450 {
	max-width: 450px !important;
}
.max-465 {
	max-width: 465px !important;
}
.max-480 {
	max-width: 480px !important;
}
.max-500 {
	max-width: 500px !important;
}
.max-519 {
	max-width: 519px !important;
}
.max-525 {
	max-width: 525px !important;
}
.max-550 {
	max-width: 550px !important;
}
.max-580 {
	max-width: 580px !important;
}
.max-600 {
	max-width: 600px !important;
}
.max-620 {
	max-width: 620px !important;
}
.max-630 {
	max-width: 630px !important;
}
.max-650 {
	max-width: 650px !important;
}
.max-700 {
	max-width: 700px !important;
}
.max-750 {
	max-width: 750px !important;
}
.max-800 {
	max-width: 800px !important;
}
.max-820 {
	max-width: 820px !important;
}
.max-850 {
	max-width: 850px !important;
}
.max-900 {
	max-width: 900px !important;
}
.max-950 {
	max-width: 950px !important;
}
.max-1000 {
	max-width: 1000px !important;
}
.max-1080 {
	max-width: 1080px !important;
}
.ttl.ttle_p {
	margin-top: 0px;
	font-size:108%;
}


.text-right {
    text-align: right !important;
    margin-left: auto !important;
    justify-content: right !important;
}

.ttl.ttle_p.p_title {
	padding-bottom: 0px;
	font-size:146.5% !important;
}
.outer-container {
	max-width: 767px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2em;
}
/* Youtube 動画 */
.youtubeBox {
	padding-top: 20px;
	padding-bottom: 20px;
}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.youtubetitle {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	font-size:116%;
}
.youtubetitle_block {
	text-align: center;
	font-size:77%;
	color: #FFF;
	background-color: #000;
	padding-top: 3px;
	padding-right: 10px;
	padding-bottom: 3px;
	padding-left: 10px;
	margin-right: 12px;
	font-weight: normal;
}
.bottom-border {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #d9d9d9;
	margin-bottom: 2em;
	padding-top: 4rem;
	padding-bottom: 60px;
}

.container_block50half {
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.container_block50half > div {
	width: 50%;
	padding: 5px;
	text-align: center;
}
.outsidetext {
	margin-top: 5px;
}
.col_size {
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
	margin-top: 20px;
}
.col_size > div {
	text-align: center;
	color: #FFF;
	background-color: #707271;
	margin-right: 8px;
	margin-top: auto;
	margin-bottom: auto;
	vertical-align: middle;
	display: flex;
	align-items: center;
	padding-top: 2px;
	padding-right: 8px;
	padding-bottom: 4px;
	padding-left: 8px;
	font-size: 116%;
}
.sub-sub {
	margin-bottom: 4rem;
}


.sub-sub-title+.text {
	margin-top: 1rem;
}
.sub-sub-title {
	margin-top: 5rem;
	margin-left: 13px;
	font-size: 1.4rem;
	position: relative;
}
.sub-title+.sub-sub-title {
	margin-top: 3rem;
}
.sub-sub-title:before {
	content: '';
	display: block;
	background: #000;
	height: 85%;
	width: 4px;
	position: absolute;
	bottom: 1px;
	left: -13px;
}
.sub-sub .container_block {
	margin-top: 2rem;
}

.sub-sub-sub-title {
	margin-top: 4rem;
	margin-bottom: -15px !important;
	margin-left: 0px;
	font-size: 1.3rem;
	position: relative;
}

.sub-sub-sub-title_zero {
	margin-top: 0rem;
	margin-bottom: -15px !important;
	margin-left: 0px;
	font-size: 1.3rem;
	position: relative;
}

figure {
	float: right;
	margin: 0 0 15px 15px;
}
figure img {
	max-width: 100%;
}
.cb{
  /* floatを解除 */
  clear: both;
}


.link-arrow {
     position: relative;
     padding-left: 22px;
	margin-top: 40px;
	font-size:93%;
}
.link-arrow a {
	color: #2b7bcf;	
}
.link-arrow::before {
     position: absolute;
     content: '';
     width: 16px;
     height: 16px;
     background: #2b7bcf;
     border-radius: 50%;
     top: 50%;
     left: 0;
     margin-top: -7px;
}
.link-arrow::after {
     position: absolute;
     content: '';
     width: 0;
     height: 0;
     border: solid 4px transparent;
     border-left: solid 6px #fff;
     top: 50%;
     left:6px;
     margin-top: -3px;
}
.star.caption {
	margin-top: 50px;
}
.star.caption a {
	color: #2b7bcf;	
}


.star.text a {
	color: #2b7bcf;	
}


.cocoro_dl {
	margin-top: 50px;
	font-weight: bold;
	color: #e0107d;
	margin-bottom: 20px;
	font-size:116%;
}

.stars.con-text {
	margin-top: 15px;
  padding-left: 1.1em;
  text-indent: -1.1em;
  font-size:93%; 
}

.stars.con-text a {
	color: #2b7bcf;	
}

.stars.con-text span {
  margin-right: 0.1em; 
}



#sub01 {
   margin-top:-150px;
  padding-top:150px;
}
#sub02, #sub03, #sub04, #sub05, #sub06, #sub07, #sub08, #sub09, #sub10, #sub11, #sub12, #sub13, #sub14, #sub15 {
   margin-top:-70px;
  padding-top:70px;
}

.container_block {
	display: flex;
}
.container_block .contents_l {
	width: 48%;
}
.container_block .contents_r {
	width: 48%;
	margin-left: 4%;
}
.container_block .contents_r img {
	margin-top: 0px;
}
.container_block .contents_l2 {
	width: 58%;
}
.container_block .contents_r2 {
	flex: 1;
	width: 38%;
	margin-left: 4%;
}
.container_block .contents_l3 {
	width: 43%;
}
.container_block .contents_r3 {
	flex: 1;
	width: 53%;
	margin-left: 4%;
}
.container_block .contents_l4 {
	width: 53%;
}
.container_block .contents_r4 {
	flex: 1;
	width: 43%;
	margin-left: 4%;
}
.container_block .contents_l5 {
	width: 40%;
}
.container_block .contents_r5 {
	flex: 1;
	width: 56%;
	margin-left: 4%;
}
.container_block .contents_l6 {
	width: 66%;
}
.container_block .contents_r6 {
	flex: 1;
	width: 30%;
	margin-left: 4%;
}
.container_block .contents_l7 {
	width: 30%;
}
.container_block .contents_r7 {
	flex: 1;
	width: 66%;
	margin-left: 4%;
}

.container_block .contents_l8 {
	width: 75%;
}
.container_block .contents_r8 {
	flex: 1;
	width: 25%;
	min-width: 250px;
}


/* ==================================== */

.container_block .contents_l_10_90 {
	width: 8%;
}
.container_block .contents_r_10_90 {
	flex: 1;
	width: 88%;
	margin-left: 4%;
}
.container_block .contents_l_20_80 {
	width: 18%;
}
.container_block .contents_r_20_80 {
	flex: 1;
	width: 78%;
	margin-left: 4%;
}
.container_block .contents_l_30_70 {
	width: 28%;
}
.container_block .contents_r_30_70 {
	flex: 1;
	width: 68%;
	margin-left: 4%;
}

.container_block .contents_l_35_65 {
	width: 33%;
}
.container_block .contents_r_35_65 {
	flex: 1;
	width: 63%;
	margin-left: 4%;
}

.container_block .contents_l_40_60 {
	width: 38%;
}
.container_block .contents_r_40_60 {
	flex: 1;
	width: 58%;
	margin-left: 4%;
}
.container_block .contents_l_45_55 {
	width: 43%;
}
.container_block .contents_r_45_55 {
	flex: 1;
	width: 53%;
	margin-left: 4%;
}
.container_block .contents_l_50_50 {
	width: 48%;
}
.container_block .contents_r_50_50 {
	flex: 1;
	width: 48%;
	margin-left: 4%;
}
.container_block .contents_l_60_40 {
	width: 58%;
}
.container_block .contents_r_60_40 {
	flex: 1;
	width: 38%;
	margin-left: 4%;
	max-width: 400px;
}
.container_block .contents_l_70_30 {
	width: 68%;
}
.container_block .contents_r_70_30 {
	flex: 1;
	width: 28%;
	margin-left: 4%;
}
.container_block .contents_l_80_20 {
	width: 78%;
}
.container_block .contents_r_80_20 {
	flex: 1;
	width: 18%;
	margin-left: 4%;
}
.container_block .contents_l_90_10 {
	width: 88%;
}
.container_block .contents_r_90_10 {
	flex: 1;
	width: 8%;
	margin-left: 4%;
}


 @media screen and (max-width: 767px) {
.container_block .contents_r_60_40 {
	max-width: 100%;
}
}

/* ==================================== */


.grayline_block {
	padding: 30px;
	width: 100%;
	border: 1px solid #999;
	margin-top: 6rem;
}
 @media screen and (max-width: 767px) {
.grayline_block {
	margin-top: 3rem;
}
}

a.bluelink:link, a.bluelink:visited, a.bluelink:active, a.bluelink:hover {
	color: #2b7bcf !important;
}

 @media screen and (max-width: 767px) {
.bottom-border {
 margin-bottom: 0em;
 padding-top: 1rem;
 padding-bottom: 4rem;
}
.ttl.ttle_p.p_title {
 font-size:123.1% !important;
}
.container_block .contents_l img, .container_block .contents_l2 img, .container_block .contents_l3 img, .container_block .contents_l4 img, .container_block .contents_l5 img, .container_block .contents_l6 img,  .container_block .contents_l7 img,  .container_block .contents_l8 img {
 margin-top: 20px;
}

.container_block .contents_l figure img, .container_block .contents_l2 figure img, .container_block .contents_l3 figure img, .container_block .contents_l4 figure img, .container_block .contents_l5 figure img, .container_block .contents_l6 figure img,  .container_block .contents_l7 figure img,  .container_block .contents_l8 figure img {
 margin-top: 0px;
}

.container_block .contents_r img, .container_block .contents_r2 img, .container_block .contents_r3 img, .container_block .contents_r4 img, .container_block .contents_r5 img, .container_block .contents_r6 img, .container_block .contents_r7 img, .container_block .contents_r8 img {
 margin-top: 20px;
}
.container_block .contents_r figure img, .container_block .contents_r2 figure img, .container_block .contents_r3 figure img, .container_block .contents_r4 figure img, .container_block .contents_r5 figure img, .container_block .contents_r6 figure img, .container_block .contents_r7 figure img, .container_block .contents_r8 figure img {
 margin-top: 0px;
}

/* ==================================== */

.container_block .contents_l_10_90 img, .container_block .contents_l_20_80 img, .container_block .contents_l_30_70 img, .container_block .contents_l_35_65 img, .container_block .contents_l_40_60 img, .container_block .contents_l_45_55 img, .container_block .contents_l_50_50 img, .container_block .contents_l_60_40 img, .container_block .contents_l_70_30 img, .container_block .contents_l_80_20 img, .container_block .contents_l_90_10 img {
 margin-top: 0px;
}
.container_block .contents_l_10_90 img, .container_block .contents_l_20_80 img, .container_block .contents_l_30_70 img, .container_block .contents_l_35_65 img, .container_block .contents_l_40_60 img, .container_block .contents_l_45_55 img, .container_block .contents_l_50_50 img, .container_block .contents_l_60_40 img, .container_block .contents_l_70_30 img, .container_block .contents_l_80_20 img, .container_block .contents_l_90_10 img {
 margin-top: 0px;
}

/* ==================================== */

 .contents_l .ttle_p {
 margin-top:0px;
}
 .contents_l2 .ttle_p {
 margin-top:0px;
}
.outer-container {
 margin-top: 3rem;
}
.youtubetitle {
 font-size:100%;
}
.container_block50half {
 margin-top: -15px;
 padding-top: 0px;
}
.container_block50half > div {
 font-size:85%;
}
.outsidetext {
 margin-top: -15px;
 margin-bottom: 20px;
 font-size:85%;
}
.col_size {
 margin-top: 15px;
}
.col_size > div {
 font-size:93%;
 margin-right: 4px;
 padding-top: 3px;
 padding-right: 5px;
 padding-bottom: 3px;
 padding-left: 5px;
}
.sub-sub {
	margin-bottom: 2rem;
}

.sub-sub-title {
	font-size: 1.2rem;
}

.sub-sub-sub-title, .sub-sub-sub-title_zero {
	margin-bottom: -3px !important;
	font-size: 1.08rem;
}


.sub-sub-title:before {
 content: '';
 display: block;
 background: #000;
 height: 85%;
 width: 4px;
 position: absolute;
 bottom: 1.5px;
 left: -13px;
}
figure img {
	max-width: 120px;
}
.star.caption {
	margin-top: 30px;
}
.cocoro_dl {
	margin-top: 40px;
	font-size:100%;
}

#sub01 {
   margin-top:-100px;
  padding-top:100px;
}

#sub02, #sub03, #sub04, #sub05, #sub06, #sub07, #sub08, #sub09, #sub10, #sub11, #sub12, #sub13, #sub14, #sub15 {
   margin-top:-30px;
  padding-top:30px;
}

.container_block {
 display: block;
}
.container_block .contents_l {
 width: 100%;
}
.container_block .contents_r {
 width: 100%;
 margin-left: 0%;
margin-top: 1rem;
}
 .container_block .contents_l2 {
 width: 100%;
}
.container_block .contents_r2 {
 width: 100%;
 margin-left: 0%;
margin-top: 1rem;
 text-align: center;
 margin-left: auto;
 margin-right: auto;
 justify-content: center;
}
 .contents_r2 img {
 max-width: 450px;
}
 .container_block .contents_l3 {
 width: 100%;
}
.container_block .contents_r3 {
 width: 100%;
 margin-left: 0%;
margin-top: 1rem;
}
 .container_block .contents_l4 {
 width: 100%;
}
.container_block .contents_r4 {
 width: 100%;
 margin-left: 0%;
margin-top: 1rem;
}
 .container_block .contents_l5 {
 width: 100%;
}
.container_block .contents_r5 {
 width: 100%;
 margin-left: 0%;
margin-top: 1rem;
}

 .container_block .contents_l6 {
 width: 100%;
}
.container_block .contents_r6 {
 width: 100%;
 margin-left: 0%;
margin-top: 1rem;
}
 .container_block .contents_l7 {
 width: 100%;
}
.container_block .contents_r7 {
 width: 100%;
 margin-left: 0%;
margin-top: 1rem;
}
.container_block .contents_l8 {
 width: 100%;
}
.container_block .contents_r8 {
 width: 100%;
 margin-left: 0%;
margin-top: 1rem;
}

/* ==================================== */

.container_block .contents_l_10_90, .container_block .contents_l_20_80, .container_block .contents_l_30_70, .container_block .contents_l_35_65, .container_block .contents_l_40_60, .container_block .contents_l_45_55, .container_block .contents_l_50_50, .container_block .contents_l_60_40, .container_block .contents_l_70_30, .container_block .contents_l_80_20, .container_block .contents_l_90_10 {
 width: 100%;
}
.container_block .contents_r_10_90, .container_block .contents_r_20_80, .container_block .contents_r_30_70, .container_block .contents_r_35_65, .container_block .contents_r_40_60, .container_block .contents_r_45_55, .container_block .contents_r_50_50, .container_block .contents_r_60_40, .container_block .contents_r_70_30, .container_block .contents_r_80_20, .container_block .contents_r_90_10 {
 width: 100%;
 margin-left: 0%;
 margin-top: 20px;
}

/* ==================================== */

}


 .col_4_block {
 padding-left: 0%;
 padding-right: 0%;
}
 .col_4_op {
 display: block;
}
 .col_4_op .left {
 width: 86%;
 text-align: center;
 margin-left: auto;
 margin-right: auto;
 padding-left: 8%;
 padding-right: 8%;
 justify-content: center;
}
 .col_4_op .right {
 width: 100%;
 text-align: center;
 margin-left: auto;
 margin-right: auto;
 padding-left: 0%;
 padding-right: 0%;
 justify-content: center;
}
 .spimg-38 {
 width: 38%;
}
}


.undertext {
	width: 100%;
}
.undertext p.medalist {
    text-align: right;
    margin-left: auto ;
    margin-right: 0;
    justify-content: right;
	margin-top: 25px;
	max-width:200px;
}
 @media only screen and (max-width: 767px) {
.undertext p.medalist {
	margin-top: 0px;
	max-width:170px;
}
}

.pc-500 {
display: block;
}
.sp-500 {
display: none;
}

 @media only screen and (max-width: 500px) {
.img {
 margin-top:30px;
}
.pc-500 {
display: none;
}
.sp-500 {
display: block;
}
}

.pc-700 {
display: block;
}
.sp-700 {
display: none;
}

@media only screen and (max-width: 700px) {
.pc-700 {
display: none;
}
.sp-700 {
display: block;
}
}
