@charset "utf-8";

/*=====================================================================================
	
	Document    : common.css
	Description : 共通css PC用（幅900px以上）

	1-1. Header
	1-2. Nav
	1-3. Contents
	1-4. Footer
 
=====================================================================================*/

body {
	background:url(../image/bg.gif) repeat center top;
}

@media screen and (max-width:800px) {
	#wp-ov {
		display:none;
		position:fixed;
		margin:0;
		padding:0;
		top:0;
		left:0;
		z-index:101;
		width:100%;
		height:100%;
		background:url(../image/bg-black90.png) repeat center top;
	}
}


/*---------------------------------------------------------------------------

   1-1. Header

---------------------------------------------------------------------------*/

header {
	background-color:#fff;
}

.hdS {
	height:200px;
	background-size:cover;
}

.hdS h1 {
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
	text-align:left;
	padding-left:5%;
	padding-top:100px;
}

.hd-sp {
	display:none;
}

@media screen and (max-width:800px) {
	.hdS {
		height:0;
		padding-top:25%;
		background-size:cover !important;
	}

	.hdS h1 {
		display:none;
	}

	.hd-sp {
		background-color:#fff;
		display:inherit;
		max-width:1000px;
		margin-left:auto;
		margin-right:auto;
		padding:25px 3%;
		position:relative;
	}

	.hd-sp h1 {
		max-width:70%;
		margin-left:auto;
		margin-right:auto;
		padding-right:12%;
	}
}


/*-------------------------------------------------------
   gnav-sp ボタン
-------------------------------------------------------*/

.gnav-sp-open {
	display:none;
	position:absolute;
	right:1.5%;
	top:6%;
	max-width:14%;
}

@media screen and (max-width:800px) {
	.gnav-sp-open {
		display:inherit;
	}
}


/*---------------------------------------------------------------------------

   2-1. Nav

---------------------------------------------------------------------------*/

nav.gnav {
	background-color:#fff;
	padding-top:10px;
}

.gnav-fixed {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:100;
}

@media screen and (max-width:1060px) {
	nav.gnav {
		padding:10px 1.5% 0 1.5%;
	}
}

@media screen and (max-width:800px) {
	nav.gnav {
		display:none;
	}
}

.gnav ul {
  display: flex;
  gap: 6px;
	list-style:none;
	width: 100%;
	max-width:1180px;
  margin: 0 auto;
}

.gnav li {
	width:calc(10% - 6px);
	position:relative;
	padding:0 0 20px 0;
}

.gnav li:first-child {
	margin-left:0;
}

.gnav li a {
	text-decoration:none !important;
	display:block;
	padding-top:12px;
	padding-bottom:12px;
	border-bottom:1px solid #c3c3c3;
}

.gnav li a .fc-rgray {
  line-height: 0.8;
}
.gnav li a .text-ib {
  display: inline-block;
}

.gnav li .hoverbox-tx {
	font-family:"Times New Roman", Times, serif;
	font-weight:bold;
}

@media screen and (max-width:880px) {    
    .gnav li .hoverbox-tx {
        font-size: 16px;
    }
}

.gnav li .hoverbox-tx-on {
	color:#7ab9d8;
}


/*-------------------------------------------------------
   sub nav
-------------------------------------------------------*/

.gnav li .triangle {
	content:"";
	display:inline-block;
	border:6px solid transparent;
	border-bottom-color:rgba(122,185,216,1);
	position:absolute;
	left:-6px;
	bottom:0;
	margin-left:50%;
}

.gnav li ul {
	width:100%;
	margin-left:0;
	margin-right:0;
	padding:0;
	position:absolute;
	left:0;
	/*top:87px;*/
	display:none;
	background-color:rgba(122,185,216,1);
	z-index:99;
}

.gnav li li {
	width:100%;
	float:none;
	margin-left:0;
	padding:0;
	text-align:left;
	border-bottom:1px solid #fff;
	border-bottom-color:rgba(255,255,255,0.5);
}

.gnav li li:last-child {
	border-bottom:0;
}

.gnav li li a {
	border-bottom:0;
	padding:8px;
}

.gnav li li a:hover {
	background-color:rgba(255,255,255,0.25);
}


/*-------------------------------------------------------
   SP
-------------------------------------------------------*/

.gnav-sp-wp {
	display:none;
}

@media screen and (max-width:800px) {
	.gnav-sp-wp {
		width:100%;
		z-index:9999;
		position:absolute;
		top:0;
		left:0;
		background:url(../image/bg-black90.png) repeat center top;
	}
	
	.gnav-sp {
		padding:5% 5% 6% 5%;
	}
	
	.gnav-sp-close {
		text-align:right;
	}
	
	.gnav-sp-close img {
		cursor:pointer;
	}
	
	.gnav-sp dl {
		text-align:left;
		border-bottom-width:1px;
		border-bottom-style:solid;
		border-bottom-color:rgba(255,255,255,0.2);
	}
	
	.gnav-sp dt {
		border-top-width:1px;
		border-top-style:solid;
		border-top-color:rgba(255,255,255,0.2);
		padding:20px 0;
		font-weight:bold;
		cursor:pointer;
		font-family:"Times New Roman", Times, serif;
		background:url(../image/slidedown.png) no-repeat right center;
	}

	.gnav-sp dt.navlink {
		background:none;
		padding:0;
	}
	.gnav-sp dt.navlink a {
		text-decoration:none !important;
		padding:15px 0;
		display:block;
	}
	
	.gnav-sp dt.selected {
		background:url(../image/slideup.png) no-repeat right center;
	}
	
	.gnav-sp dt span {
		font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
		color:rgba(255,255,255,0.75);
		font-weight:normal;
		padding-left:1em;
		display:-moz-inline-box;
		display:inline-block;
		/display:inline;
		/zoom:1;
	}
	
	.gnav-sp dd {
		display:none;
		padding-bottom:10px;
	}
	
	.gnav-sp dd li {
		margin-bottom:10px;
	}
	
	.gnav-sp dd li a {
		display:block;
	}
	
	.gnav-sp dd li a:hover {
		color:rgba(255,255,255,0.75) !important;
	}
    
  .gnav-sp .joycos_sp {
      display: inline-block;
      margin-top: 30px;
  }

  .gnav-sp .sns-icon {
    margin-top: 16px;
  }

  .gnav-sp .sns-icon a {
    display: inline-block;
    margin-right: 0;
    width: 72px;
  }
  
  .gnav-sp .sns-icon a img {
    width: 100%;
    height: auto;
  }
}


/*---------------------------------------------------------------------------

   1-3. Contents

---------------------------------------------------------------------------*/

/*-------------------------------------------------------
   各ブロック
-------------------------------------------------------*/

.ct .block {
	padding-top:50px;
	padding-bottom:55px;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}

.ct .block:last-child {
	padding-bottom:60px;
}

@media screen and (max-width:1060px) {
	.ct .block {
		padding-left:3%;
		padding-right:3%;
	}
}

@media screen and (max-width:800px) {
	.ct .block {
		padding-top:7%;
		padding-bottom:7.5%;
	}
	
	.ct .block:last-child {
		padding-bottom:8%;
	}
}


/*-------------------------------------------------------
   見出し
-------------------------------------------------------*/

.ct .block .md h2,
.ct .block .md h3,
.ct .block .md h4,
.ct .block .md h5,
.ct .block .md h6 {
	font-family:"Times New Roman", Times, serif;
	padding-bottom:5px;
}


/*-------------------------------------------------------
   coming soon
-------------------------------------------------------*/

.soon {
	max-width:100% !important;
}

.soon-md {
	background:url(../image/soon-md-line.gif) repeat-x center center;
}

.soon-md h3 {
	padding-left:1.5em;
	padding-right:1.5em;
	background:url(../image/bg.gif) repeat center center;
}


/*---------------------------------------------------------------------------

   1-4. Footer

---------------------------------------------------------------------------*/

footer {
	background:url(../image/bg-black50.png) repeat center top;
}


/*-------------------------------------------------------
   pageup
-------------------------------------------------------*/

.up {
	display:none;
	width:50px;
	height:50px;
	background-image:url(../image/ft/up_off.png);
	background-repeat:no-repeat;
	background-position:0 0;
	font-size:0;
	line-height:0;
	right:25px;
	bottom:65px;
	position:fixed;
	z-index:99;
}

.up:hover {
	background-image:url(../image/ft/up_on.png);
}

.up a {
	width:100%;
	height:100%;
	display:block;
	text-decoration:none;
	background-image:url(../image/ft/up_off.png);
	background-repeat:no-repeat;
	background-position:0 -60px; 
}



/*-------------------------------------------------------
   contact-btn
-------------------------------------------------------*/
.contact-btn:link,
.contact-btn:visited {
	position:fixed;
	right:0;
	top:200px;
	z-index:99;
  width: 50px;
  height: 300px;
  background-color: #D07112;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
  text-orientation: upright;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .2s;
}
.contact-btn:hover {
  background-color: #E48627;
}
.contact-btn img {
  display: inline-block;
  margin-bottom: 8px;
  width: 30px;
}


/*-------------------------------------------------------
   nav
-------------------------------------------------------*/

footer ul {
	list-style:none;
}

footer li {
	display:-moz-inline-box;
	display:inline-block;
	/display:inline;
	/zoom:1;
	margin:0 20px;
}

@media screen and (max-width:1060px) {
	footer li {
		margin:0 3%;
	}
}

footer li a {
	text-decoration:none !important;
	display:block;
}


/*-------------------------------------------------------
   SNS
-------------------------------------------------------*/
footer > .sns-icon {
  margin-top: 1em;
}
footer > .sns-icon a {
  display: inline-block;
  width: 48px;
}
footer > .sns-icon a img {
  width: 100%;
  height: auto;
}
@media screen and (max-width:640px) {
  footer > .sns-icon a {
    width: 72px;
  }
}



/*-------------------------------------------------------
   logo・address
-------------------------------------------------------*/

@media screen and (min-width:641px) {
  footer .cc {
    background:url(../image/ft/cc-bg.png) repeat-x center center;
  }

  footer .cc > div {
    background:url(../image/bg-black50.png) repeat center top;
    padding:0 1.5em;
  }

  footer .cc br,
  footer address br {
    display:none;
  }

  footer .cc span,
  footer address span,
  footer address {
    margin-right:1em;
  }

  footer h6 {
    padding-top:0.75em;
  }

  footer .tel {
    margin-top:1em;
  }

  footer .tel .tel-list {
    overflow: hidden;
    text-align: center;
    margin-top: .5em;
  }

  footer .tel .tel01 {
    margin-left:0.5em;
    background:url(../image/ft/ic-freetel.png) no-repeat left center;
    padding:3px 0 3px 46px;
    margin-right: .75em;
    vertical-align:middle;
    font-weight:bold;
  }

  footer .tel .tel02 {
    margin-left:0.5em;
    background:url(../image/ft/ic-tel.png) no-repeat left center;
    padding:3px 0 3px 25px;
    vertical-align:middle;
    font-weight:bold;
  }

  footer .tel a,
  footer .tel a:visited,
  footer .tel a:hover { text-decoration:none; color:#3c3c3c !important; }  
}

@media screen and (max-width:1060px) {
	footer h6 {
		padding-bottom:0.5em;
	}
	
	footer address {
		margin-right:0;
		display:block;
	}
	
	footer .tel {
		display:block;
		padding-top:1em;
		margin-left:0;
	}
}


/*-------------------------------------------------------
   copyright
-------------------------------------------------------*/

.copy {
	background:url(../image/bg-black90.png) repeat center top;
	padding:8px 0;
}

.pc-block{
  display: block;
}

.sp-block{
	display: none;
}