@charset "UTF-8";
/*===============================================================
	default
===============================================================*/
/* clear
===============================================================*/
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,b, i, dl, dt, dd, ol, a, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
html, body{height: auto;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{
	display:block;
}
*, *::before, *::after { box-sizing: border-box; }
i, u, abbr, code, pre, address{font-weight: normal; font-style: normal; text-decoration: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {content:'';}
input, select {vertical-align:middle;}
button:hover img{opacity: .85;}
button {display: inline-block; text-align: center; text-decoration: none;	outline: none;}
button::before,button::after {position: absolute;	z-index: -1; display: block;	content: '';}
button,button::before,button::after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;	-webkit-transition: all .3s;	transition: all .3s;}
button:hover{cursor: pointer;}
ul, ol, li{list-style: none;}
table {border-collapse:collapse; border-spacing:0;}
img{max-width: 100%; height: auto;}
hr {display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0;}

/* reset
===============================================================*/
html{
	width: 100%;
	font-size: 62.5%;
}
body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	width: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	line-height:1;
	letter-spacing: 0.08em;
}
h1, h2, h3, h4, h5, h6{word-break: break-all; font-weight: normal; margin: 0;}
a{
	color: #0090d2;
	text-decoration: none;
	-webkit-transition: all .3s;
	transition: all .3s;
}
a:hover{opacity: .85;}
a:hover img{opacity: .85;}

sup {vertical-align: super; font-size: smaller;}
sub {vertical-align: sub; font-size: smaller;}
img{image-rendering: -webkit-optimize-contrast;}

/* setting
===============================================================*/
:root {
	--main-bg-color: #DFDFDF;
	--color-gold: #A99546;
	--color-text: #595757;
	--color-light-gray: #F6F6F6;
	--color-dark-gray: #888;
	--font-zen-old-mincho: "Zen Old Mincho", serif;
	--font-zen-kaku-gothic: "Zen Kaku Gothic New", sans-serif;
}

/* layout
===============================================================*/
.wrap{
	margin: 0 auto;
	padding: 0 3rem;
	width: 100%;
}
.wrap-1400{
	max-width: 140rem;
}
.wrap-1360{
	max-width: 136rem;
}
.wrap-1200{
	max-width: 120rem;
}
.wrap-950{
	max-width: 95rem;
}
.wrap-490{
	max-width: 49rem;
	padding: 0;
}

/* classes
===============================================================*/
/*heading*/
.heading-ribbon{
	background: url(../img/heading-ribbon-bg.webp) center/contain no-repeat;
	color: #fff;
	font: normal 700 2.4rem var(--font-zen-old-mincho);
	margin: 0 auto;
	max-width: 49.3rem;
	min-height: 6.3rem;
	padding-top: .3rem;
	text-align: center;
	width: 100%;
}
/*background*/
.bg-light-gray{background: var(--color-light-gray) !important;}
.bg-dark-gray{background: var(--color-dark-gray) !important;}

/*color*/
.fc-white{color: #fff !important;}
.fc-gold{color: var(--color-gold) !important;}

/*font-family*/
.ff-zen-old{font-family: var(--font-zen-old-mincho) serif !important;}
.ff-zen-kaku{font-family: var(--font-zen-kaku-gothic) sans-serif !important;}

/*font-size*/
.f-10{font-size: 1rem !important;}
.f-12{font-size: 1.2rem !important;}

.lh-20{line-height: 2rem !important;}

/*indent*/
.indent_1{text-indent: -1em; padding-left: 1em;}

/*margin*/
.mgT10{margin-top: 1rem;}
.mgT20{margin-top: 2rem;}

/*pc/sp*/
.pc_only{display: block;}
.sp_only{display: none;}