@charset "utf-8";

/**
 *
 *  サイト共通
 *
 */

/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,ins,kbd,q,samp,small,strong,
sub,sup,var,b,i,dl,dt,dd,ol,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;}
body{line-height:1;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
nav ul{list-style:none;}
ul,ol,li,dl,dt,dd{list-style-type:none;list-style-position:outside;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
ins{background-color:#ff9;color:#000;text-decoration:none;}
img{vertical-align:top;border:0;}
em{font-style:italic;}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold;}
del{text-decoration:line-through;}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:0;padding:0;}
input,select{vertical-align:middle;}
input,select,textarea{font-family:inherit;font-size:inherit;}


/*--------------------------------------------------------------------------
   html
---------------------------------------------------------------------------*/

html{
	overflow-y:scroll;
}


/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/

body{
	background:#F7F6F2;
	color:#222;
	font-family:'Lato',"Helvetica Neue",Helvetica,Arial,Roboto,"Droid Sans","メイリオ", Meiryo,"ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN",Sans-Serif;
	font-size:14px;
	font-size:88%\9;
	line-height:1.7;
	-webkit-text-size-adjust:100%;
}
::-moz-selection{
	color:#FFF;
	background:#FA787D;
}
::selection{
	color:#FFF;
	background:#FA787D;
}


/*--------------------------------------------------------------------------
   base link
---------------------------------------------------------------------------*/

a{
	outline:none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
a:link,
a:visited{
	color:#222;
	text-decoration:none;
}
a:hover{
	color:#F95158;
	text-decoration:underline;
}
a.col-type2:link,
a.col-type2:visited{
	color:#F95158;
	text-decoration:underline;
}
a.col-type2:hover{
	color:#F95158;
	text-decoration:none;
}

/*--------------------------------------------------------------------------
   Container
---------------------------------------------------------------------------*/

#Page{
	width:100%;
	min-width:1024px;
}
@media (max-width: 767px) {
  #Page{
	width:100%;
	min-width:0;
}  
}

/*--------------------------------------------------------------------------
   GlobalHeader
---------------------------------------------------------------------------*/

#GlobalHeader{
	position:fixed;
	top:0;
	left:0;
	z-index:1000;
	width:100%;
	padding:0 0 6px;
	border-top:4px solid #FB485B;
	background:url(/shared/images/header_bg.png?250313) repeat-x 0 100%;
}
#GlobalHeader .header-bg{
	background:#FFF;
}
#GlobalHeader .header-inner{
	width:978px;
	margin:0 auto;
}
@media (max-width: 767px) {
    #GlobalHeader .header-inner {
        width:100%;
    } 
}

/* ロゴ
-----------------------------------------------------------------*/
#GlobalHeader h1,
#GlobalHeader .logo{
	position: relative;
	float:left;
	width:219px;
	height:86px;
	background:url(/shared/images/header_logo.png) no-repeat;
}
#GlobalHeader h1 a,
#GlobalHeader .logo a{
	overflow:hidden;
	display:block;
	width:100%;
	height:100%;
	text-indent:100%;
	white-space:nowrap;
}
@media (max-width: 767px) {
	#GlobalHeader h1,
    #GlobalHeader .logo{
		left:15px;
	}
}

/* ナビ
-----------------------------------------------------------------*/
#GlobalHeader .gnavi{
	float:right;
	width:560px;
}
#GlobalHeader .gnavi li{
	float:left;
}

/* ドロップダウンメニュー */
#GlobalHeader .gnavi li .arrow{
	display:block;
	position:relative;
	z-index:1;
}
#GlobalHeader .gnavi li .arrow:before{
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	left:50%;
	z-index:2;
	width:0;
	height:0;
	margin:0 0 0 -7px;
	border:8px solid transparent;
	border-bottom-color:#444;
}
#GlobalHeader .gnavi li .low{
	display:none; /* init */
	position:absolute;
	top:86px;
	left:0;
	z-index:1;
	width:100%;
	height:46px;
	background:url(/shared/images/header_bg.png) repeat-x 0 100%;
}
#GlobalHeader .gnavi li .low-inline{
	height:40px;
	background:#444;
}
#GlobalHeader .gnavi li .low ul{
	position:relative;
	width:978px;
	margin:0 auto;
	padding:13px 0 0;
}
#GlobalHeader .gnavi li .low ul li{
	margin:0 0 0 25px;
	padding:0 0 0 25px;
	border-left:1px solid #8F8F8F;
	font-size:93%;
	line-height:1.1;
}
#GlobalHeader .gnavi li .low ul li:first-child{
	margin:0;
	padding:0;
	border-left:none;
}
#GlobalHeader .gnavi li .low ul li a{
	color:#FFF;
}

@media (max-width: 767px) {
    #GlobalHeader .gnavi{
        display: none;
    }
}

/* 検索 + 言語ナビ
-----------------------------------------------------------------*/
#GlobalHeader .aside{
	float:left;
	width:199px;
	padding:28px 0 0;
	/*padding:11px 0 0;*/
	text-align:right;
}
#GlobalHeader .aside form{
	position:relative;
}
#GlobalHeader .aside input[type="text"]{
	width:138px;
	height:28px;
	padding:0 35px 0 5px;
	border:1px solid #FFDBDE;
	background:#FEE8E8;
	text-align:left;
	font-size:12px;
	line-height:28px;
}
#GlobalHeader .aside input[type="submit"]{
	overflow:hidden;
	display:block;
	position:absolute;
	top:1px;
	right:1px;
	width:34px;
	height:28px;
	border:none;
	background:url(/shared/images/header_btn_search.png) no-repeat;
	text-indent:200%;
	white-space:nowrap;
	cursor:pointer;
}
#GlobalHeader .aside .lang{
	margin:10px 0 0;
	letter-spacing:-.4em;
}
#GlobalHeader .aside .lang li{
	display:inline-block;
	margin:0 0 0 10px;
	letter-spacing:0;
}
#GlobalHeader .aside .lang li:first-child{
	margin-left:0;
}


/*--------------------------------------------------------------------------
   GlobalFooter
---------------------------------------------------------------------------*/

#GlobalFooter{
	clear:both;
}
@media (max-width: 767px) {
    #GlobalFooter {
    }
}
/* ページトップへ戻る
-----------------------------------------------------------------*/
#GlobalFooter .pagetop{
	position:relative;
}
#GlobalFooter .pagetop a{
	display:block;
	height:30px;
	padding:10px 0 0;
	background:#9C9891;
	text-align:center;
	color:#FFF;
	font-size:93%;
	font-weight:bold;
}
#GlobalFooter .pagetop a:hover{
	background:#666;
	text-decoration:none;
}
#GlobalFooter .pagetop a span{
	display:block;
	position:absolute;
	top:-17px;
	left:50%;
	width:38px;
	margin:0 0 0 -19px;
}
@media (max-width: 767px) {
    
}

/* ナビ
-----------------------------------------------------------------*/
#GlobalFooter .fnavi{
	background:#F8F6F2 url(/shared/images/footer_bg.jpg) no-repeat 50% 100%;
}
#GlobalFooter .fnavi-bg01{
	background:url(/shared/images/footer_bg_shadow01.png) repeat-x;
}
#GlobalFooter .fnavi-bg02{
	background:url(/shared/images/footer_bg_shadow02.png) repeat-x 0 100%;
}
#GlobalFooter .fnavi-inline{
	position:relative;
	width:978px;
	margin:0 auto;
	padding:55px 0 115px;
}
#GlobalFooter .fnavi .bnr{
	position:absolute;
	bottom:60px;
	right:-4px;
}
#GlobalFooter .fnavi .bnr img{
	max-width:260px;
}
#GlobalFooter .fnavi .main li.cat{
	overflow:hidden;
	padding:12px 0;
	border-bottom:1px dotted #9C9891;
	line-height:1.1;
}
#GlobalFooter .fnavi .main li.cat span{
	display:block;
	float:left;
	margin:0 45px 0 0;
	font-size:93%;
	font-weight:bold;
}
#GlobalFooter .fnavi .main li.cat ul{
	overflow:hidden;
	padding:1px 0 0;
}
#GlobalFooter .fnavi .main li.cat ul li{
	float:left;
	margin:0 0 0 10px;
	padding:0 0 0 10px;
	border-left:1px solid #575553;
	white-space:nowrap;
	font-size:86%;
}
#GlobalFooter .fnavi .main li.cat ul li:first-child{
	margin:0;
	padding:0;
	border-left:none;
}
#GlobalFooter .fnavi .sub{
	margin:28px 250px 0 0;
}
#GlobalFooter .fnavi .sub li{
	float:left;
	margin:0 0 0 10px;
	padding:0 0 0 10px;
	border-left:1px solid #575553;
	white-space:nowrap;
	font-size:86%;
	line-height:1.1;
}
#GlobalFooter .fnavi .sub li:first-child{
	margin:0;
	padding:0;
	border-left:none;
}
@media (max-width: 767px) {
#GlobalFooter .fnavi-inline{
	width:100%;
    box-sizing: border-box;
    padding: 55px 20px 112px;
}
#GlobalFooter .fnavi .main li.cat span {
    float: none;
}
#GlobalFooter .fnavi .main li.cat ul {
padding: 10px 0 0;
}
#GlobalFooter .fnavi .main li.cat ul li {
    margin: 5px 0 5px 10px;
    }
#GlobalFooter .fnavi .main li.cat ul li:first-child {
    margin: 5px 0 5px 0;
    }
#GlobalFooter .fnavi .main li.cat span.link-blank {
    float: left;
}
#GlobalFooter .fnavi .main li.cat span.link-blank img {
    width: 15px;
    height: auto;
    display: inline-block;
}
#GlobalFooter .fnavi .sub {
margin: 28px 0px 18px 0;
display: inline-block;
}
#GlobalFooter .fnavi .bnr {
    position: relative;
    bottom: 0px;
    right: 0px;
}

}
/* コピーライト
-----------------------------------------------------------------*/
#GlobalFooter .copyright{
	border-top:6px solid #FB485B;
	background:#444;
}
#GlobalFooter .copyright-inline{
	position:relative;
	width:978px;
	margin:0 auto;
}
#GlobalFooter .copyright .logo{
	position:absolute;
	top:0;
	right:0;
}
#GlobalFooter .copyright .logo img{
	max-width: 185px;
}
#GlobalFooter .copyright small img{
	max-width: 344px;
}
@media (max-width: 767px) {
	#GlobalFooter .copyright-inline{
		width:100%;
	}
	#GlobalFooter .copyright .logo {
		position: relative;
		width:auto;
		margin: auto;
		padding:10px 15px 0;
	}
	#GlobalFooter .copyright .logo img{
		margin:auto;
		display:block;
	}
	#GlobalFooter .copyright small {
	   margin:-15px 0 0;
	   padding:0 15px;
 	   display: block;
    }
	#GlobalFooter .copyright small img{
		margin:auto;
		display:block;
	}
}


/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

#Content{
	padding:90px 0 80px;
}
#ContentWrap{
	width:978px;
	margin:0 auto;
	padding:60px 0 0;
}
@media (max-width: 767px) {
  #ContentWrap{
	width:100%;
}  
}

/* Main
-----------------------------------------------------------------*/
#Main{
	float:left;
	width:726px;
}
@media (max-width: 767px) {
  #Main{
	width:100%;
    float: none;
}
}


/* Side
-----------------------------------------------------------------*/
#Side{
	float:right;
	width:230px;
}
@media (max-width: 767px) {
#Side{
	float:none;
	width:100%;
    margin-top: 15%;
}
}

/*--------------------------------------------------------------------------
   Other
---------------------------------------------------------------------------*/

/* clearfix
-----------------------------------------------------------------*/
.cf:before,
.cf:after{
	content:"";
	display:table;
}
.cf:after{
	clear:both;
}
.cf{
	zoom:1;
}

/*--------------------------------------------------------------------------
   Pull Down
---------------------------------------------------------------------------*/

html.open-menu {
    overflow: hidden;
}
.header-pd {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001;
    width: 100%;
}
.header-pd-bg {
    opacity: 0;
    width: 0;
    transition: width 0.01s 0.55s, opacity 0.55s;
    position: fixed;
    background: rgba(0, 0, 0, 0.8);
    z-index: 1000;
    top: 0;
    left: 0;
    height: 100svh;
}
.header-pd.open .header-pd-bg {
    width: 100%;
    opacity: 1;
    transition: opacity 0.55s;
}
.header-pd-nav {
    transform: translate(100%, 0);
    position: absolute;
    top: 0;
    right: 0;
    transition: transform 0.55s ease-in-out;
    width: 85%;
    max-width:330px;
    background: #fff;
    overflow: auto;
    height: 100svh;
    z-index: 1001;
}
.header-pd.open .header-pd-nav {
    transform: translate(0, 0);
}
.hed-pd-list {
	padding:90px 0 0;
	text-align: left;
	display: block;
	width: 100%;
	margin: auto;
	box-sizing: border-box;
}
.hed-pd-tab {
	position: relative;
	display:flex;
	padding:15px 30px;
	align-items: center;
}
.hed-pd-tab:hover{
	text-decoration: none;
}
.hed-pd-tab::before{
	position: absolute;
	content: " ";
	top: calc(50% - 10px);
	right: 30px;
	width: 20px;
	height: 20px;
	background: #FB485B;
	border-radius: 50%;
}
.hed-pd-tab::after {
	position: absolute;
	content: " ";
	top:calc(50% - 4px);
	right: 38px;
	width:5px;
	height:5px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: all 0.3s ease-in-out;
}
.hed-pd-tab b{
	display: block;
	color:#222;
	font-size: 110%;
	width: 40%;
}
.hed-pd-tab:hover b{
	color:#FB485B;
}
.hed-pd-tab small{
	display: block;
	color:#FB485B;
	font-size: 90%;
	letter-spacing: 0.1em;
	width: 60%;
	font-weight: bold;
}
.hed-pd-tab + span{
	position: relative;
	overflow: hidden;
	display: block;
	padding:20px 0;
	border-top:1px #ededed solid;
}
.hed-pd-tab + span a{
	position: relative;
	padding:7.5px 50px;
	display: block;
	font-size: 95%;
 	font-weight: bold;
}
.hed-pd-tab + span a:hover{
	text-decoration:none;
}
.hed-pd-tab + span a::before{
	position: absolute;
	content: " ";
	top:calc(50% - 3px);
	left:30px;
	width: 4px;
	height: 4px;
	border-top: 2px solid #FB485B;
	border-right: 2px solid #FB485B;
	transform: rotate(45deg);
}
.hed-pd-list li{
	border-top:1px #ededed solid;
}
.hed-pd-list li:last-child{
	border-bottom:1px #ededed solid;
}
.header-btn {
    width: 60px;
    height: 60px;
    position: fixed;
    right:15px;
    top:15px;
    z-index: 1002;
    cursor: pointer;
	display:none;
}
.header-btn::before {
    content: " ";
    display: block;
    width: 36px;
    height: 2px;
    position: absolute;
    top: 20px;
    left: 12px;
    background: #FB485B;
    transition: all 0.3s ease-in-out;
}
.header-btn::after {
    content: " ";
    display: block;
    width: 36px;
    height: 2px;
    position: absolute;
    bottom: 20px;
    left: 12px;
    background: #FB485B;
    transition: all 0.3s ease-in-out;
}
.header-btn-ico {
    display: block;
    width: 36px;
    height: 2px;
    position: absolute;
    top: calc(50% - 1px);
    left: 12px;
    background: #FB485B;
    transition: all 0.3s ease-in-out;
}
.header-btn.open::before{
    top:29px;
    transform: rotate(30deg);
}
.header-btn.open::after{
    bottom:29px;
    transform: rotate(-30deg);
}
.header-btn.open .header-btn-ico{
	width:0;
	left: 50%;
}
@media (max-width: 767px) {
	.header-btn {
		display: block;
	}
}