/* --------------------------
   Default Styling
----------------------------- */

*,*::before, *::after{
	box-sizing: border-box;
}

html{
	scroll-bihavior: smooth;
}

body {
	background: #ffffff;
	color: #2d2d2d;
	font: 100%/1.5;
	  font-family: "Zen Kaku Gothic New", sans-serif;
	  font-weight: 400;
	  font-style: normal;
	  position: relative;
	  word-wrap: break-word;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	margin-top: 0;
	font-size: 1em;
	line-height: 1.1;
	font-weight: normal;
}

ul{
	margin: 0;
	padding-left: 0;
	list-style: none;
}

p{
	line-height: 1.0;
	margin: 0;
	padding: 0;
}

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

.center{
	text-align: center;
        margin:0;
        padding: 0;
}
a{
	text-decoration: none;
	color: #666666;
	cursor: pointer;
}

a:hover,
a:focus{
	transition: .5s;
}

a.clear:hover,
a.clear:focus{
	transition: .5s;
        opacity: 0.3;
}

a, input, textarea{
	transition: all 0.15s ease-in-out;
}

input[type="submit"]:hover{
	cursol: pointer;
}

.dsp_pc{
	display: block;
}


.dsp_sp{
	display: none;
}

@media screen and (max-width: 768px){

.dsp_pc{
	display: none;
}
.dsp_sp{
	display: block;
}

}


/*PCで電話がかからないようにする*/

@media (min-width: 969px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

/* wow.jsに必要　*/
.box {
  animation-fill-mode: forwards;
}


body.preload .wow.fadeIn {
	opacity: 0 !important;
}


/*Reusable Classes--*/

.wrap{
  width: 1280px;
  margin: 0 auto;
}


@media screen and (max-width: 1280px){
.wrap{
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
}
}


@media screen and (max-width: 768px){
.wrap{
  max-width: 600px;
  width: 90%;
  margin: 0 auto;
}
}


.button-primary,
.button-secondary{
	display: inline-block;
	padding: 10px 15px;
	border: none;
	border-radius: 3px;
	color: #fff;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 1px;
	text-decoration: none;

}



.social-links{
	display: flex;
    flex-wrap: wrap;
    font-size: 2rem;
}

.social-links li+li{
	margin-left: 20px;
}



/* font */
// <uniquifier>: Use a unique and descriptive class name

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

/*-----------------------------
	 Header(MVContents)
------------------------------- */
.header{
	width: 100%;
	height: 100vh;
	background-color: #e60033;
	padding: 0;
	margin: 0;
}

@media screen and (max-width: 1024px){
.header{
  	height: 800px;
}
}

@media (max-width: 960px){
.header {
    height: 700px;
}
}

@media (max-width: 420px){
.header {
    height: 600px;
}
}



/*--------------------------
	Contents00
---------------------------*/

.Contents00{
	width: 100%;
	padding: 0 0;
	margin: -40px auto 200px;
	background-color: #e60033;
	z-index: 1;
}


.Contents00_Cover{
	width: 100%;
	padding: 250px 0;
        border-radius: 100px 100px 0 0 ;        /* 角丸指定 */
	margin: 0 auto 200px;
        background-color: #ffffff;
	position: relative;
	z-index: 2;
}


@media (max-width: 1280px){
.Contents00_Cover{
	padding: 220px 0;
        border-radius: 80px 80px 0 0 ;        /* 角丸指定 */
	margin: 0 auto 170px;
}
}



@media (max-width: 960px){
.Contents00_Cover{
	padding: 140px 0;
        border-radius: 50px 50px 0 0 ;        /* 角丸指定 */
	margin: 0 auto 140px;
}
}

@media (max-width: 600px){
.Contents00_Cover{
	padding: 100px 0;
        border-radius: 30px 30px 0 0 ;        /* 角丸指定 */
	margin: 0 auto 100px;
}
}


/*--------------------------
	Contents01
---------------------------*/

.Contents01{
	width: 100%;
	padding: 180px 0 0;
	margin: -10px auto 0;
	background: #f4efeb url('../images/contents01/contents01-top_back.png')center / 100% 860px no-repeat;
        background-position: top left;
	z-index: 10;
}


@media (max-width: 1280px){
.Contents01{
	width: 100%;
	padding: 140px 0 0;
	margin: -10px auto 0;
	background: #f4efeb url('../images/contents01/contents01-top_back1280.png')center / 100% 573px no-repeat;
        background-position: top left;
}
}

@media (max-width: 960px){
.Contents01{
	width: 100%;
	padding: 100px 0 0;
	margin: -10px auto 0;
	background: #f4efeb url('../images/contents01/contents01-top_back960.png')center / 100% 430px no-repeat;
        background-position: top left;
}
}

@media (max-width: 600px){
.Contents01{
	width: 100%;
	padding: 100px 0 0;
	margin: -10px auto 0;
	background: #f4efeb url('../images/contents01/contents01-top_back600.png')center / 100% 269px no-repeat;
        background-position: top left;
}
}


/*-------------------------------
	Contents02
--------------------------------*/

.Contents02{
	width: 100%;
	padding-bottom: 300px;
	margin: 0 auto;
}

@media (max-width: 1280px){
.Contents02{
	padding-bottom: 200px;
}
}

@media (max-width: 960px){
.Contents02{
	padding-bottom: 160px;
}
}

@media (max-width: 600px){
.Contents02{
	padding-bottom: 100px;
}

}

/*-------------------------------
	Contents03
--------------------------------*/

.Contents03{
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0 auto;
	background-color: #ffffff;
	z-index: 1;
}

.Contents03_Cover{
	width: 100%;
	height: auto;
	padding: 200px 0 0;
        border-radius: 100px 100px 0 0 ;  /* 角丸指定 */
	margin: 0 auto;
        background-color: #f4efeb;
	position: relative;
}


@media (max-width: 768px){
.Contents03_Cover{
	/*width: 100%;
	height: auto;*/
	padding: 140px 0 0;
         border-radius: 80px 80px 0 0;
	 /*margin: 0 auto;
        background-color: #f4efeb;
	position: relative;*/
}
}

@media (max-width: 768px){
.Contents03_Cover{
	padding: 120px 0 0;
         border-radius: 40px 40px 0 0;
}
}


@media (max-width: 600px){
.Contents03_Cover{
	padding: 120px 0 0;
         border-radius: 60px 60px 0 0;
}
}

.Contents03_Hakama{
	width: 100%;
	height: 150px;
	padding: 0;
	margin: 0 auto;
	background: #ffffff url('../images/contents03/contents03-cover_bottom.png')center / 100% 150px no-repeat;
        background-position: bottom center;
}


@media (max-width: 768px){
.Contents03_Hakama{
	height: 100px;
	background: #ffffff url('../images/contents03/contents03-cover_bottom.png')center / 100% 100px no-repeat;
}
}

/*-------------------------------
	Contents04
--------------------------------*/

.Contents04{
	width: 100%;
	padding: 0;
	margin: 300px auto 0;
	background-color: #ffffff;
	z-index: 1;
}


