@charset "UTF-8";
*:focus {
  outline: none;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  font-size: 0.6666666667vw;
}

img {
  line-height: 0;
  display: inline;
  max-width: 100%;
}

ol, ul {
  list-style: none !important;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after {
  content: "";
  content: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a {
  text-decoration: none;
  color: #323232;
  -webkit-tap-highlight-color: transparent;
  -webkit-transition: all ease .3s;
  transition: all ease .3s;
}

a:hover {
  text-decoration: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

input[type="button"], input[type="submit"] {
  -webkit-appearance: none;
}

label {
  -webkit-tap-highlight-color: transparent;
}

body {
  color: #323232;
  font-family: 'Noto Sans JP','M PLUS Rounded 1c',"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  line-height: 1.8;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-all;
  /*-webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;*/
}


h1, h2, h3, h4, h5, h6 {
  letter-spacing: normal;
}

.sp, .tb {
  display: none;
}

/*
  ここまでcommon
--------------------------------------------- */
.pc {
  display: inherit;
}

.sp {
  display: none;
}
.center{
	text-align:center;
}
.palt{
	  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
a:hover{
	opacity:0.8;
}
header{
	 background:#00617e;
	 max-width:2000px;
	  max-height: 800px;
	 margin:0 auto;
	 width:100%;
	  height: 40vw;
}
.kv{
	 width:100%;
	 height:100%;
}
.slide01 {
  background-image: url(../images/kv_pc1.jpg);
  height: 40vw;
  background-size: auto 100%;
  background-position: center top;
  background-repeat: no-repeat;
  max-height: 800px;
}
.slide02 {
  background-image: url(../images/kv_pc2.jpg);
  height: 40vw;
  background-size: auto 100%;
  background-position: center top;
  background-repeat: no-repeat;
  max-height: 800px;
}
h1{
	width: 29.3vw;
	left: 50%;
	top: 6vw;
	position: absolute;
	z-index: 55;
}
.header-link{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 22vw;
	z-index: 55;
	display: flex;
	justify-content: space-between;
	width: 62%;
	max-width: 1030px;
}
.header-link > div{
	width: 46.6%;
	max-width: 480px;
}
main{
	width: 100%;
	max-width:2000px;
	margin: auto;

}
h2 img{
		width: 32%;
	max-width: 448px;
}
.overseas-inner{
	width:55%;
	max-width:1280px;
	margin:auto;
}
.sec01 h2{
	margin:120px auto 34px;
}
.sec01-01{
	 background:url(../images/sec01-bg_pc.png) left top no-repeat #00617e;
	 height: 44vw;
	background-size: auto 100%;
	max-height:640px;
	background-position: calc(50% - 42vw) 0;
}
.sec01-01 p{
	 color:#fff;
	 font-size:1.85rem;
	 line-height:2;
	 padding-bottom: 12%;
}
.img-wrap{
	tex-align:center;
	width:50%;
	float:left;
}
.img-wrap img{
	width:70%;
	max-width:450px;
	padding-top: 6%;
	margin-left:12%;
}
.text-wrap{
	padding-top:10%;
	width:50%;
	float:left;
}
.btn-link{
	text-align:center;
}
.btn-link a{
	font-size: 2.8rem;
	font-weight: 700;
	background: #fff;
	display: block;
	line-height: 5.6vw;
	border-radius: 2.8vw;
	color: #00617e;
	max-height: 80px;
}
.clublist{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	
}
.clublist > div{
	width:50%;
	text-align:center;
	margin-bottom:48px;
}
.clublist-en{
	font-size:2.6rem;
	font-weight:700;
	color: #00617e;
	line-height: 1.2;
}
.clublist-jp{
	font-size:1.9rem;
	font-weight:500;
}
.sec01-02,.sec01-03 {
	margin-top:110px;
}
h3{
	text-align:center;
	color: #00617e;
	font-size:4.6rem;
	margin-bottom:48px;
	font-weight:900;
}
h3 span{
	padding:0 0 6px;
	border-bottom:#00617e solid 2px;
	width:44.444444vw;
	max-width:640px;
	display: inline-block;
}
.btn-link.linkto-club02 a,.btn-link.linkto-club03 a{
	background:#00617e;
	color:#fff;
	width: 44.444444vw;
	margin: 0 auto;
	max-width:640px;
}
.sec01-03-box{
	width:90%;
	max-width:960px;
	background:#e9eef2;
	padding:46px 0 60px;
	margin: auto;
}
.box-inner{
	width: 66.666666%;
	margin:auto;
}
.box-inner h4{
	font-weight:900;
	font-size:36px;
	color: #00617e;
	padding-left:86px;
	position:relative;
	margin-bottom:30px;
	line-height: 1.4;
}
.box-inner p{
	font-size:19.2px;
	line-height:2;
}
.box01 .box-inner p{
	margin-bottom:50px;
}

.box01 .box-inner h4:before,.box02 .box-inner h4:before,.box03 .box-inner h4:before{
	content:"";
	display:block;
	position:absolute;
	width:66px;
	height:66px;
	background:url(../images/no01.png) center center no-repeat;
	left: 0;
	top: -6px;
}
.box02 .box-inner h4:before{
	background:url(../images/no02.png) center center no-repeat;
}
.box03 .box-inner h4:before{
	background:url(../images/no03.png) center center no-repeat;
}
.arrow{
	margin:22px auto;
	text-align:center;
}
.sec01-03{
	padding-bottom:100px;
}
.sec01-04{
	 background:url(../images/sec01-04_pc.png) right top no-repeat #00617e;
	 height: 280px;
	background-size: auto 100%;
	background-position: calc(50% + 500px);
}
.sec01-04 p{
	color:#fff;
	font-size:19px;
	line-height:2;
	padding-top:80px;
	width:720px; 
	margin:auto;
}

.sec02 h2{
	margin:150px auto 34px;
}
.sec02-01{
	 background:url(../images/sec02-bg_pc.png) right top no-repeat #00617e;
	 height: 44vw;
	background-size: auto 100%;
	max-height:640px;
	background-position: calc(50% + 42vw) 0;
}
.sec02-01 p{
	 color:#fff;
	 font-size:1.9rem;
	 line-height:2;
	 padding-bottom: 8%;
}
.sec02-01 .text-wrap{
	padding-top:6%;
	width:50%;
	float:right;
}
.sec02-01 .img-wrap{
	tex-align:center;
	width:50%;
	float:right;
}
.sec02-01 .img-wrap img{
	width:70%;
	max-width:450px;
	padding-top: 6%;
	margin-right:12%;
}
.sec02-03{
	margin-top:90px;
}
.sec02-03-box {
  width: 90%;
  max-width: 960px;
  background: #e9eef2;
  padding: 46px 0 60px;
  margin: auto;
}
.sec02-04 {
  background: url(../images/sec02-04_pc.png) right top no-repeat #00617e;
    background-position-x: right;
    background-position-y: top;
    background-size: auto;
  height: 280px;
  background-size: auto 100%;
  background-position: calc(50% + 500px);
}
.sec02-03 {
  padding-bottom: 100px;
}
.sec02-04 p {
  color: #fff;
  font-size: 19px;
  line-height: 2;
  padding-top: 60px;
  width: 800px;
  margin: auto;
}


.totop{
	width:140px;
	height:140px;
	border-radius:70px;
	border:2px solid #00617e;
	background:#fff;
	font-size:18px;
	line-height:1.2;
	position:fixed;
	right:70px;
	bottom:70px;
  opacity: 0;
  visibility: hidden;
	
}
.totop.active{
  opacity: 1;
  visibility: visible;
}
.totop.absolute{
  position: absolute;
  top: -70px;
  bottom: auto;
}
.totop span{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	display:block;
	width:100%;
	color:#00617e;
	font-weight:700;
}
footer{
	position:relative;
}
.foot_wrap{
	text-align:center;
}
.foot_logo {
  width: 24%;
  max-width: 340px;
  display: block;
  margin: auto;
}
.foot_pp_wrap{
	padding:75px 0;
}
  @media screen and (min-width: 2001px){
	h1{
	width: 544px;
	top: 182px;
	}
	.header-link{
		top: 480px;
	}
  }
  @media screen and (min-width: 1440px){
	html {
	  font-size: 62.5%;
	}
	.sec01-01 p {
	  font-size: 1.75rem;
	}
	.sec01-01 {
	  background-position: 0 0;
	}
	.btn-link a{
		line-height:80px;
	}
	.img-wrap img {
	  padding-top: 7%;
	}
	.totop{
	right:10%;
	bottom:70px;
	}
 }

@media screen and (max-width: 1000px) {
	.box-inner {
	  width: 86%;
	}
	.sec02-04 p{
		font-size:1.9vw;
		width:82%;
	}
	
}


@media screen and (max-width: 768px) {
	html {
	  font-size: 1.3333333333vw;
	}
  .pc {
    display: none;
  }
  .tb {
    display: none;
  }
  .sp {
    display: inherit;
  }
  
  header{
	  height:220vw;
	  max-height: 1689px;
	  background: url(../images/sp-header-bottom.png) bottom center #00617e no-repeat;
	  background-size:100% auto;
	}
	.kv{
		 width:100%;
		  height: 117.333333vw;
	}
	.slide01 {
	  background-image: url(../images/kv_sp1.jpg);
	  height: 117.333333vw;
	  max-height: 900px;
	}
	.slide02 {
	  background-image: url(../images/kv_sp2.jpg);
	  height: 117.333333vw;
	  max-height: 900px;
	}
	h1{
		width: 90%;
		max-width:680px;
		left: 50%;
		top: 58vw;
		transform:translateX(-50%);
		position: absolute;
		z-index: 55;
	}
	.header-link{
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 93vw;
		z-index: 55;
		display: inherit;
		width: 90%;
		max-width: 680px;
	}
	.header-link > div{
		width: auto;
		max-width:inherit;
		margin-bottom:6.2vw;
	}
	h2 img {
	  width: 90%;
	  max-width: 680px;
	}
	.sec01 h2 {
	  margin: 40px auto;
	}
	.sec01-01 {
	  background-color: #00617e;
	  height: auto;
	  background-size: inherit;
	  max-height: inherit;
	  background-position: inherit;
	  width: 90%;
	  max-width: 680px;
	  margin:auto;
	  background-image:none;
	  padding: 4vw 0 10vw;
	}
	.overseas-inner {
	  width: 92%;
	  max-width: 620px;
	}
	.img-wrap {
	  text-align: center;
	  width: auto;
	  float: none;
	}
	.text-wrap {
	  padding-top: 6vw;
	  width: 90%;
	  float: none;
	  margin:auto;
	}
	.img-wrap img {
	  width: auto;
	  max-width: 100%;
	  padding-top: 0;
	  margin-left: 0;
	}
	.sec01-01 p {
	  font-size: 15px;
	  padding-bottom: 6vw;
	}
	.btn-link a {
	  font-size: 15px;
	  line-height: 60px;
	  border-radius: 30px;
	  max-height: 60px;
	}
	.sec01-02 {
	  margin: 13vw auto 0;
		width:90%;
	}
	h3 {
	  font-size: 29px;
	  margin-bottom: 6vw;
	}
	h3 span {
	  width: 92%;
	  max-width: 340px;
	}
	.clublist {
	  display: inherit;
	  margin-bottom: 8vw;
	}
	.clublist > div {
	  width: auto;
	  text-align: left;
	  margin-bottom: 4vw;
	}
  	.clublist-en{
	font-size:22.5px;
	}
	.clublist-jp{
		font-size:15px;
	}
  	.btn-link.linkto-club02 a, .btn-link.linkto-club03 a {
	  width: 92%;
	  margin: 0 auto;
	  max-width: 620px;
	}
  	.box-inner {
	  width: 100%;
	}
	.box-inner p {
	  font-size: 15px;
	}
	.sec01-03-box .btn-link.linkto-club02 a {
		  width: auto;
	}
	.sec01-03-box {
	  background: none;
	  padding: 7vw 0;
	  }
	  .box01 .box-inner p {
	  margin-bottom: 6vw;
	}
	.box-inner h4 {
	  font-size: 23px;
	  padding-left: 54px;
	  margin-bottom: 4vw;
	}
	.box01 .box-inner h4::before, .box02 .box-inner h4::before, .box03 .box-inner h4::before {
	  width: 40px;
	  height: 40px;
		background-size: 100%;
	  top: -4px;
	}
	.arrow{
	  display:flex;
	  align-items: center;
	  justify-content: center;
	}
	
	.arrow::before,
	.arrow::after{
	  content: "";
	  flex-grow:1;
	  border-top: 2px solid #00617e;
	}
	
	.arrow:before {
	  margin-right: 1rem; 
	}
	.arrow:after {
	  margin-left: 1rem; 
	}
	.arrow img{
		max-width: 70px;
		width: 9.3333vw;
	}
	
	.sec01-04 {
	  background: url(../images/sec01-04_sp.png) center bottom no-repeat #fff;
	  height: 86vw;
	  background-size: 100% auto;
	background-position: center bottom;
	  display: flex;
		align-items: center;
	}
	.sec01-04 p{
		font-size:15px;
		padding-top: 0;
		width: 80%;
	}
	.sec01-03 {
	  margin: 13vw auto 6vw;
	  width: 90%;
	  padding-bottom: 0;
	}
	.sec02 h2 {
	  margin: 60px auto 30px;
	}
	.sec02-01 {
	  background-color: #00617e;
	  height: auto;
	  background-size: inherit;
	  max-height: inherit;
	  background-position: inherit;
	  width: 90%;
	  max-width: 680px;
	  margin:auto;
	  background-image:none;
	  padding: 4vw 0 10vw;
	}
	.sec02-01 .img-wrap {
	  text-align: center;
	  width: auto;
	  float: none;
	}
	.sec02-01 p {
	  font-size: 15px;
	  padding-bottom: 6vw;
	}
	.sec02 .text-wrap {
	  padding-top: 6vw;
	  width: 90%;
	  float: none;
	  margin:auto;
	}
	.sec02 .img-wrap img {
	  width: auto;
	  max-width: 100%;
	  padding-top: 0;
	  margin-left: 0;
	}
	.sec02 .btn-link a {
	  font-size: 15px;
	  line-height: 60px;
	  border-radius: 30px;
	  max-height: 60px;
	}
	.sec02-03-box .btn-link.linkto-club02 a {
		  width: auto;
	}
	.sec02-03-box {
	  background: none;
	  padding: 7vw 0;
	  }
	.sec02-04 {
	  background: url(../images/sec02-04_sp.png) center top no-repeat #fff;
	  height: 86vw;
	  background-size: 100% auto;
	  background-position: 0 0;
	  display: flex;
		align-items: center;
	}
	.sec02-04 p{
		font-size:15px;
		padding-top: 0;
		width: 80%;
	}
	.sec02-03 {
	  margin: 13vw auto 6vw;
	  width: 90%;
	  padding-bottom: 0;
	}
	.foot_logo {
	  width: 56%;
	  max-width: 420px;
	}
	.totop {
	  width: 82%;
	  height: 60px;
	  border-radius: 30px;
	  font-size: 15px;
	  line-height: 1;
	  position: inherit;
	  display: block;
	  margin: 10vw auto 0;
	}
	.totop span {
	  position: inherit;
	  transform: inherit;
	  display: block;
	  color: #00617e;
	  line-height: 54px;
	}
	.totop.absolute {
	  position: inherit;
	}
	
}