@import url(base.css);
@media screen and (min-width: 760px) { .sp { display: none !important; }
  .pc { display: block; } }
@media screen and (max-width: 759px) { .pc { display: none !important; }
  .sp { display: block; } }
/*-------------------------------------------------
	++ BASE
-------------------------------------------------*/
body { font-size: 18px; font-weight: 300; line-height: 1.8; font-family: 'Montserrat', sans-serif; }

#container { margin: 0 auto; text-align: center; position: relative; min-width: 1200px; overflow-x: hidden; }

.inner { display: block; clear: both; width: 1200px; margin: 0 auto; text-align: center; position: relative; }

#contents { width: 100%; }

img { display: inline-block; vertical-align: top; max-width: 100%; }
img.rotate { transform: rotateX(180deg); }

@media screen and (max-width: 759px) { body { font-size: 3.6vw; line-height: 1.6; }
  #container { min-width: 100%; width: 100%; }
  .inner { width: 100%; padding: 0 5vw; }
  .fit { width: 100%; height: auto; }
  .spleft { text-align: left; } }
/*-------------------------------------------------
	++ HEADER
-------------------------------------------------*/
#header { background-color: #FFF; position: relative; padding: 20px 0; }
#header .lang { position: absolute; top: 50px; right: 0; }
#header .lang ul li { display: inline-block; font-size: 16px; padding: 3px 10px; }
#header .lang ul li a, #header .lang ul li span { display: block; }
#header .lang ul li a:hover, #header .lang ul li a.current, #header .lang ul li span:hover, #header .lang ul li span.current { border-bottom: 1px solid #333; }

@media screen and (max-width: 759px) { #header { width: 100%; padding: 3vw 0; }
  #header #logo img { width: 30%; } }
/*-------------------------------------------------
	++ MAIN
-------------------------------------------------*/
#main { position: relative; }
#main .mainImg img { width: 100%; height: auto; }
#main #logo { position: absolute; top: 0; width: 240px; height: 240px; background-color: #FFF; left: 50%; margin-left: -500px; box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.25); }
#main #logo a { display: block; padding: 55px 10px; }

@media screen and (max-width: 759px) { #main #logo { position: absolute; top: 0; width: 25vw; height: auto; background-color: #FFF; left: 3vw; margin-left: 0; }
  #main #logo a { padding: 5vw 3vw; } }
/*-------------------------------------------------
	++ MENU
-------------------------------------------------*/
#menu { margin: 50px auto 20px auto; }
#menu .menuBox { position: relative; background-color: rgba(255, 255, 255, 0.9); width: 100%; }
#menu .logo { display: none; position: absolute; top: 0; left: 0; }
#menu ul { margin: 0 auto; text-align: center; }
#menu ul li { display: inline-block; }
#menu ul li a { display: block; padding: 10px 20px; }

@media screen and (min-width: 760px) { #menu { min-height: 52px; }
  #menu.fixed .logo { display: block; }
  #menu.fixed .menuBox { box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.25); animation: headfixed .3s linear 0s forwards; position: fixed; top: 0; left: 0; z-index: 9998; padding: 10px 0; } }
@media screen and (max-width: 759px) { #spMenuBtn { position: absolute; top: 3vw; right: 3vw; width: 8vw; height: 8vw; z-index: 9998; }
  #spMenuBtn span { display: inline-block; position: absolute; left: 5%; width: 90%; height: 3px; background-color: #4a4646; }
  #spMenuBtn span:nth-of-type(1) { top: 1vw; }
  #spMenuBtn span:nth-of-type(2) { top: 3.6vw; }
  #spMenuBtn span:nth-of-type(3) { bottom: 1vw; }
  #spMenuBtn.current span:nth-of-type(1) { transform: rotate(45deg); top: 3vw; }
  #spMenuBtn.current span:nth-of-type(2) { transform: rotate(-45deg); top: 3vw; }
  #spMenuBtn.current span:nth-of-type(3) { display: none; }
  #menu { position: fixed; top: 0; left: 0; width: 100%; margin: 0; z-index: 9998; }
  #menu .logo { display: block; top: -13vw; left: 40%; width: 20%; }
  #menu .menuBox { width: 100%; background-color: #FFF; display: none; padding: 17vw 0 5vw 0; }
  #menu .menuBox ul li { display: block; font-size: 3.8vw; }
  #menu .menuBox ul li a { display: block; padding: 3vw; } }
@keyframes headfixed { from { transform: translateY(-150%); }
  to { transform: translateY(0); } }
/*-------------------------------------------------
	++ COMMON
-------------------------------------------------*/
.section { padding: 80px 0; }
.section.bgg { background-color: #f6f6f6; }
.section.bgc { background-color: #fdfcf6; }
.section .secHead { margin-bottom: 50px; }
.section .secHead h2 { font-size: 32px; font-weight: 400; }
.section .secWrap h3 { font-size: 24px; font-weight: 400; margin-bottom: 20px; }
.section .secWrap h4 { font-size: 20px; }
.section .secWrap .secFull { margin: 0 auto; text-align: center; }

#about { background: url("../img/about_bg.jpg") center top no-repeat; background-size: 100% auto; }

@media screen and (max-width: 1400px) { #about { background-size: 1400px auto; } }
.bnr { margin-bottom: 50px; }
.bnr:nth-last-of-type(1) { margin-bottom: 0; }

.btn { margin: 30px auto 0 auto; text-align: center; }

a.arrow { display: inline-block; position: relative; background-color: #4a4646; color: #FFF; padding: 3px 25px !important; min-width: 260px; text-align: center; }
a.arrow:after { position: absolute; top: 0; bottom: 0; right: 15px; margin: auto; content: ""; vertical-align: middle; width: 10px; height: 10px; border-top: 1px solid #FFF; border-right: 1px solid #FFF; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

ul.list { padding-left: 15px; }
ul.list li { margin-bottom: 5px; }
ul.list.discList li { list-style-type: disc; }
ul.list.numList li { list-style-type: decimal; }

.emp { margin: 15px 0; display: inline-block; border: 1px solid #333; padding: 3px 20px; }

.line { background: linear-gradient(transparent 60%, #efedd5 60%); }

.note { margin-top: 30px; font-size: 14px; }
.note h4 { display: inline-block; font-weight: 300; font-size: 14px !important; }

.caption { text-align: center; font-size: 16px; }

.flexBox { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.flexBox.jc { justify-content: center; }
.flexBox.ic { align-items: center; }
.flexBox li { margin-bottom: 20px; }
.flexBox li img { width: 100%; height: auto; }

.facilitylist li { margin-bottom: 40px; }
.facilitylist li .img { width: 100%; height: 288px; position: relative; }
.facilitylist li .img img { display: block; width: auto; max-width: 100%; max-height: 100%; margin: auto; text-align: center; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; }

@media screen and (min-width: 760px) { .flexBox .photo img { width: 100%; height: auto; }
  .flexBox.col1 li { width: 100%; }
  .flexBox.col2 li { width: 49%; margin-right: 2%; }
  .flexBox.col2 li:nth-of-type(2n) { margin-right: 0; }
  .flexBox.col2 li:nth-last-of-type(-n+2) { margin-bottom: 0; }
  .flexBox.col3 li { width: 32%; margin-right: 2%; }
  .flexBox.col3 li:nth-of-type(3n) { margin-right: 0; }
  .flexBox.col3 li:nth-last-of-type(-n+3) { margin-bottom: 0; }
  .flexBox.col4 li { width: 23.5%; margin-right: 2%; }
  .flexBox.col4 li:nth-of-type(4n) { margin-right: 0; }
  .flexBox.col4 li:nth-last-of-type(-n+4) { margin-bottom: 0; }
  .flexBox.box28 .boxLeft { width: 20%; }
  .flexBox.box28 .boxRight { width: 80%; }
  .flexBox.box37 .boxLeft { width: 30%; }
  .flexBox.box37 .boxRight { width: 70%; }
  .flexBox.box46 .boxLeft { width: 40%; }
  .flexBox.box46 .boxRight { width: 60%; }
  .flexBox.box55 .boxLeft { width: 50%; }
  .flexBox.box55 .boxRight { width: 50%; }
  .flexBox.box64 .boxLeft { width: 60%; }
  .flexBox.box64 .boxRight { width: 40%; }
  .flexBox.box73 .boxLeft { width: 70%; }
  .flexBox.box73 .boxRight { width: 30%; }
  .flexBox.box82 .boxLeft { width: 80%; }
  .flexBox.box82 .boxRight { width: 20%; }
  .flexBox .boxLeft { text-align: left; }
  .flexBox .boxLeft.haspad { padding-right: 30px; }
  .flexBox .boxRight { text-align: left; }
  .flexBox .boxRight.haspad { padding-left: 30px; } }
.youtube, .gmap { width: 100%; margin: 0 auto; position: relative; padding-top: 56.25%; height: 0; overflow: hidden; }
.youtube iframe, .gmap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media screen and (max-width: 759px) { .section { padding: 10vw 0; }
  .section .secHead { margin-bottom: 5vw; }
  .section .secHead h2 { font-size: 5.4vw; }
  .section .secWrap h3 { font-size: 4.6vw; margin-bottom: 3vw; }
  .section .secWrap h4 { font-size: 3.8vw; }
  .note { margin-top: 3vw; font-size: 3.2vw; text-align: left; }
  .note h4 { font-size: 3.2vw !important; }
  .caption { font-size: 3.2vw; }
  .flexBox li { margin-bottom: 3vw; }
  .flexBox.spcol1 li { width: 100%; }
  .flexBox.spcol2 li { width: 49%; margin-right: 2%; }
  .flexBox.spcol2 li:nth-of-type(2n) { margin-right: 0; }
  .flexBox.spcol2 li:nth-last-of-type(-n+2) { margin-bottom: 0; }
  .flexBox.spcol3 li { width: 32%; margin-right: 2%; }
  .flexBox.spcol3 li:nth-of-type(3n) { margin-right: 0; }
  .flexBox.spcol3 li:nth-last-of-type(-n+3) { margin-bottom: 0; }
  .flexBox.spcol4 li { width: 23.5%; margin-right: 2%; }
  .flexBox.spcol4 li:nth-of-type(4n) { margin-right: 0; }
  .flexBox.spcol4 li:nth-last-of-type(-n+4) { margin-bottom: 0; }
  .flexBox .boxLeft.haspad { padding: 0; }
  .flexBox .boxRight { margin-top: 3vw; }
  .flexBox .boxRight.haspad { padding: 0; }
  .facilitylist li { margin-bottom: 5vw; }
  .facilitylist li .img { height: 34vw; }
  .videoWrap video { width: 100%; height: auto; } }
/*-------------------------------------------------
	++ FORM
-------------------------------------------------*/
.formWrap { padding: 0 150px; }
.formWrap table { border-collapse: separate; border-spacing: 0 20px; width: 100%; }
.formWrap table tr th, .formWrap table tr td { text-align: left; padding: 10px 5px; vertical-align: top; }
.formWrap table tr th { border-bottom: 1px solid #4a4646; width: 25%; color: #4a4646; text-align: right; }
.formWrap table tr th .req { margin-left: 5px; }
.formWrap table tr td { width: 75%; border-bottom: 1px solid #CCC; }
.formWrap table tr td input, .formWrap table tr td textarea { display: block; width: 100%; border: 1px solid #ddd; outline: none; padding: 5px 10px; -webkit-appearance: none; }
.formWrap table tr td input:focus, .formWrap table tr td textarea:focus { border: 1px solid #999; }
.formWrap .req { color: red; font-size: 14px; }

.inputBtn { position: relative; line-height: 1; padding: 10px 20px; margin: 0 auto; display: inline-block; border: 1px solid #4a4646; cursor: pointer; background-color: #f6f6f6; color: #4a4646; -webkit-appearance: none; }
.inputBtn.confirm, .inputBtn.submit { background-color: #4a4646; color: #fff; }

@media screen and (max-width: 759px) { .formWrap { padding: 0 3vw; }
  .formWrap table { border-spacing: 0 3vw; }
  .formWrap table tr th, .formWrap table tr td { padding: 1vw 0; vertical-align: top; display: block; }
  .formWrap table tr th { border-bottom: 0; width: 100%; color: #4a4646; text-align: left; }
  .formWrap table tr th .req { margin-left: 5px; }
  .formWrap table tr td { width: 100%; border-bottom: 1px solid #4a4646; padding-bottom: 3vw; }
  .formWrap table tr td input, .formWrap table tr td textarea { padding: 2vw; font-size: 16px; }
  .formWrap .req { color: red; font-size: 3.2vw; } }
/*-------------------------------------------------
	++ FOOTER
-------------------------------------------------*/
#pageTop { position: fixed; bottom: 60px; right: 60px; width: 65px; height: 65px; }
#pageTop img { width: 100%; height: auto; }

#footer { background-color: #4a4646; color: #FFF; }
#footer .copy { padding: 20px 0; font-size: 14px; }

@media screen and (max-width: 759px) { #pageTop { bottom: 5vw; right: 5vw; width: 14vw; height: 14vw; }
  #spCover { display: none; position: fixed; background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; top: 0; left: 0; z-index: 9997; }
  #spCover.current { display: block; } }
@keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }

/*# sourceMappingURL=style.css.map */
