@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&display=swap');

/* ===============================================
   Reset
=============================================== */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, b, cite, code, del, dfn,
em, img, ins, kbd, q, samp, strong, sub, sup, tt, var,
ul, ol, li, dl, dt, dd, form, fieldset, legend, label, input, textarea,
table, caption, tbody, tfoot, thead, tr, th, td,
header, footer, nav, small, section, #wrapper,
*:after, *:before { margin: 0; padding: 0; box-sizing: border-box; position: relative; z-index: 1; outline-offset: 0;}

* { min-height: 0%;}

header, footer, nav, small, section { display: block; }

ul { list-style: none; }

img { border: 0; height: auto; vertical-align: bottom; max-width: 100%; -webkit-backface-visibility: hidden;backface-visibility: hidden; }


/* ===============================================
   Common
=============================================== */
html, body {
    width: 100%;
    overflow: hidden;
	margin: 0;
	padding: 0;
}

html { font-size: 62.5%; }

body {
	position: relative;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
	font-weight: 500;
	font-size: 1.6em;
	background-color: transparent;
	color: #111111;
	font-feature-settings: "palt";
	letter-spacing: .8px;
	-webkit-text-size-adjust: 100%;
}

a { color: #002C69; display: inline-block; max-width: 100%; text-decoration: none;}
a img { transition: .4s;}
a:hover { text-decoration: underline; }
a:hover img { opacity: 0.6; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; }
nav a:hover img { opacity: 1; }

table { border-collapse: collapse; }
table th, table td { vertical-align: top; text-align: left; font-weight: normal; }

b { font-weight: bold; }

.clearfix:before, .clearfix:after { content:""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom:1; }

.pc { display: block; }
.sp { display: none; }

@media screen and (max-width:900px){
	.pc { display: none; }
	.sp { display: table; }
}






/* ===============================================
   news
=============================================== */
.scroll_text {
	width : 100%;
	overflow : hidden;
}
.scroll_text p {
	color: #000;
	font-size : 15px;
	font-weight: bold;
	text-align : center;
	margin:0;
	display : inline-block;
	padding: 10px 0 10px 100%;
	white-space : nowrap;
	line-height : 1em;
	animation : scrolltext 30s linear infinite;
}
@keyframes scrolltext {
	0% { transform: translateX(0)}
	100% { transform: translateX(-100%)}
}

@media screen and (max-width:900px){
	.scroll_text p {
		color: #000;
		padding: 5px 0 0;
		font-weight: normal;
		vertical-align: super;
	}
}






/* ===============================================
   modal
=============================================== */
#modal {
	width: 1800px;
	height: 1020px;
    max-width: 100%;
    max-height: 100vh;
	display: block;
}

/*-------------------------------------------*/
#octagon {
	width: 100%;
	height: 100%;
	max-height: 56.6vw;
	display: block;
}
.octagon_line {
	width: 100%;
	height: 100%;
	position: relative;
	display: block;
	padding: 1vw;
}
.octagon_line::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	display: block;
	background: url("../images/modal_line.png") no-repeat center center;
	background-size: 100% 100%;
	z-index: 999;
}
.octagon_inner {
	width: 100%;
	height: 100%;
	padding: 11px 0;
	background: #e6e6e6;
}
/*-----------------------------------------------*/
#modal_box {
	width: 100%;
	height: 100%;
	background: url("../images/modal_bg.png") no-repeat center center;
	background-size: 100% 100%;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	align-items: center;
}
.modal_box_bg {
	width: 97.6%;
	height: 95.6%;
	position: relative;
	display: block;
}
.modal_box_inner {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
}
.modal_box_sl {
	width: 50%;
	padding: 18px;
	background:
		linear-gradient(45deg,  transparent 2%, #e6e6e6 2%),
		linear-gradient(135deg, transparent 2%, #e6e6e6 2%);
	background-position: bottom left, top left;
	background-size: 100% 51%;
	background-repeat: no-repeat;
}
.modal_box_tx {
	width: 50%;
	background:
		linear-gradient(315deg, transparent 2%, #fff 2%),
		linear-gradient(225deg, transparent 2%, #fff 2%);
	background-position: bottom right, top right;
	background-size: 100% 51%;
	background-repeat: no-repeat;
}


@media screen and (max-width:900px){
	#modal {
		width: 1000px;
		height: auto;
	}
	#modal_box {
		width: 220vh;
    max-width: 100vw;
		height: 100vh;
		background: url("../images/modal_bg_sp.png") no-repeat center center;
		background-size: 100% 100%;
    margin: 0 auto;
	}

	.modal_box_bg {
		width: 97%;
		height: 94%;
	}

	.modal_box_sl {
		padding: 1.8%;
		background:
			linear-gradient(45deg,  transparent 1.5%, #e6e6e6 1.5%),
			linear-gradient(135deg, transparent 1.5%, #e6e6e6 1.5%);
		background-position: bottom left, top left;
		background-size: 100% 51%;
		background-repeat: no-repeat;
	}
	.modal_box_tx {
		background:
			linear-gradient(315deg, transparent 1.5%, #fff 1.5%),
			linear-gradient(225deg, transparent 1.5%, #fff 1.5%);
		background-position: bottom right, top right;
		background-size: 100% 51%;
		background-repeat: no-repeat;
	}
}


/* ===============================================
   modal txt
=============================================== */
.modal_box_tx {
	padding: 20px 0 0 30px;
	position: relative;
	z-index: 99;
}
.modal_box_tx:after,
.modal_box_tx:before {
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    right: 0;
	z-index: 999;
}
.modal_box_tx:after {
    border-bottom: 15px solid #e1cb46;
    border-left: 15px solid transparent;
	bottom: -3px;
}
.modal_box_tx:before {
    border-bottom: 15px solid #dcdcdc;
    border-left: 15px solid transparent;
	bottom: 0;
}

.box_ttl {
	position: relative;
}
.box_date {
	position: relative;
}
.box_scroll {
	position: relative;
    width: 100%;
    overflow-y: auto;
}
.box_scroll::-webkit-scrollbar {
	width: 20px;
}
.box_scroll::-webkit-scrollbar-track {
	background-color: #f5f5f5;
	border-top: 1px solid #dcdcdc;
	border-left: 2px solid #dcdcdc;
	border-right: 2px solid #dcdcdc;
	border-bottom: 2px solid #dcdcdc;
}
.box_scroll::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background: #002c69;
	border: 2px solid #dcdcdc;
}

.scroll_txt_box {
	width: 100%;
	height: 100%;
	border-top: 1px solid #dcdcdc;
	position: relative;
}

.scroll_txt_box p {
	font-size: 20px;
	line-height: 1.5em;
	padding: 17px 20px 30px 0;
}

.modal_ttl {
	font-size: 37px;
	font-weight: 900;
	line-height: 1.2em;
	letter-spacing: 0.12em;
	border-bottom: 3px solid #e6e6e6;
	padding-bottom: 3px;
}
.modal_ttl .kana {
	font-size: 17px;
	font-weight: normal;
	line-height: 1.8em;
	letter-spacing: 0.08em;
	display: block;
}

.en_modal .modal_ttl {
    font-size: 36px;
    line-height: 1.1em;
    letter-spacing: 0.05em;
    padding-bottom: 0.4em;
}

.detail {
	margin-right: 25px;
}
.detail li {
	border-bottom: 1px solid #e6e6e6;
}
.detail li:last-child {
	border-bottom: 0;
}
.detail dl {
	padding: 10px 0;
	display: -webkit-box;
	display: flex;
}
.detail dl dt {
	width: 30%;
	font-size: 17px;
	position: relative;
	display: -webkit-box;
    display: flex;
	padding-right: 0.5em;
}
.detail dl dt::after {
	position: absolute;
	content: "：";
	right: 0;
}
.detail dl dd {
	width: 72%;
	padding: 0 10px;
	font-size: 20px;
	line-height: 1.2em;
}
.detail dl dd a {
	color: #2c3f9f;
}

.en_modal .detail dl dt {
	font-size: 16px;
	line-height: 1.1em;
}

.c_blue {
	color: #2c3f9f;
}
@media screen and (max-width:900px){
	.modal_box_tx {
		padding: 1.8% 0 0 2.5%;
	}

	.modal_ttl, .en_modal .modal_ttl {
		font-size: 2.6vw;
	}
	.modal_ttl .kana {
		font-size: 1vw;
	}

	.detail {
		margin-right: 2.5%;
	}
	.detail dl {
		padding: 1.5% 0;
	}
	.detail dl dt, .en_modal .detail dl dt {
		width: 35%;
		font-size: 1.2vw;
	}
	.detail dl dd {
		width: 70%;
		padding: 0 1%;
		font-size: 1.5vw;
	}

	.scroll_txt_box p {
		font-size: 1.6vw;
		line-height: 1.5em;
		padding: 2.7% 2% 3% 0;
	}
	.scroll_txt_box::-webkit-scrollbar {
		width: 2vw;
	}
	.modal_box_tx:after {
		border-bottom: 1vw solid #e1cb46;
		border-left: 1vw solid transparent;
		bottom: -2px;
	}
	.modal_box_tx:before {
		border-bottom: 1vw solid #dcdcdc;
		border-left: 1vw solid transparent;
		bottom: 1px;
	}
}



/* ===============================================
   slide
=============================================== */
.slid_cont{
	width: 100%;
	height: 91%;
	padding: 17px 12px;
	background: #fff;
	border: 2px solid #f2f2f2;
}

@media screen and (max-width:900px){
	.slid_cont {
		padding: 2.5% 1%;
	}
	/*.swiper-wrapper {
		max-height: 69vh;
	}*/
	.swiper-slide {
		height: auto;
		text-align: center;
	}
	.swiper-slide span,
	.swiper-slide img {
		max-height: 100%;
	}

	.swiper-button-prev, .swiper-button-next {
		width: 2.6vw;
		height: 2.6vw;
	}
	.swiper-button-prev::before,
	.swiper-button-next::before {
		width: 2.5vw;
		height: 2.5vw;
	}
	.slide_pagination {
		margin-top: 2.5%;
	}
	.swiper-pagination {
		margin: 0 2%;
	}
	.swiper-pagination-clickable .swiper-pagination-bullet {
		cursor: pointer;
		margin: 0 0.8vw;
		position: relative;
	}
	.swiper-pagination-bullet {
		width: 1.5vw;
		height: 1.5vw;
	}
	.swiper-pagination-bullet-active::before {
		width: 1vw;
		height: 1vw;
	}

}



/* ===============================================
   content
=============================================== */
#content_list {
    max-width: 100%;
    max-height: 100%;
	display: block;
}
#list_box {
	width: 1177px;
	height: 700px;
    max-width: 100%;
    max-height: 86vh;
	background: url("../images/content_bg.png") no-repeat center center;
	background-size: 100% 100%;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	align-items: center;
	margin: 50px auto;
	position: relative;
	z-index: 9;
}
#list_box .list_box_ttl {
	position: absolute;
	top: -49px;
	z-index: 10;
	margin: 0 auto;
}
.list_box_bg {
	width: 97.6%;
	height: 96%;
	position: relative;
	display: block;
}
.list_box_inner {
	width: 100%;
	height: 100%;
	border: 1px solid #818282;
	background-color: #fff;
	box-shadow: 0px -10px 25px -5px #ccc inset;
	position: relative;
	display: -webkit-box;
	display: flex;
  	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
	flex-direction: column;
}

.kado_1,
.kado_1:before,
.kado_3,
.kado_3:before {
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    left: -1px;
	z-index: 999;
	display: inline-block;
}
.kado_1 {
    border-top: 15px solid #818282;
    border-right: 15px solid transparent;
	top: 0;
}
.kado_1:before {
    border-top: 15px solid #e1cb46;
    border-right: 15px solid transparent;
	bottom: 1px;
}
.kado_3 {
    border-bottom: 15px solid #818282;
    border-right: 15px solid transparent;
	bottom: 0;
}
.kado_3:before {
    border-bottom: 15px solid #e1cb46;
    border-right: 15px solid transparent;
	top: 1px;
}
.kado_2,
.kado_2:before,
.kado_4,
.kado_4:before {
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    right: -1px;
	z-index: 999;
	display: inline-block;
}
.kado_2 {
    border-top: 15px solid #818282;
    border-left: 15px solid transparent;
	top: 0;
}
.kado_2:before {
    border-top: 15px solid #e1cb46;
    border-left: 15px solid transparent;
	bottom: 1px;
}
.kado_4 {
    border-bottom: 15px solid #818282;
    border-left: 15px solid transparent;
	bottom: 0;
}
.kado_4:before {
    border-bottom: 15px solid #e1cb46;
    border-left: 15px solid transparent;
	top: 1px;
}

.list_head {
	width: 100%;
	height: 70px;
	background-color: #e6e6e6;
	padding: 0 18px;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	align-items: center;
}

.kaisetu_nav,
.search_btn {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	align-items: center;
}
.kaisetu_nav a.btn_img {
	margin-right: 9px;
}
.btn_img {
	display: block;
	position: relative;
}
.btn_img span {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
	transition: .4s;
}
a.btn_img:hover img {
	opacity: 1;
}
.btn_img:hover span {
	opacity: 0;
}
.kaisetu {
	width: 190px;
}
.archive {
	width: 167px;
}

@media screen and (max-width:900px){
	#content_list {
		width: 1000px;
		height: auto;
	}
	#list_box {
		width: 100vw;
	    height: 38vw;
		max-height: 78vh;
		background: url("../images/content_bg_sp.png") no-repeat center center;
		background-size: 100% 100%;
		margin: 4.5% auto;
	}

	.list_box_bg {
		width: 97.4%;
		height: 94%;
	}

	#list_box .list_box_ttl {
		width: 33%;
		position: absolute;
		top: -11%;
		z-index: 10;
		margin: 0 auto;
	}

	.kado_1 {
		border-top: 1vw solid #818282;
		border-right: 1vw solid transparent;
		top: 0;
	}
	.kado_1:before {
		border-top: 1vw solid #e1cb46;
		border-right: 1vw solid transparent;
		bottom: 1px;
	}
	.kado_3 {
		border-bottom: 1vw solid #818282;
		border-right: 1vw solid transparent;
		bottom: 0;
	}
	.kado_3:before {
		border-bottom: 1vw solid #e1cb46;
		border-right: 1vw solid transparent;
		top: 1px;
	}
	.kado_2,
	.kado_2:before,
	.kado_4,
	.kado_4:before {
		right: -1px;
	}
	.kado_2 {
		border-top: 1vw solid #818282;
		border-left: 1vw solid transparent;
		top: 0;
	}
	.kado_2:before {
		border-top: 1vw solid #e1cb46;
		border-left: 1vw solid transparent;
		bottom: 1px;
	}
	.kado_4 {
		border-bottom: 1vw solid #818282;
		border-left: 1vw solid transparent;
		bottom: 0;
	}
	.kado_4:before {
		border-bottom: 1vw solid #e1cb46;
		border-left: 1vw solid transparent;
		top: 1px;
	}

	.list_head {
		height: 5vw;
		padding: 0 1.1vw;
	}
	.kaisetu {
		width: 15vw;
	}
	.archive {
		width: 15vw;
	}
}

/*------- search form -------*/
#form_s {
    position: relative;
    width: 228px;
	height: 38px;
	margin-right: 13px;
}
#form_sbox{
	width: 190px;
	height: 38px;
	line-height: 37px;
	padding: 0 1em;
	position: absolute;
	left: 0;
	top: 0;
	outline: 0;
	background: #fff;
	border: 1px solid #BDBDBD;
	font-size: 17px;
	color: #000;
	border-radius: 6px 0 0 6px;
}
#form_sbtn {
    width: 38px;
    height: 38px;
    position: absolute;
	left: 189px;
    top: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
	padding: 0;
}
#form_sbtn img {
	vertical-align: middle;
}
#form_sbox ::placeholder {
	color: #6b6b6b;
	font-weight: bold;
}

@media screen and (max-width:900px){
	#form_sbox {
		width: 15vw;
		height: 3.5vw;
		font-size: 1.5vw;
		border-radius: 4px 0 0 4px;
	}
	#form_sbtn {
		width: 3.5vw;
		height: 3.5vw;
		left: 15vw;
	}
	#form_s {
		width: 17vw;
		height: 3.5vw;
		margin-right: 3vw;
	}
}

/*------- scroll content -------*/
.list_cont {
	width: 100%;
	overflow-y: scroll;
	flex: 1;
}
.list_cont::-webkit-scrollbar {
	width: 20px;
}
.list_cont::-webkit-scrollbar-track {
	background-color: #f5f5f5;
	border-top: 1px solid #dcdcdc;
	border-left: 2px solid #dcdcdc;
	border-right: 2px solid #dcdcdc;
	border-bottom: 2px solid #dcdcdc;
}
.list_cont::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background: #002c69;
	border: 2px solid #dcdcdc;
}

.list_cont_inner {
	width: 96%;
	margin: 20px auto;
}

.list_cont h4 {
	width: 100%;
	text-align: center;
	position: relative;
	margin-bottom: 15px;
}
.list_cont h4::before {
	position: absolute;
	content: "";
	width: 37%;
	height: 3px;
	background-color: #e6e6e6;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	display: inline-block;
}
.list_cont h4::after {
	position: absolute;
	content: "";
	width: 37%;
	height: 3px;
	background-color: #e6e6e6;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	display: inline-block;
}

.en_list_box .list_cont h4::before, .en_list_box .list_cont h4::after {
    width: 33%;
}

.list_area {
	margin-bottom: 25px;
}
.list_area:last-of-type {
	margin-bottom: 0;
}
.list_area .cont_list {
	display: -webkit-box;
	display: flex;
}
.list_area .cont_list .list_col {
	width: 33.33333%;
	width: -webkit-calc(100% / 3);
	width: calc(100% / 3);
	border-left: 1px solid #f0f0f0;
	padding: 0 15px;
}

.list_col dl {
	padding: 20px 0;
	border-bottom: 1px solid #e6e2e0;
}
.list_col dl:first-child {
	padding-top: 0;
}
.list_col dl:last-child {
	border-bottom: 0;
}
.list_col dt,
.list_col dd {
	position: relative;
	margin-left: 1.2em;
}
.list_col dt {
	font-size: 18px;
	font-weight: 900;
	margin-bottom: 8px;
}
.list_col dd {
	font-size: 16px;
	line-height: 1.4em;
	margin-bottom: 8px;
}
.list_col dd span {
	font-size: 14px;
	color: #000;
	display: block;
}
.list_col dt::before,
.list_col dd::before {
	content: "";
	width: 1em;
	height: 1.5em;
	position: absolute;
	top: 0;
	left: -1.2em;
	display: inline-block;
	margin: auto;
}
.list_col dt::before {
	background: url("../images/ico_list_cont.png") no-repeat center center;
}
.list_col dd::before {
	background: url("../images/arrow_red.gif") no-repeat center center;
}

@media screen and (max-width:900px){
	.list_cont::-webkit-scrollbar {
		width: 2vw;
	}

	.list_cont h4 {
		margin-bottom: 1.5vw;
	}
	.list_cont h4 img {
		height: 5vw;
	}

	.list_cont_inner {
		width: 97%;
		margin: 1.5vw auto;
	}

	.list_area {
		margin-bottom: 2vw;
	}
	.list_area .cont_list .list_col {
		padding: 0 1.5vw;
	}

	.list_col dl {
		padding: 2vw 0;
	}
	.list_col dt, .list_col dd {
		margin-left: 1.4em;
	}
	.list_col dt::before, .list_col dd::before {
		width: 1.5em;
		left: -1.6em;
	}
	.list_col dt {
		font-size: 2vw;
		margin-bottom: 0.4em;
	}
	.list_col dd {
		font-size: 1.7vw;
		margin-bottom: 0.4em;
	}
	.list_col dd span {
		font-size: 1.4vw;
	}
}



/* ===============================================
   content search results
=============================================== */
.list_cont_inner {
    display: none;
}
.list_cont_inner.active {
    display: block;
}
.list_area .cont_list_search {
	width: 100%;
	border-left: 1px solid #f0f0f0;
	padding: 0 15px;
}
.cont_list_search ul {
	padding: 20px 0;
	display: -webkit-box;
	display: flex;
  	flex-wrap: wrap;
}
.cont_list_search li {
	position: relative;
	margin: 0 2em 8px 1.2em;
	font-size: 16px;
	line-height: 1.4em;
}
.cont_list_search li span {
	font-size: 14px;
	color: #000;
	display: block;
}
.cont_list_search li::before {
	content: "";
	width: 1em;
	height: 1.5em;
	position: absolute;
	top: 0;
	left: -1.2em;
	display: inline-block;
	margin: auto;
}
.cont_list_search li::before {
	background: url("../images/arrow_red.gif") no-repeat center center;
}
.invisible {
    display: none;
}

#result_ttl {
    display: none;
    text-align: center;
    font-size: 24px;
    margin-bottom: 1em;
}
#result_noarticle {
    display: none;
    text-align: center;
    font-size: 18px;
}
#result_return {
    display: none;
    text-align: center;
    font-size: 17px;
    line-height: 1.4em;
    margin: 2em auto;
}
#result_return a {
    display: inline-block;
    position: relative;
}
#result_return a::before {
    background: url(../images/arrow_red.gif) no-repeat center center;
    content: "";
    width: 1em;
    height: 1.5em;
    position: absolute;
    top: 0;
    left: -1.2em;
    display: inline-block;
    margin: auto;
    transform:rotate(180deg); 
}


@media screen and (max-width:900px){
	.cont_list_search ul {
		padding: 2vw 0;
	}
	.cont_list_search li {
		margin-left: 1.4em;
	}
	.cont_list_search li::before {
		width: 1.5em;
		left: -1.6em;
	}
	.cont_list_search li {
		font-size: 1.7vw;
		margin-bottom: 0.4em;
	}
	.cont_list_search li span {
		font-size: 1.4vw;
	}
    #result_ttl {
        font-size: 2.5vw;
    }
    #result_noarticle {
        font-size: 1.8vw;
    }
    #result_return {
        font-size: 1.7vw;
    }
}




/* ===============================================
   stamp
=============================================== */
#stamp {
    max-width: 100%;
    max-height: 100%;
	display: none;
}

#stamp_box {
	width: 1290px;
    max-width: 128vh;
    margin: 0 auto;
	position: relative;
	z-index: 10000;
}



#stamp_box_bg {
    position: relative;
}
#stamp_box_bg img {
	width: 1290px;
	height: 916px;
    max-width: 128vh;
    max-height: 90.88vh;
}
.stamp_box_inner {
	max-width: 90%;
    position: absolute;
    top: 38%;
    left: 0;
    right: 0;
    margin: auto;
}
.stamp_box_txt {
	max-width: 90%;
	text-align: center;
	margin: 0 auto;
	padding-bottom: 2.3vh;
}
.stamp_area {
	padding: 4vh 0 0;
	position: relative;
}
.stamp_red {
	max-width: 22%;
	position: absolute;
	display: inline-block;
	opacity: 0;
	transform: scale(1.2);
}
.stamp_red.active {
	transition: all 0.1s ease-out;
	opacity: 1;
	transform: scale(1.0);
}
.stamp01 { top: 4.5%; left: 2.5%;}
.stamp02 { top: 2%; left: 28%;}
.stamp03 { top: 2%; right: 23.5%;}
.stamp04 { top: 5%; right: -2%;}
.stamp05 { bottom: -2.3%; left: 14%;}
.stamp06 { bottom: -5.3%; left: 40.5%;}
.stamp07 { bottom: 0%; right: 13.5%;}




/* ===============================================
   content comp
=============================================== */
#stamp_comp {
    max-width: 100%;
    max-height: 100%;
}
#stamp_comp_box {
	width: 1290px;
    max-width: 128vh;
    margin: 0 auto;
	position: relative;
	z-index: 10000;
}

.comp_box_inner {
    position: absolute;
    top: 14%;
    left: 0;
    right: 0;
    width: 38%;
    min-width: 470px;
    max-height: 80vh;
	background: url("../images/stamp_comp_bg.png") no-repeat top center;
	background-size: 100% 100%;
	margin: 0 auto;
    padding: 0 0 3vh;
}
.comp_box_ttl {
	width: 100%;
    max-width: 60vh;
	margin: 0 auto;
}
.comp_box_summary {
	width: 470px;
	max-width: 83%;
	margin: 0 auto;
	border-top: 1px solid #000;
	padding: 15px 0 0;
}
.comp_box_txt {
	font-size: 19px;
	line-height: 1.5em;
	margin-bottom: 4vh;
}
.comp_box_note {
	font-size: 17px;
	letter-spacing: 0.01em;
}
.btn_cert a {
	width: 100%;
    height: 100px;
    max-height: 9vh;
    font-size: 25px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	background-color: #238e79;
	border-radius: 15px;
	transition: .4s;
    margin: 3vh auto 2vh;
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	align-items: center;
}
.btn_cert a:hover {
	text-decoration: none;
	background-color: #31bca1;
}
.comp_box_close a {
	font-size: 17px;
	width: 100%;
	text-align: center;
	text-decoration: underline;
}
.comp_box_close a:hover {
	text-decoration: none;
}
.cert {
	display: none;
	width: 100%;
	padding: 5% 8% 1.5%;
}

.en_stamp .comp_box_txt {
	font-size: 17px;
	line-height: 1.2em;
}
.en_stamp .comp_box_note {
	font-size: 15px;
}
.en_stamp .comp_box_close a {
	font-size: 15px;
}

@media screen and (max-width:900px){
    .comp_box_inner {
        min-width: 350px;
        max-height: 85vh;
        padding: 0px 0 5vh;
    }
	.comp_box_ttl {
		margin: 0 auto;
	}
	.comp_box_summary {
		width: 100%;
		max-width: 85%;
		padding: 1vh 0 0;
	}
	.comp_box_txt, .en_stamp .comp_box_txt {
		font-size: 1.6vw;
		margin-bottom: 1vh;
	}
	.comp_box_note, .en_stamp .comp_box_note {
		font-size: 1.5vw;
		margin-bottom: 1em;
	}
	.btn_cert a {
		height: 50px;
        max-height: 11vh;
		font-size: 2vw;
		margin: 1vh auto 0.5vh;
        border-radius: 2vh;
	}
	.comp_box_close a, .en_stamp .comp_box_close a {
		font-size: 1.5vw;
	}
	.cert {
		padding: 4% 10% 1.5%;
		max-width: 71vh;
		margin: 0 auto;
		text-align: center;
	}
	.cert img {
		max-height: 100%;
	}
}
