@charset 'UTF-8';

/* 
Theme Name:Mount River GYM 
Theme URI: https://www.genius-web.co.jp/blog/
Description: マウントリバージムのホームページ
Author: Shingo
*/


/* # 全体共通のセクション */
* {
  box-sizing: border-box;
}
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body{
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  font-size: 1em;
  line-height:  1.8;
  background-color:white;
  display: flex;
  flex-direction: column;
  padding: 0;
}

h1,h2,h3,h4,p{
  margin: 0;
  padding:0;
}

p{
  font-family: 'Kosugi Maru', sans-serif;
  font-size: min(1.5625vw, 20px);
}

a:link, a:visited,a:hover,a:active,a:focus {
  color: inherit;
  text-decoration: none;
  list-style: none;
}

.container {
  margin: 0 auto;
  padding: 0;
  max-width:1200vw;
  position:relative;

}

ul{
    text-align: center;
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
}


/* ヘッダー */

.wrapper{
  background-color: #ff2a2a;
}

.hdr{
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  width: 88.75vw;
  height: 72px;
}

header{
  z-index: 10;
  height: 72px;
  position: relative;
  top:0px;
  left:0;
  text-align:inherit;
  padding:0;
}

a{
  display: block;
  }

#gymLogo{
  display: content;
}

#gymLogo img{
  width: auto;
  height: 72px;}

.flex{
 display: flex;
 justify-content: center;
 margin: 0 auto;
}

.engMenu{
  font-size:30px;
  font-family: 'League Gothic', sans-serif;
  line-height:normal;
  display: inline-block;
  margin-top: 5px;
  padding:0;
}

.jpMenu{
  font-size: 12px;
display: inline-block;
padding:0;
}


.pc-nav li{
  box-sizing: border-box;
  position: relative;
  width:calc((1200vw - 207vw)/5);
  margin-left: -1px;
  height: 72px;
  color: white;
  background-color: #ff4242;
  border: 1px solid grey;
}

header nav{
  display: block !important;
 white-space: nowrap;
 text-overflow: ellipsis;
}

/* メニューボタンのホバー色 */
header li:hover{
  background-color: #801414;
}

.dropdown_lists{
    width: 100%;
      text-align: center;
    display: none;
    position: absolute;
    padding: 0;
    margin: -1px 0 0 0;
}

.dropdown_lists a{
  width:inherit;
  padding-top: 17px;
  padding-bottom:  24px;
}

.dropdown_jpMenu{
font-size: min(1.25vw, 20px);
position: relative;
word-break: break-all;
font-family: 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

.abt li{
  width: 100%;
  margin: -1px 0 0 0;
  top:-5%;
  display: block;
}

.abt:hover ul{
  display: block;
  top: 100%;
}

/* メインメニューの色 */
.mainMenu li{
  width: auto;
  height: auto;
  text-align: center;
  list-style: none;
  text-decoration: none;
  background-color:#ff4242;
  border:1px solid #a49999;
  border-width: 1px;
  color: white;
}

/* メインコンテンツ */
.wrapper2{
  width: 88.75vw;
}

main{
  min-width: 88.75vw;
  width: 88.75vw;
}

.mainContents{
  display:contents;
  position: relative;
}

main h2{
  font-size: min(1.875vw, 20px);
  color:black;
  margin-top:20.5px;
  padding: 7px 0 5px 2px;
  border-left: #ff2a2a solid 6px;
  border-bottom: #ff2a2a 1px solid;
}

main h3{
  font-size: min(1.5625vw, 20px);
  color: inherit;
  margin: 25px 0 18px 0;
  font-family: mintyo;
}

.sidePics{
  display: block;
  width: 100%;
}

.hdrSide{
  margin-top: 0;
}

.contents{
  margin-top: 25px;
}

h2{
  width: 50%;
}

/* フッター */
.wrapper3{
  z-index: 5;
  background-color: #ff2a2a;
  margin-top: auto;
  text-align:center;
}

footer{
  width: 100%;
  position: relative;
  box-sizing: border-box;
  height: 12.9vh;
}

.fttr{
  color: white;
  background-color: #ff2a2a;
  margin: 0 auto;
  padding: 0;
  height: 12.9vh;
}

.fttr nav {
    list-style:none;
    margin: 0 auto;
    padding: 0;

}
.fttr nav ul li{
    margin: 0 1em;
    padding: 0;
    font-size: min(1.25vw, 20px);
    margin-top: 7px;
}

footer nav ul{
 display: flex;
 justify-content: center;
}

small{
  font-size: 9px;
}

small a{
  margin: 5px 0 -5px 0;
}

/* サイドメニュー＿SNS */
.hover-social{
  background-color: #ff7036;
  position: fixed;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  padding: 8px 0;
  border:2px solid black;
  width: 140px;
  height: 160px;
  top:50%;
  left:-100px;
  z-index: 100;
  opacity: .5;
  transition: 1s;
}

.openObj{
  background-color: #ff7036;
  position: fixed;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  padding: 8px 0;
  border:2px solid black;
  width: 140px;
  height: 160px;
  top: 50%;
  left:0px;
  z-index: 100;
 transition: 1s;
 opacity: 1;
}

.hover-social .nameSNS{
  font-size: 15px;
  font-style: normal;
  font-weight: 200;
  color: white;
  text-align: left;
  display:inline-block;
  text-indent: 1.5em;
}

.openObj a :hover{
 background-color: black;
}

.iconSNSforPC img{
  width:20px;
  height:20px;
  margin-top: 4px;
  margin-right:10px;
  margin-left: auto;
}

.iconSNSforPC .nameSNS{
  display: flex;
}


/* TOPページ */

  #topPic{
  width: 88.75vw;
  height: 81vh;
  vertical-align:baseline;
  position: absolute;
  object-fit: cover
  }

.news{
  position: absolute;
  background-color: #ffd642;
  top:50vh;
  height:50vh;
  width: 32vw;
  z-index: 2;
  margin: 0;
  padding-left: 6px;
}

.news h1{
  margin-top: 25px;
  margin-bottom: 14px;
  line-height: 0;
  font-size: min(1.875vw, 20px);
  font-family: "Cooper Black", cursive;
  word-wrap: break-word;
}
.news p,time{
  font-size: min(1.25vw, 20px);
  font-family: 'Kosugi Maru', sans-serif;
  margin: 9px 0 9px;
}

/* trainer */
.trainer_discription{
  text-align: center;
}

.trainer_name{
  margin: 0;
  font-size: min(2.5vw, 20px);
}
.trainer_discription p{
  margin-top: 0;
  padding: 0;
  border: 0;
  font-size: min(1.25vw, 20px);
}

main .trainer img {
  width: 28vw;
}

.members{
 justify-content: space-between;
 margin-top: 56px;
}

/* GymInfo */
.gyminfo img{
  display: block;
  width:50%; 
  height:400px;
}
.gyminfo div div{
  border: solid 1px black;
  display: flex;
  flex-wrap:normal; 
  width:50%; 
  height:400px;
  font-size: 24px;
  align-items: center;
}

.gyminfo div p{
 margin: 0 auto;
}

.weight{
  flex-direction: row-reverse;
}

/* Course */
.crs-plan{
  display: flex;
  justify-content: space-between;

}

.crs-plan text, .crs-plan p,.crs-plan h4{
  font-size: min(1.25vw, 20px);
}

.crs-plan > div
{
  width: calc(84.5vw/3);
  }

#prejoin{
  color: #400a0a;
}

#prejoin h3{
  margin:18px 0 0 0 ;
}

#prejoin p{
  color: #400a0a;
}
  
.membership p{
margin-bottom: 1em;
}

.membership p:last-child{
  margin-top: 2em;
}

.membership{
  margin-top: 56px;
}

.membership h3{
  font-size: min(1.875vw, 20px);
}

.stnd h4,
.wked h4{
  color:#ff2a2a;
}

.stnd .payment,
.stnd .payment div,
.wked .payment,
.wked .payment div{
  border:1px #ff2a2a solid;
}

.wkly h4{
  color:#00b333;
}
.wkly .payment,
.wkly .payment div{
  border:1px solid #00b333;
}


.payment{
 box-sizing: border-box;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns:auto ;
  font-size: min(1.25vw, 20px);
}

.payment div{
  text-align: center;
}

.space{
grid-column: 1;
grid-row: 1;
}

.Adult{
  grid-column: 2;
  grid-row: 1;
}

.student{
  grid-column: 3;
grid-row: 1;

}

.AdFee{
  grid-column: 1;
  grid-row: 2;
}

.mnFee{
  grid-column: 1;
  grid-row: 3;
}

.adPrice{
grid-column: 2/4;
grid-row: 2;
}

.maPrice{
  grid-column: 2/3;
  grid-row: 3;
}

.msPrice{
  grid-column: 3/3;
  grid-row: 3;
}


/* Join */
.join1 p,
.join2 p
{
  font-size: min(1.5625vw, 20px);
}

.join1 div{
  display: block;
  width: 50%;
}

.join1 p{
display: inline-block;
  margin-right: 102px;
}

/* .join1 img{
  display: block;
  width: 50%;
} */

.join2{
  margin-top:65px ;
}

.join2 p{
margin: 1em 0;
}

#juvnile{
  display: inline-block;
}

/* Privercy―policy */
#prvcy .contents p{
  margin-top: 1em;
  font-size: min(1.5625vw, 20px);
}
#prvcy article{
  margin-bottom: 125px;
}

/* Access */
.access div{
  justify-content: space-between;
  width: 50%;
  margin-bottom: 171px;
}
.access p,
.access h4{
    margin-right: 102px;
    font-size: min(1.5625vw, 20px);
  }
.access iframe{
width: 100%;
height: 295px;
}

/* Contact */
.contact div{
  justify-content: space-between;
  width: 50%;
  margin-bottom: 171px;
  display: block;
}
.contact p{
    display: block;
    margin-right: 102px;
  }

/* .contact img{
    width:50%;
  } */


label{
  display:block;
}


#gender{
  display: flex;
}

#gender input{
  height: 12px;
  top: 2px;
  height: 12px;
  position: relative;
}
#age{
  width: 36px;
  height: 24px;
  max-width: 100%;
  font-size: min(1.5625vw, 20px);
}

#input{
font-size: min(1.5625vw, 20px);
margin-bottom: 171px;
}

/* input{
    height:4.44vh;
    top: 2px;
} */

.inputLgth, textarea {
    width: 50%;
    height: 24px;
    font-size: min(1.5625vw, 20px);
}

#message{
  height: 80px;
}


/* 無料体験のリンク */
.linkforKPI {
  width: 100%;
  height: auto;
}
.linkforKPI div p{
  color:black;
  background-color:#ffd642;
  position: relative;
  border: 3px solid #000;
  border-radius: 20px;
  width: 50%;
  height: 20vh;
  left: 50%;
  margin-top: 5.468vh;
  margin-bottom: 4.895vh;
  text-align: center;
  height: auto;    
  line-height: auto;
  font-size: min(1.875vw, 20px);
  padding:2.604vh;
  overflow: hidden;
}
.linkforKPI div p:hover{
  opacity: 0.5;
}

/* SPのためのスタイル */
.spMenu,#spLogo{
  display: none;
}

#snsHead{
  display: none;
}


@media(max-width: 900px) {

html,body{
  margin: 0;
  padding: 0;
}

.wrapper2,main{
  width: 100vw;
}

h1,h2,h3,h4,p{  
  font-size: 12px;
}

.wrapper{
 width: 100vw;
}

.wrapper2{
  margin: 0;
}

.wrapper3{
  min-height: 40vh;
  margin-top: auto;
  width: 100vw;
}

.spMenu{
  display: contents;
  width: 100vw;
  height: 100vh;
}

#spLogo{
  display: block;
  position: relative;
}
#spLogo img{
 width: 100vw;
 height: auto; 
}

.pc-nav{
  display: none;
}

#hamburger {
  position: relative;
  display: block;
  width: 30px;
  height: 25px;
  margin: 0 0 0 auto;
}

#hamburger span {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transform: translateY(-50%);
}

#hamburger::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
}
#hamburger::after {
  color: #fff;
  content: 'menu';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 70%;
  height: 2px;
  background-color: #fff;
}

.sp-nav {
  z-index: 1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: block;
  background: rgba(0, 0, 0, .8);
  transition: all .2s ease-in-out;
  opacity: 0;
  transform: translateY(-100%);
}

.sp-nav ul {
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  overflow: auto;
}
.sp-nav li {
  margin: 0;
  padding: 1.5vh;
  font-size: .5vh;
}
.sp-nav li span {
  font-size: 15px;
  color: #fff;
}
.sp-nav li a, .sp-nav li span {
  display: block;
  padding: 0;
}

/*ハンバーガーメニュー：基準のli要素*/
.sp-nav .closeSp {
  position: relative;
  padding-left: 20px;
}
/*バツ印線1*/
.sp-nav .closeSp::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 16px;
  height: 1px;
  background: #fff;
  transform: rotate( 45deg );
}
/*バツ印線2*/
.sp-nav .closeSp::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 16px;
  height: 1px;
  background: #fff;
  transform: rotate( -45deg );
}

.openSp{
  transform: translateY( 0 );
  opacity: 1;
  color:white;
}

#hiddenObj{
  display: none;
}

/* footer */

.fttr,
footer,
.wrapper3 footer nav
{
  width: 100vw;
  height: auto;
  text-align: left;
}

footer nav ul{
  align-items: flex-start;
  flex-direction: column;
  width: 100vw;
}

footer small,
footer small a
{
  padding-left:7px;}


.linkforKPI div p{
  align-items: center;
  color:black;
  background-color:#ffd642;
  position: relative;
  border: 3px solid #000;
  border-radius: 20px;
  width: auto;
  height: 20vh;
  left: 0;
  text-align: center;
  font-size: 18px;
  padding: auto;
  overflow: hidden;
  height: auto;    
  line-height: auto;
}

/* sns */
#snsHead{
  display: block;
}
#snsHead ul{
justify-content: flex-start;
margin: -28px 0 0 -15px;
}
#snsHead ul li{
  background-color: #ff2a2a;
  text-decoration: none;
  list-style: none;
}
#snsHead img{
  background-color: white;
  width:30px;
  height:30px;
  border: 2px solid #ff4242;
;
  margin-left: 5px;
}

/* TOP */
#topPic{
  width: 100vw;
  height: auto;
  position: relative;
  margin-bottom: -8px;
}

.news{
  width: 100vw;
  height: auto;
  position: inherit;
  padding: 1px 0;
}

.news div h1,
.news div p,
.news div time
{
  font-size:12px;
}

/* Trainer */
.members{
  flex-direction: column;
  align-items: center;
}

.members div{
 display: block;
}

main .trainer img {
  width: 50vw;
}

.trainer_discription {
  text-align:left;
}

/* gyminfo */
.gyminfo div{
  flex-direction: column;
  width: 100%;
  height: auto;
}
.gyminfo div div{
  width: 100vw;
  height: auto;
}

.gyminfo img {
  display: block;
  width: 100vw;
  height: auto;
}

/* COURSE */
.crs-plan{
flex-direction: column;
}
.crs-plan div{
width:100%;
}

.join1 p,
.join2 p,
article h2,
article h3,
.crs-plan h4,
.crs-plan p,
.payment text,
.membership h3,
.access h4,
.access p,
form div,
footer li a{
  font-size: 12px;
}


/* Join */

.join1{
  flex-direction: column;
}
.join1 div,
.join1 img
{
width: 100%;
}

.join1 p {
  display: inline-block;
  margin:0;
}

/* Access */
.access,
.contact
{
  flex-direction: column;
}
.access div{
  width: 100vw;
 margin: 1em 0;
}

/* Contact */

.contact div,
.contact img{
  width: 100vw
}

.contact div{
  margin: 1em 0;
}

#input,
.contact p {
  display: block;
  margin:1em 0;
}

#age{
width: 3em;
max-width: 100%;
font-size: min(1.5625vw, 20px);
}

#name,
textarea{
  font-size: 12px;
}

#message{
  height: 64px;
  width: 50%;
	}
	
.inputLgth {
 width: 50%;
 height: 24px;
 font-size: min(1.5625vw, 20px);
}
}