@charset "utf-8";
/* CSS Document */

:root {
	font-size:16px;

/*	--color-headline-text	:#8d8d8d;*/

	--color-headline-text	:#087762;
	--color-headline-bg		:#fff;

	--color-headline-alt-text	:#fff;
	--color-headline-alt-bg		:#087762;

	--color-table-border	:#999;

	--color-header-text		:#00BC6E;
	--color-header-bg		:#d0e3aa;
	--color-footer-bg		:#e0f5b8;

	--color-main-bg			:#fff;

	--color-link-text	:#087762;
	--color-link-hover	:#00BC6E;

	--color-input-text-sample	:#999;

	--color-attention		:#c00;

	--color-ui-bg			:#00BC6E; /* 01b1ae */
	--color-ui-shadow		:transparent;

	--color-ui-mono-bg		:#6f6f6f; /* a5a5a5  */
	--color-ui-mono-shadow	:transparent;

	--color-ui-payment-bg		:#f9a500;
	--color-ui-payment-shadow	:transparent;

	--color-ui-text			:#fff;
}




* {
	margin:0;
	padding:0;
}

/* 基本 */
body{
	background-color: #fff;
	color:#555;
/*
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体","Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", sans-serif;
*/
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;

	-webkit-text-size-adjust: 100%;
}

html {overflow-y:scroll;}

p,li,dt,dl {
	line-height:1.5;
}

p + p,
p + ul,
ul + p,
li + li {
	margin-top: 1em;
}

nav li + li {
	margin-top: 0;
}

hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

img {border:0;}

strong {color:#c00;}

em {
	font-style: normal;
	font-weight:bold;
}

a,
.navbar-light .navbar-nav .nav-link
{
	color:var(--color-link-text);
	font-weight: bold;
	text-decoration:none;}

a:hover,
.navbar-light .navbar-nav .nav-link:hover
{
	color:var(--color-link-hover);
}

a:hover img{
	opacity: 0.7;
}

ul, ol {
	list-style-position: inside;
}

#main ul li,
#main ol li {
	padding-left: 1.25em;
	text-indent: -1.33em;
}
/*
#main ul.attention li {
	padding-right: 0.75em;
	margin-left: -0.375em;
}
*/
ul.attention li,
ol.list_float_contents li {
	list-style: none;
}

p.attention:before {
	content:"※";
	color:#c00;
}

ul.attention li:before,
span.attention:before {
	content:"※";
	color:#c00;

	padding-right:0.75em;
	margin-left:-0.375em;
}


table, tr, th, td {
	border:1px solid var(--color-table-border);
}

table {
	border-collapse: collapse;
	margin: 1rem auto;
}

summary {
	text-align: center;
}

th, td {
	padding: 0.25em 0.5em;
}

th {
	font-weight: normal;
}

td {
	font-weight: bold;
}

summary, th {
	color: var(--color-headline-text);
}

.clear {
	display: block;
	clear:both;
	height: 0;
	line-height: 0;
}

.red{
	color:var(--color-attention);
	font-weight:bold;
}

#mod_history {
    display: grid;
    grid-template-columns: 6em auto;
}

#mod_history dt,
#mod_history dd {
    border-bottom: 1px dotted #ccc;
    padding-bottom:0.25em;
    margin-bottom:0.25em;
}


/* layout */

#container{
	position: relative;
	min-height: 100%;
	width: 100%;
	margin: 0 auto;}

#wrapper {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

header, #header {
	text-align:center;
	min-height: 4rem;
	padding:1rem 0;

	color: var(--color-headline-text);

	background-color: var(--color-headline-bg);
}

section {
	padding: 1rem;
	margin: 3rem auto;

	border:0.0625rem solid var(--color-headline-bg);
	border-radius: 0.33rem;

	background-color: #fff;
}

footer {
    padding:1em;
    background-color: var(--color-footer-bg);
}

footer ul {
    margin-top:1rem;
}

.notice_text {
	display: inline-block;
	padding: 0.5em 1em;
	border-radius: 0.33em;
	border: 0.125em solid var(--color-headline-bg);
	font-weight: bold;
	background-color: #ffc;
}


/* 見出し */

h1 {font-size:1.5rem;}
h2 {font-size:1.33rem;}
h3 {font-size:1.13rem;}
h4 {font-size:1rem;}
h5 {font-size:0.875rem;}
h6 {font-size:0.774rem;}

h2,h3,h4,h5,h6 {
	margin-top: 2em;
	margin-bottom: 1em;

	color: var(--color-headline-text);
}

h2 {
	padding: 1em 0;
	margin-top:0;
	margin-bottom: 1rem;
	text-align: center;

    background-color: var(--color-headline-alt-bg);
    color:var(--color-headline-alt-text);
}

h2 + h3 {
	margin-top: 0;
}

h3 {
	border-top:0.0625em solid var(--color-headline-bg);
	padding-top: 0.5em;
}

section h3:first-child {
	border-top:none;
}




.text-center {
	text-align: center;
}

.buttons {
	text-align: center;
}


ol.list_float_contents li {
	display:inline-block;
	margin-right: 1rem;
}



#img_header_1 {
	position: relative;
}

#main_header_sub {
	display: block;
    position: absolute;
    top: 660px;
    left: 0;
    z-index: 1;
}

#main_header_attention {
    display: block;
    z-index: 2;
    position: absolute;
    top: 980px;
    left: 280px;
    font-size: 1.13rem;
}

#main_header_attention li::before {
    content: '';
    display: inline-block;
    width: 1.13rem;
    height: 1.13rem;
    vertical-align: middle;
    background: url(../img/listmark.png);
    background-size: 1.13rem 1.13rem;
/*    margin-left: 5px;*/
	margin-right: 0.25em;
}

#notice_send_after {
	margin-top: 1em;
	list-style: none;
	list-style-position: inside;
}

#notice_send_after li::before {
	content:"●";
	color:#999;
	display:inline-block;
	margin-right: 0.25em;;
}



.box_section {
	background-image: url(../img/box_bg.png);
	background-repeat: repeat;
	padding: 1em;
}

.box_section img {
	display: block;
	margin: 0 auto;
}

.box_section ol {
	list-style-position:inside;
}



.text_center {
	text-align: center;
}

.before_button em {
	font-size: 1.33em;
}




.box_section {
	border: 0.0625rem solid #efb9c9;

	box-shadow: 0.5rem 0.5rem 0 #f2b4c1;

	margin-top: 2rem;	
	margin-bottom: 1rem;
}

.box_section h2 {
	color: #ad3c8e;
}

.section_header {
	border-bottom: #efb9c9 0.125em solid;
	padding-bottom: 0.75em;
	margin-bottom: 0.75em;
}

#section_invite {
	position: relative;

	min-height:380px;
	padding-right:260px;
	/*
	background-image: url(../img/illust_box_overlay.png);
	background-position: right top;
	*/
}

#section_invite .section_header {
	min-height:120px;
	padding-left:160px;

	background-image: url(../img/icon_invite.png);
	background-position: left top;
}

#invite_img_overlay {
	position: absolute;
	right:0;
	top:0;
}

.list_float_contents {
	display: none;
}

._hidden {
	height: 1px;
	overflow-y: hidden;
	opacity: 0.01;
}

.buttons {
    width: 100%;
    text-align: center;
}

.buttons a {
    position: relative;
    display: inline-block;
    color:#fff;

/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#81decb+0,0a927a+100 */
background: rgb(129,222,203); /* Old browsers */
background: -moz-linear-gradient(bottom,  rgba(129,222,203,1) 0%, rgba(10,146,122,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(bottom,  rgba(129,222,203,1) 0%,rgba(10,146,122,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to top,  rgba(129,222,203,1) 0%,rgba(10,146,122,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0a927a', endColorstr='#81decb',GradientType=0 ); /* IE6-9 */

    border: 0.125rem solid #0c6458;
    border-radius: 1rem;
    font-size: 2rem;
    padding: 0.5em 1em;

    text-shadow:
    0 -.0625rem 0 #0c6458,
    -.0625rem 0 0 #0c6458,
    0 .0625rem 0 #0c6458,
    .0625rem 0 0 #0c6458,

    0 0 .0625rem #0c6458,
    0 0 .0625rem #0c6458,
    0 0 .0625rem #0c6458,

    0 .0625rem .33rem #0c6458,
    0 .125rem .33rem #0c6458,
    0 .1875rem .33rem #0c6458
    ;

    box-shadow: 0.25rem 0.25rem 1rem rgba(0,0,0,0.25);
}

.buttons a:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0px;
    left: 0;
    width: calc(100% - 1rem);
    height: 16%;
    margin: 0 0.5rem;
    border-radius: 1rem;
    background: rgba(255,255,255,0.33);
    background: -moz-linear-gradient(top, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.25) 100%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.25) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.25) 100%);
}

.buttons.payment a {

	color:#fff;

	background: #ffd294; /* Old browsers */
	background: -moz-linear-gradient(bottom,  #ffd294 0%, #f79811 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(bottom,  #ffd294 0%,#f79811 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to top,  #ffd294 0%,#f79811 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

	
		border: 0.125rem solid #d6881a;
		border-radius: 1rem;
		font-size: 2rem;
		padding: 0.5em 1em;
	
		text-shadow:
		0 -.0625rem 0 #633f0c,
		-.0625rem 0 0 #633f0c,
		0 .0625rem 0 #633f0c,
		.0625rem 0 0 #633f0c,
	
		0 0 .0625rem #633f0c,
		0 0 .0625rem #633f0c,
		0 0 .0625rem #633f0c,
	
		0 .0625rem .33rem #633f0c,
		0 .125rem .33rem #633f0c,
		0 .1875rem .33rem #633f0c
		;
}