﻿/* ----------------------------------------------------------------------- 

	common layout 


----------------------------------------------------------------------- */
html {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.f-mont, #tagline, #gLogoWrapper, .gNavi ul li a, .footerIn #copyright {
  font-family: 'Montserrat', sans-serif;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  font-family: "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, Osaka, "MS PGothic", sans-serif;
  font-size: 18px;
  color: #231815;
  background-color: #FFF;
  line-height: 1.6;
  text-align: justify;
  text-justify: inter-ideograph;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  height: 100%;
  position: relative;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

li {
  list-style: none;
}

#tagline {
  position: fixed;
  left: 20px;
  top: 50%;
  font-size: 14px;
  -moz-transform-origin: 0 100%;
  -ms-transform-origin: 0 100%;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -moz-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
  z-index: 9999;
}
@media only screen and (max-width: 767px) {
  #tagline {
    display: none;
  }
}

#side_sns {
  padding: 25px;
  width: 137px;
  height: 86px;
  background: url("../images/top/bg_sns.png") no-repeat top left;
  box-sizing: border-box;
  display: block;
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 9999;
}

#side_sns ul {
	display:-webkit-box;
	display:-moz-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
}
#side_sns ul li + li { margin-left: 25px; }
@media only screen and (max-width: 767px) {
	#side_sns {
		padding: 10px 5px;
		width: 45px;
		height: 110px;
		background-image: none;
		background: rgba(255,255,255, 0.8);
		border-radius: 10px 0 0 10px;
	}
	#side_sns ul {
		-webkit-flex-direction:column;
		-moz-flex-direction:column;
		flex-direction:column;
	}
	#side_sns ul li + li { margin-top: 15px; margin-left: 0; }
}


/*-------------------------------------------------------------------
	header
-------------------------------------------------------------------*/
#content {
  padding-top: 200px;
}
@media only screen and (max-width: 767px) {
	#content {
	  padding-top: 100px;
	}
}

#header {
  width: 100%;
  text-align: center;
  position: fixed;
  top: 0;
  z-index: 9999;
  padding-bottom: 12px;
  background: rgba(255, 255, 255, 0);
  -webkit-transition: all .5s;
     -moz-transition: all .5s;
      -ms-transition: all .5s;
       -o-transition: all .5s;
          transition: all .5s;
}
.on#header {
  background: rgba(255, 255, 255, 0.6);  
}

.hLogo,
.fLogo {
  margin-left: auto;
  margin-right: auto;
  width: 130px;
  height: 85px;
  margin-top: 40px;
  margin-bottom: 30px;
  -webkit-transition: all .5s;
     -moz-transition: all .5s;
      -ms-transition: all .5s;
       -o-transition: all .5s;
          transition: all .5s;
}

.on .hLogo,
.on .fLogo {
  width: 65px;
  height: 42.5px;
  margin-top: 20px;
  margin-bottom: 0px;
}

@media only screen and (max-width: 767px) {
  .hLogo,
  .fLogo {
    width: 65px;
    height: 42.5px;
    margin-top: 20px;
    margin-bottom: 5px;
  }
  .on .hLogo,
  .on .fLogo {
    width: 65px;
    height: 42.5px;
    margin-top: 10px;
    margin-bottom: 0px;
  }
}

.headerIn {
  margin: 0 auto;
}

#gLogoWrapper {
  width: 335px;
  float: left;
  margin-top: 60px;
  width: 795px;
  float: left;
  margin-top: 56px;
  text-align: right;
  font-size: 17px;
  letter-spacing: 0.107em;
}

.gNavi {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  overflow: hidden;
}
.gNavi ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.gNavi ul li {
  width: 16%;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .gNavi ul li {
    margin: 0 auto;
    width: auto;
    min-width: 30%;
  }
}
.gNavi ul li a {
  font-size: 16px;
}
.gNavi ul li a:hover::after {
  border-radius: 2px;
  content: "";
  display: block;
  height: 4px;
}

/*
@media only screen and (max-width: 767px) {
  .gNavi .nav-contact {
    width: 100%;
  }
  .gNavi .nav-contact a {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 50%;
    border: 2px solid #000;
    border-radius: 30px;
    padding: .4em 0;
    background: rgba(255, 255, 255, 0);
    text-align: center;
    color: #000;
    font-weight: bold;
    font-size: 14px;
  }
  .gNavi .nav-contact a:hover {
    color: #000;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.8);
  }
}
*/

.linePk:hover::after {
  background-color: #ED85A7;
}

.lineOr:hover::after {
  background-color: #F6AA00;
}

.lineGr:hover::after {
  background-color: #A8CC06;
}

.lineDgy:hover::after {
  background-color: #89786F;
}

#fbFollow {
  position: fixed;
  top: 28px;
  right: 30px;
  z-index: 1000;
}

#fbFollow {
  position: fixed;
  top: 28px;
  right: 30px;
  z-index: 1000;
}

#fbFollow a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

/*-------------------------------------------------------------------
	footer
-------------------------------------------------------------------*/
#footer {
  width: 100%;
}

#footer a:hover {
  color: #5E5049;
}

.footerIn {
  max-width: 1000px;
  margin: 0 auto;
  padding: 200px 0 0;
  text-align: center;
  position: relative;
}

.footerIn:after {
  content: "";
  display: table;
  clear: both;
}

.footerIn {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.footerIn .gNaviWrapper {
  margin-bottom: 180px;
}

.footerIn #copyright {
  font-size: 16px;
  padding-bottom: 4em;
  position: absolute;
  top: 50%;
  width: 100%;
}

#gInfoWrapper {
  width: 370px;
  float: left;
  text-align: center;
}

.fAdd {
  margin-top: 28px;
  font-size: 14px;
}

.fMail {
  margin-top: 20px;
  font-size: 17px;
  font-family: 'Josefin Sans', sans-serif;
}

.fMenuList {
  display: block;
  overflow: hidden;
  width: 365px;
  margin: 65px auto 0 auto;
  font-size: 14px;
}

.fMenuList:after {
  content: "";
  display: table;
  clear: both;
}

.fMenuList li {
  float: left;
}

.fMenuList li:nth-child(2) {
  margin-left: 22px;
}

.fMenuList li:nth-child(3) {
  margin-left: 67px;
}

.fMenuList li:last-child {
  margin-left: 22px;
}

.fCopy {
  clear: both;
  margin-top: 25px;
  font-size: 9px;
  font-family: 'Josefin Sans', sans-serif;
}

#gFbWrapper {
  width: 500px;
  float: right;
}

#gFbWrapper .fbBox {
  width: 500px;
  height: 302px;
  margin-top: 60px;
  background-color: #FFF;
}

.pageTop {
  position: fixed;
  right: 30px;
  bottom: 25px;
}

.pageTop a {
  display: inline-block;
}

/* ----------------------------------------------------------------------- 
	common color
----------------------------------------------------------------------- */
.textColPk01 {
  color: #ED85A7;
}

.textColGr01 {
  color: #A8CC06;
}

.textColOr01 {
  color: #F6AA00;
}

/* ----------------------------------------------------------------------- 
	common layout
----------------------------------------------------------------------- */
#content:after {
  content: "";
  display: table;
  clear: both;
}

.contentIn {
  max-width: 1100px;
  margin: 0 auto;
}

.contentIn:after {
  content: "";
  display: table;
  clear: both;
}

.buttonList {
  width: 700px;
  margin: 0 auto;
}

.buttonList {
  width: 700px;
  margin: 0 auto;
}

.buttonList:after, .buttonList:before {
  content: "";
  clear: both;
  display: block;
}

.buttonList li {
  float: left;
}

.buttonList li + li {
  float: right;
}

/* ----------------------------------------------------------------------- 
	common style
----------------------------------------------------------------------- */
/* Title */
.ttlStyle01 {
  font-family: 'Josefin Sans', sans-serif;
  font-size: 30px;
  font-weight: 600;
  font-style: italic;
}

.ttlStyle02 {
  font-size: 26px;
}

.ttlAndMore {
  font-family: 'Josefin Sans', sans-serif;
  font-size: 14px;
}

/* Text */
.txtLarge01 {
  font-size: 26px;
}

/* Button */
.btnStyle01, .btnStyle02 {
  display: inline-block;
  width: 327px;
  line-height: 76px;
  font-size: 27px;
  background-color: #89786F;
  color: #FFF;
  font-weight: bold;
  letter-spacing: 0.2em;
  border-radius: 5px;
}

.btnStyle01::before,
.btnStyle01::after,
.btnStyle02::before,
.btnStyle02::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}

.btnStyle01:hover {
  background-color: #ED85A7;
}

.btnStyle02:hover {
  background-color: #A8CC06;
}



/* 追加 */
.show480 { display: none; }
.hdn480 { display: inherit;}
@media (max-width: 480px) {
	.hdn480 { display: none;}
	.show480 { display: inherit; }
}
