@charset "utf-8";
/* CSS Document */

html {
	font-family: "Spartan", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
	font-size: clamp(15px, 2.5vw, 23px);
	line-height: 1.8;
	height: 100%;
	word-break: break-word;
	color: #000;
	background-color: var(--color-base);
	-webkit-appearance: none;
	-webkit-tap-highlight-color: transparent;
}
 *,  *::before,  *::after {
 -webkit-box-sizing: border-box;
 box-sizing: border-box;

}



img {
	border: 0;
	margin: 0;
}




body {
	margin:0px;
	padding: 0px;
	text-align:left;
		color:#000;
		position:relative;
	background-color:#;
}

ol, ul, li {
	list-style: none;
	margin:0px;
	padding:0px;
}
a {
text-decoration:none;
display:block;
color:#06F;
}

a:link	{
	text-decoration:none;
	border:none;
}
a:visited	{
	text-decoration:none;
	border:none;
}
a:active	{
	text-decoration:none;
	border:none;
}
a:hover	{
	text-decoration:none;
	border:none;
	transform-origin: center top;
}

a img {
	border: 0;
}

a i {
	margin:0 0 0 5px;
font-size:90%;	
}


div,dl,img,dl,dt,dd,p {
	width:100%;
	padding: 0;
	display:block;
	font-size: clamp(17px, 3vw, 22px);
	line-height:2;
	margin: 0 auto 10px auto;
	/*line-height:2em;*/
}

article, section {
	margin: 0 auto;
	  padding:20px 0;
}



p {
	font-size: clamp(15px, 2.5vw, 20px);
	font-family: Zen Kaku Gothic New, sans-serif;
	color:#333;
}

strong {
font-size: 110%;	
}

br.sp {
	display:none;
}

.mark_orange {
text-decoration: underline;
  text-decoration-color: currentcolor;
  text-decoration-thickness: auto;
text-underline-offset: -0.2em;
text-decoration-thickness: 0.5em;
text-decoration-color: rgba(255, 228, 0, 0.4);
text-decoration-skip-ink: none;
font-size: clamp(18px, 5vw, 26px);

}

/*PCのみ表示*/
.p_pic {
	display:block;
}
.s_pic {
	display: none;
}









/* 全体
------------------------------------------------------------*/
/*header {
	margin:0px;
	padding:0px;
	width:50px;
	position:relative;
}*/


.cd-main-content section p {
	width:98%;
}
.cd-main-content article {
	max-width:1200px;
	
}


/*■共通■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■*/

h1 {
	margin:0px;
	padding:10px 0;
	height:60px;
}

h1 .rogo_s {
	width:100px;
	margin: 0 auto;
	}


h2 {
font-family: "Zen Antique", serif;
/*font-size:clamp(25px, 8vw, 35px);*/
}



section h2 {
	width:100%;
font-family: "Zen Antique", serif;
font-size: clamp(32px, 4.5vw, 60px);
position: relative;
font-weight: normal;
text-align: center;
margin: 10px 0;
color: #169bcd;
letter-spacing: 0px;
line-height: 1.2;
}

section h2 span {
	font-size:clamp(15px, 3vw, 25px);
	font-family: Zen Kaku Gothic New, sans-serif;
	letter-spacing:1px;

}


h3.subtext,
p.subtext {
width:95%;
  color: #666;
  display:block;
  font-weight:normal;
  text-align:center;
  letter-spacing: 1.5px;
  margin:0  auto 15px auto;
  padding:0 0 5px 0;
  text-align: center;
  font-size: clamp(12px, 1.8vw, 18px);
font-family: Zen Kaku Gothic New, sans-serif;
border-bottom:1px solid #333;
}




#contents {
	width:100%;
	min-width:1200px;
	display:block;
	margin: 0 auto;
}

#content h3:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: '';
  border-radius: 3px;
  background-image: -webkit-gradient(linear, right top, left top, from(#2af598), to(#009efd));
  background-image: -webkit-linear-gradient(right, #2af598 0%, #009efd 100%);
  background-image: linear-gradient(to left, #2af598 0%, #009efd 100%);
}


/*注意*/
.commbox {
	width:70%;
	border:1px solid #333;
	margin:50px 0;
	padding:1% 1% 0 1%;
}

.commbox h4,
.commbox p {font-size: clamp(12px, 2vw, 17px); line-height:2;}



iframe {
display:block; margin: 10px 0;	
}







/*フッター*/
footer {
display:block;
position:relative;
width:100%;
background:#333;
padding: 30px 0 0 0;
margin:0;
}

/*メニュー*/
footer .foot_menu {
	width:95%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content:center;
color:#fff;
}

footer .foot_menu li {
height:30px;
line-height:30px;
color:#fff;
margin:0 1%;
text-align:center;
}

footer .foot_menu a {
margin: 0;
font-size:15px;
display:inline;
color:#fff;
}





footer p.copyright {
margin: 30px 0 0 0;
padding:0;
height:15px;
line-height:15px;
font-size:12px;
text-align:center;
width:100%;
color:#fff;
background:#000;
}


@media only screen and (max-width: 1200px) {
.p_pic {
	display:block;
}
.s_pic {
	display: none;
}


/*注意*/
.commbox {
	width:97%;
	border:1px solid #333;
	margin:50px 0;
	padding:0 1%;
	text-align:center;
}

h4 {
	width:97%;
	text-indent:1%;
color: #333;
  /*text-shadow: 0 0 5px white;
  padding: 0.3em 0.5em;*/
  text-align:center;
}



}


/*************************************************
**************************************************
**************************************************
/* スマホ用
**************************************************
**************************************************
*************************************************/

@media only screen and (max-width: 1100px) {

h1 {
	width:180px;
	position:relative;
	margin:0px auto;
	padding:10px 0;
	height: 60px;
/*background-color:#fff;*/
}
h1 .rogo {
	width:100%;
	}
	
h1 .rogo_s {
	width:80px;
	margin: 0 auto;
	}
	
	
	
	

article, section, ol, p {
margin: 0 auto;	
}

p, dt, dd {
	width:100%;
	margin: 0 auto;
	font-size: clamp(17px, 2.5vw, 23px);
display:block;	
}

img {
width:100%;
margin: 0 auto 5px auto;
display:block;	
}

br.sp {
	display: block;
}

/*スマホでのみ表示*/
.p_pic {
	display:none;
}
.s_pic {
	display: block;
}



/*
header {
position: relative;
top: 0px;
height: 50px;
z-index: 9999;
background-color:#fff;
background-image:url(../img/head_bg.jpg);
background-position: top center;
background-repeat:repeat-x;
}
*/

.head_left,
.head_contact {
display:none;	
}

nav {
	display:block;
}


.item {
	position: relative;
  padding: 1% 0 0 0;
  margin: 0;
  display:block;
  text-align: center;
  color:#000;
}


section h2 span {
	letter-spacing:10px;
	display:block;
}



/*
h3 {
font-size:30px;
text-align:center;
margin: 0 0 15px 0;
padding:0 0 3px 0;
border-bottom:1px solid #999;
}*/




#contents {
	margin: 0 auto;
    max-width: 500px;
    min-width: 300px;
	display:block;
}




}




/*ボタン*/

a.whibtn {
	width:300px;
	height:50px;
	line-height:50px;
	margin: 30px  auto;
	display: block;
	text-decoration:none;
	color:#333;
	position:relative;
	border:1px solid #333;
	border-radius:100px;
	background:#fff;
	text-shadow: none;
}
a.whibtn:hover {
	color:#fff;
	background:#333;
}



/*問い合わせ*/
.p-cta {
	padding:50px 0 100px 0;
	margin:0;
	text-align:center;
	background-image:url(../img/bg.jpg);
	background-position:left bottom;
	background-attachment:fixed;
	background-size:cover;
	background-repeat:no-repeat;
	overflow:hidden;
}

.p-cta__btns {
	margin-top:50px;
	text-align:center;
}
.p-cta__btns li {
	width:340px;
	margin:0 auto;
}




.p-cta__btns li:not(:first-child) {
margin-top:20px
}
.p-cta__btns li:nth-child(2) a {
color:#333;
border-color:rgba(0, 0, 0, .5);
background:#fff;
}





a.btn,
.plan .plantext a.btn {
	width:100%;
	height:100px;
	line-height:100px;
	margin: 30px 0;
	display:flex;
	text-decoration:none;
	
	justify-content:center;
	color:#fff;
	position:relative;
	border:1px solid #464f59;
	border-radius:100px;
	background:#464f59;
	text-shadow: none;

}

a.btn:hover,
.plan .plantext a.btn:hover {
	color:#fff;
	background:#333;
}


a.btn i {
	font-size:100%;
	height: 100px;
line-height: 100px;
}



.p-cta__btns li a .txt span {
	display:block
}
.p-cta__btns li a .txt .ja {
	letter-spacing:.14em;
	line-height:1;
	font-size:1.8rem
}
.p-cta__btns li a .txt .en {
	margin-top:.66em;
	letter-spacing:.16em;
	line-height:1;
	font-family:neue-haas-grotesk-display, sans-serif;
	font-size:1.2rem;
	font-weight:400
}

.p-cta__btns li a {
  height: 112px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  position: relative;
  border: 1px solid #464f59;
  border-radius: 57px;
  background: #464f59;
}



.load_footer {
	margin:0px;
	padding:0px;	
}



/*フェードイン*/
/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

.time02 {transition-delay: .2s;}
.time03 {transition-delay: .4s;}
.time04 {transition-delay: .6s;}
.time05 {transition-delay: .8s;}