@charset "UTF-8";

/* --------------------------------------------------
base
-------------------------------------------------- */
@import url('https://fonts.googleapis.com/css?family=EB+Garamond|Noto+Serif+JP|Noto+Sans+JP:300,400,500,700|Roboto:300,500');

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video{
  font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-weight:500;
}
body{
  box-sizing: border-box;
  position: relative;
  width:100%;
  min-width:300px;
  margin:0;
  padding:0;
  word-wrap:break-word;
  background-color:#fff;
  color:#1A1311;
  font-size:20px;
  line-height:36px;
  letter-spacing:0;
}
img{
  max-width:100%;
  vertical-align:middle;
}
input{
  box-sizing:border-box;
  padding:7px 10px;
  color:#000;
}
textarea{
  box-sizing:border-box;
  padding:10px 10px;
  color:#000;
}
select{
  box-sizing:border-box;
  padding: 7px;
  color:#000;
}
input[readonly]{
  background-color:#eee;
}
a:link,
a:visited{
  color:#f00;
  text-decoration:underline;
}
a:hover,
a:active{
  color:#f00;
  text-decoration:none;
}

/* --------------------------------------------------
header
-------------------------------------------------- */
header{
  position: absolute;
  top: 20px;
  left: 20px;
  width: 62px;
}
@media screen and (max-width: 599px) {
  header{
    position: absolute;
    top: 15px;
    left: 15px;
    width: 42px;
  }
}

/* --------------------------------------------------
contents
-------------------------------------------------- */
#contents{
  box-sizing: border-box;
  position: relative;
  width:100%;
}

/* --------------------------------------------------
page top
-------------------------------------------------- */
#pageTop a{
	box-sizing: border-box;
	position: fixed;
	bottom: 10px;
	right: 10px;
	background-color: rgba(255,255,255,0.3);
	width: 50px;
	height: 34px;
	padding-left: 13px;
	padding-right: 13px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width: 599px) {
	#pageTop a{
		position: absolute;
		bottom: 15px;
	}
}



/* --------------------------------------------------
footer
-------------------------------------------------- */
/* 調整用 --------------- */
.l-footer{
	line-height: 1.6;
}
.l-footer a{
	text-decoration: none;
	color: #fff;
}
.l-footer--inner--content--sitemap--link__01 a:hover,
.l-footer--inner--content--sitemap--link__02 a:hover{
	text-decoration: underline;
}
.l-footer--inner--content--sitemap--link__01 dl{
	line-height: 1.3;
}
.l-footer--inner--content--sitemap--link__01 dl dt a{
	font-size: 16px;
}


/* layout.css より --------------- */
/*--------------------------------------------
ãƒ•ãƒƒã‚¿ãƒ¼
--------------------------------------------*/
.l-footer {
	background: #393d3e;
	padding: 60px 0;
	width: 100%;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer {
	padding: 45px 0;
	}
}

.l-footer--inner {
	max-width: 1040px;
	margin: 0 auto;
	width: 86%;
	}

.l-footer--inner--txt {
	font-size: 24px;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer--inner--txt {
	font-size: 17px;
	}
}

.l-footer--inner--content {
	margin-top: 60px;
	overflow: hidden;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer--inner--content {
	margin-top: 10px;
	}
}

.l-footer--inner--content--add {
	float: left;
	width: 40%;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer--inner--content--add {
	display: none;
	}
}

.l-footer--inner--content--sitemap {
	float: right;
	width: 60%;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer--inner--content--sitemap {
	float: none;
	width: 100%;
	}
}

.l-footer--inner--content--sitemap--link__01 {
	overflow: hidden;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer--inner--content--sitemap--link__01 {
	display: none;
	}
}

.l-footer--inner--content--sitemap--link__01 dl {
	float: left;
	width: 25%;
	}

.l-footer--inner--content--sitemap--link__01 dl dt a {
	display: inline-block;
	font-weight: 500;
	color: #fff;
	position: relative;
	margin-bottom: 1em;
	padding-bottom: 1em;
	}

.l-footer--inner--content--sitemap--link__01 dl dt a::before {
	position: absolute;
	left: 0;
 bottom: 0;
 content: "";
 display: inline-block;
 height: 1px;
 background: #999;
 width: 25px;
	}

.l-footer--inner--content--sitemap--link__01 dl dd a {
	display: inline-block;
	font-size: 13px;
	font-weight: 300;
	color: #fff;
	padding-bottom: 0.5em;
	}

.l-footer--inner--content--sitemap--link__02 {
	overflow: hidden;
 width: 73%;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer--inner--content--sitemap--link__02 {
	display: none;
	}
}

.l-footer--inner--content--sitemap--link__02 li {
	float: left;
	padding-right: 1.5em;
	}

.l-footer--inner--content--sitemap--link__02 li a {
	display: inline-block;
	font-size: 13px;
	font-weight: 300;
	color: #fff;
	}

/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer--inner--content--sitemap--bnr {
	margin: 0 auto;
	width: 230px;
	}
}

.l-footer--inner--content--sitemap--bnr ul {
	overflow: hidden;
	}

.l-footer--inner--content--sitemap--bnr li {
	float: left;
	padding-left: 2px;
	}

.l-footer--inner--content--sitemap--bnr li:nth-child(1) {
	width: 134px;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer--inner--content--sitemap--bnr li:nth-child(1) {
	width: 94px;
	}
}

.l-footer--inner--content--sitemap--bnr li:nth-child(2) {
	width: 110px;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer--inner--content--sitemap--bnr li:nth-child(2) {
	width: 76px;
	}
}

.l-footer--inner--content--sitemap--bnr li:nth-child(3) {
	width: 78px;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer--inner--content--sitemap--bnr li:nth-child(3) {
	width: 54px;
	}
}

/********* sp *********/
@media only screen and (max-width: 750px) {
.l-footer-inner-copyright {
	text-align: center;
	}
}



/* utility.css より --------------- */
/*
ã‚¨ãƒ¼ã‚¸ã‚§ãƒ³ãƒˆåˆ¥
*/
.u-pc { display: block !important; }
.u-pc__inline { display: inline !important; }
.u-sp { display: none !important; }
.u-sp__inline { display: none !important; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-pc { display: none !important; }
.u-pc__inline { display: none !important; }
.u-sp { display: block !important; }
.u-sp__inline { display: inline !important; }
}

/*
ãƒžãƒ¼ã‚¸ãƒ³
*/
.u-mt__4 { margin-top: 4px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__4 { margin-top: 2px; }
}
.u-mt__6 { margin-top: 6px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__6 { margin-top: 3px; }
}
.u-mt__8 { margin-top: 8px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__8 { margin-top: 4px; }
}
.u-mt__10 { margin-top: 10px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__10 { margin-top: 5px; }
}
.u-mt__14 { margin-top: 14px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__14 { margin-top: 7px; }
}
.u-mt__16 { margin-top: 16px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__16 { margin-top: 8px; }
}
.u-mt__20 { margin-top: 20px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__20 { margin-top: 10px; }
}
.u-mt__24 { margin-top: 24px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__24 { margin-top: 12px; }
}
.u-mt__26 { margin-top: 26px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__26 { margin-top: 13px; }
}
.u-mt__28 { margin-top: 28px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__28 { margin-top: 14px; }
}
.u-mt__30 { margin-top: 30px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__30 { margin-top: 15px; }
}
.u-mt__34 { margin-top: 34px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__34 { margin-top: 17px; }
}
.u-mt__40 { margin-top: 40px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__40 { margin-top: 20px; }
}
.u-mt__50 { margin-top: 50px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__50 { margin-top: 25px; }
}
.u-mt__54 { margin-top: 54px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__54 { margin-top: 27px; }
}
.u-mt__60 { margin-top: 60px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__60 { margin-top: 30px; }
}
.u-mt__74 { margin-top: 74px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__74 { margin-top: 37px; }
}
.u-mt__80 { margin-top: 80px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__80 { margin-top: 45px; }
}
.u-mt__100 { margin-top: 100px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-mt__100 { margin-top: 50px; }
}

/*
ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚º
*/
.u-fs__12 { font-size: 12px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__12 { font-size: 11px; }
}
.u-fs__14 { font-size: 14px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__14 { font-size: 12px; }
}
.u-fs__16 { font-size: 16px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__16 { font-size: 13px; }
}
.u-fs__18 { font-size: 18px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__18 { font-size: 14px; }
}
.u-fs__20 { font-size: 20px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__20 { font-size: 16px; }
}
.u-fs__22 { font-size: 22px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__22 { font-size: 18px; }
}
.u-fs__24 { font-size: 24px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__24 { font-size: 19px; }
}
.u-fs__27 { font-size: 27px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__27 { font-size: 21px; }
}
.u-fs__29 { font-size: 29px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__29 { font-size: 22px; }
}
.u-fs__32 { font-size: 32px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__32 { font-size: 24px; }
}
.u-fs__34 { font-size: 34px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__34 { font-size: 25px; }
}
.u-fs__36 { font-size: 36px; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-fs__36 { font-size: 27px; }
}

/*
ãƒ•ã‚©ãƒ³ãƒˆ
*/
.u-font__roboto {
	font-family: 'Roboto', sans-serif;
	line-height: 1.4;
}

.u-font__eb {
	font-family: 'EB Garamond', serif;
	line-height: 1.4;
}

.u-font__noto_serif {
	font-family: 'Noto Serif JP', serif;
}

/*
ãƒ•ã‚©ãƒ³ãƒˆ å¤ªã•
*/
.u-font__w__300 {
	font-family: 'Noto Sans JP',sans-serif !important;
	font-weight: 300 !important;
}

/* ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆ */
.u-font__w__400 {
	font-family: 'Noto Sans JP',sans-serif !important;
	font-weight: 400 !important;
}

.u-font__w__500 {
	font-family: 'Noto Sans JP',sans-serif !important;
	font-weight: 500 !important;
}

.u-font__w__700 {
	font-family: 'Noto Sans JP',sans-serif !important;
	font-weight: 700 !important;
}

.u-font__roboto__w__300 {
	font-family: 'Roboto', sans-serif !important;
	font-weight: 300 !important;
}

/*
ãƒ•ã‚©ãƒ³ãƒˆã‚«ãƒ©ãƒ¼
*/
.u-fc__white { color: #fff; }
.u-fc__gray { color: #ccc; }
.u-fc__black { color: #000; }
.u-fc__red { color: #d23056; }
.u-fc__red__02 { color: #b21239; }

/*
ãƒ†ã‚­ã‚¹ãƒˆãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆ
*/
.u-txt__l { text-align: left; }
.u-txt__c { text-align: center; }
.u-txt__r { text-align: right; }

/*
è¡Œé–“
*/
.u-lh__1_2 { line-height: 1.2; }
.u-lh__1_4 { line-height: 1.4; }
.u-lh__1_6 { line-height: 1.6; }
.u-lh__2 { line-height: 2; }

/*
æ–‡å­—é–“
*/
.u-ls__0_0_7 { letter-spacing: 0.07em; }
.u-ls__0_1 { letter-spacing: 0.1em; }
.u-ls__0_2 { letter-spacing: 0.2em; }
.u-ls__0_3 { letter-spacing: 0.3em; }

.u-btn__s {
	box-sizing: border-box;
	background: #ce365a url(../img/common/ic_arrow_white.png) no-repeat;
	background-size: 7px;
	background-position: right 13px center;
	display: inline-block;
	color: #fff;
	text-align: center;
	padding: 0.6em 1.4em 0.6em 1.2em;
	max-width: 170px;
	width: 100%;
	}
/********* sp *********/
@media only screen and (max-width: 750px) {
.u-btn__s {
	background: #ce365a url(../img/common/ic_arrow_white.png) no-repeat;
	background-size: 5px;
	background-position: right 7px center;
	}
}

.u-btn__l:hover,
.u-btn__m:hover,
.u-btn__s:hover {
	background-color: #dd728b;
 -webkit-transition: 0.3s ease-in-out;  
 -moz-transition: 0.3s ease-in-out;  
 -o-transition: 0.3s ease-in-out;  
 transition: 0.3s ease-in-out;
	text-decoration: none;
 }
