/*-----------------------
 body
-------------------------*/
body{
padding-top:78px;
width: 100%;
max-width: 1920px;
margin: 0 auto;
}
.wrap{
width: 1000px;
margin: 0 auto;
}


/*-----------------------
 header
-------------------------*/
header{
width: 100%;
max-width: 1920px;
position: fixed;
left:50%;
transform: translateX(-50%); 
top: 0;
z-index: 999;
padding: 10px 0;
background-color: #fff;
border-bottom: 1px solid #ccc;
}
header .wrap{
	display:flex;
	justify-content:flex-start;
	align-items: center;
    justify-content: space-between;
}
header .logo{
width: 50%;
	display:flex;
	justify-content:flex-start;
	align-items: center;
}
header .logo a{
margin-right:0.35em;
font-size:4rem;
font-weight: bold;
color: #005293;
font-family:"Kumbh Sans";
}
header .logo h1{
font-size: 1.6rem;
font-weight: bold;
text-align:left;
color: #005293;
line-height: 1.35;
}
header .logo h1 span{
display: block;
font-size: 1.2rem;
font-weight:normal;
color:#333;
}

header .contact{
width: 45%;
	display:flex;
	justify-content:flex-end;
	align-items: center;
}
header .contact .tel{
margin-right:1em;
min-width:200px;
}
header .contact .tel p{
font-size: 1rem;
}
header .contact .tel img{
float: left;
display: block;
height:40px;
width: auto;
margin-right: 0.35em;
}
header .contact .tel a{
font-size:1.8rem;
font-weight: bold;
}
header .contact .tel p{
padding-top: 0.35em;
}
header .contact .tel p:nth-last-of-type(1){
width:auto;
padding: 0.25em 2em;
border: 1px solid #999;
border-radius: 1em;
display: inline-block;
text-align: center;
}

header .contact .mail{
background-color: #cc3333;
color: #fff;
font-size: 1.4rem;
font-weight: bold;
display: flex;
  justify-content: center;
  align-items: center;
width: 160px;
height:35px;
position: relative;
}

header .contact.sp{
display: none;
}

br.sp{
display: none;
}


/*-----------------------
 section
-------------------------*/
section:not(.mv){
padding: 45px 0 0 0;
width: 100%;
}
section.contact{
padding: 0 0 90px 0!important;
}

section:not(.mv) h2.title{
color:#005293;
text-align: center;
font-weight: bold;
font-family:"Noto Serif JP";
font-size:3.6rem;
line-height: 1;
padding:0;
margin:1em 0;
background:  url("../images/line_left01.png"), url("../images/line_right01.png");
background-size:250px 15px,250px 15px;
background-repeat: no-repeat;
background-position:left 0 top 60%,right 0 top 60%;
}
section:not(.mv) h2.title ruby{
position: relative;
line-height: 1;
margin-right: 0.5em;
}
section:not(.mv) h2.title rt{
line-height: 1;
font-size: 1rem;
text-align: left;
position: absolute;
left: 0;
top:-0.5em;
    -moz-text-align-last:left;
     text-align-last:left;
     text-justify:none;
     margin:0 0 0 0;
}
section:not(.mv) .wrap:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/*-----------------------
 mv
-------------------------*/
section.mv{
text-align: center;
}
section.mv h2{
color:#005293;
font-weight: bold;
font-family:"Noto Serif JP";
font-size:3.6rem;
line-height: 1;
padding:0;
margin:2em 0;
background:  url("../images/line_left01.png"), url("../images/line_right01.png");
background-size: 200px 12px,200px 12px;
background-repeat: no-repeat;
background-position:left 0 top 60%,right 0 top 60%;
}
section.mv h2 ruby{
position: relative;
line-height: 1;
}
section.mv h2 rt{
line-height: 1;
font-size: 1rem;
text-align: left;
position: absolute;
left: 0;
top:-0.5em;
    -moz-text-align-last:left;
     text-align-last:left;
     text-justify:none;
     margin:0 0 0 0;
}

section.mv p.read{
padding: 0 0.5em;
font-size:5rem;
font-weight: bold;
font-family:"Noto Serif JP";
line-height: 1.5;
}
section.mv p.read span{
padding: 0 0.5em;
background: linear-gradient(transparent 70%,transparent 70%, #FAEE00 70%,#FAEE00 90%,transparent 90%,transparent 100%);
}

section.mv p.read strong{
font-size:6rem;
font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;  
}
section.mv p.read_sub{
text-align: center;
font-size: 2.4rem;
margin-top:3vw;
}
section.mv p.read_sub strong{
padding: 0.5em 1.5em;
border: 1px solid #000;
border-radius: 1em;
}

section.mv p.txtC{
margin:5em 0;
}
section.chotatsu .wrap,
section.mv section.chotatsu .wrap{
padding: 0;
line-height: 1;
}
section.mv section.chotatsu .wrap:after{
display: none;
}
section.mv section.chotatsu > .wrap:nth-of-type(1){
height:auto;
line-height: 1;
}
section.mv section.chotatsu > .wrap h3{
font-size:2.8rem;
height:auto;
line-height: 1;
padding: 0 1em 0.125em 1em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
font-weight: bold;
}
section.mv section.chotatsu > .wrap h3 strong{
color: #fff;
height:100%;
line-height: 1;
padding: 0 0.5em;
margin-right: 0.25em;
position: relative;
background-image: url("../images/mv_tab.png");
background-size:100% 100%;
}
section.mv section.chotatsu > .inner{
background-color: #005293;
color: #fff;
}
section.mv section.chotatsu > .inner .wrap{
display: flex;
  justify-content: center;
  align-items: center;
  font-size:5rem;
  font-weight: bold;
font-family:"Noto Serif JP"; 
padding:0.75em 0;
}
section.mv section.chotatsu > .inner .wrap p{
text-align: left;
     margin-right: 0.25em;
     line-height: 1;
}
section.mv section.chotatsu > .inner .wrap p em{
font-size: 5rem;
}
section.mv section.chotatsu > .inner .wrap p strong{
font-size: 10rem;
}
section.mv ul.mv_par{
width: 1000px;
margin:3em auto 0 auto;
text-align: left;
}
section.mv ul.mv_par li{
	display:flex;
	justify-content:flex-start;
	align-items:stretch;
    padding:1em 0 2em 0;
    margin-bottom: 1em;
    
}
section.mv ul.mv_par li:nth-of-type(1){
    border-bottom: 1px solid #666;
}
section.mv ul.mv_par li div:nth-of-type(1){
width:61%;
	display:flex;
	justify-content:flex-start;
	align-items: center;
    padding: 0 3%;
    -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
    background-position: top right;
    background-repeat: repeat-y;
    background-size:1em 1em;
    background-image: radial-gradient(.2em .2em at center center,#666666,#666666 100%,transparent);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

section.mv ul.mv_par li:nth-of-type(1) div:nth-of-type(1) p.indm{
font-size: 1.2rem;
color:#666;
margin:0.5em 0 0.5em 1.5em;
text-indent: -1em;
line-height: 1.5;
}

section.mv ul.mv_par li div:nth-of-type(2){
line-height: 2;
font-size: 1.9rem;
width:39%;
padding: 0 4%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

section.mv ul.mv_par li span.curpic{
display: flex;
  justify-content: center;
  align-items: center;
font-size:2rem;
width: 100px;
height: 100px;
background-image: url("../images/bg_icon01.svg");
background-size: 100% 100%;
color: #005293;
font-weight: bold;
margin-right: 1em;
}
section.mv ul.mv_par li div:nth-of-type(1) p{
color: #005293;
font-weight: bold;
font-family:"Noto Serif JP"; 
}
section.mv ul.mv_par li:nth-of-type(1) div:nth-of-type(1) p{
font-size:8rem;
padding-bottom: 0.25em;
}
section.mv ul.mv_par li:nth-of-type(1) div:nth-of-type(1) p strong{
font-size: 12rem;
}

section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p{
font-size:3.4rem;
padding-bottom: 0.25em;
}
section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p em{
display: block;
font-size: 2.4rem;
}
section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p strong{
font-size: 10rem;
}
section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p strong i{
font-size: 4.5rem;
}


/*-----------------------
 aside
-------------------------*/
aside.to_contact{
width: 100%;
padding:1vw 0;
}
aside.to_contact .wrap{
padding: 1vw 0;
}
aside.to_contact .wrap h2{
color: #cc3333;
font-size:2.6rem;
font-weight: bold;
text-align: center;
margin-bottom: 1em;
}
aside.to_contact .wrap img{
height:70px;
width: auto;
}
aside.to_contact .wrap .contact{
display: flex;
  justify-content: center;
  align-items: center;
}

aside.to_contact .wrap .contact .tel{
margin-right:4em;
min-width:320px;
}
aside.to_contact .wrap .contact .tel p{
font-size:1.4rem;
}
aside.to_contact .wrap .contact .tel img{
float: left;
display: block;
height:60px;
width: auto;
margin-right: 0.5em;
}
aside.to_contact .wrap .contact .tel a{
font-size:3rem;
font-weight: bold;
}
aside.to_contact .wrap .contact .tel p{
padding-top: 0.35em;
}
aside.to_contact .wrap .contact .tel p:nth-last-of-type(1){
width:auto;
padding: 0.25em 2em;
border: 1px solid #999;
border-radius: 1em;
display: inline-block;
text-align: center;
font-size: 1.8rem;
}

aside.to_contact .wrap .contact .mail{
background-color: #cc3333;
color: #fff;
font-size: 1.6rem;
line-height:1.5;
letter-spacing:2px;
font-weight: bold;
display: flex;
  justify-content:flex-start;
  align-items: center;
  padding:1em;
width:40%;
max-width:240px;
height:auto;
position: relative;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
aside.to_contact .wrap .contact .mail span{
font-size:2rem;
letter-spacing: 0;
}
aside.to_contact .wrap .contact .mail span strong{
    padding-top: .2em;
    background-position: top left -2px;
    background-repeat: repeat-x;
    background-size:1em .3em;
    background-image: radial-gradient(.1em .1em at center center,white,white 100%,transparent);
}

aside.to_contact .wrap .contact .mail:after{
content: "＞＞";
position: absolute;
top:1.5em;
right: 1em;
}


/*-----------------------
 whats
-------------------------*/
section.whats .wrap > p{
font-size:2.2rem;
line-height: 2;
padding: 0 3em;
margin-top:2em;
}
section.whats .pic{
width: 55%;
display: block;
float: right;
margin-left:2em;
}
section.whats .pic img{
width: 100%;
height: auto;
}
section.whats .pic p.indm{
text-indent: -1em;
margin-left: 1em;
line-height: 1.5;
padding: 0 4em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
font-size: 1.6rem;
}
section.whats section{
margin-top:10em;
color:#005293;
font-size: 1.6rem;
line-height: 1.5;
padding: 0 4em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.whats section h3{
font-size: 1.8rem;
font-weight: bold;
position: relative;
}
section.whats section h3:after{
content: "";
display: block;
width:20%;
height: 1px;
background-color: #005293;
position: absolute;
left:9.5em;
top:1.2rem;
}

/*-----------------------
 riyu
-------------------------*/
section.riyu ul.onetwo{
display: flex;
  justify-content: center;
  align-items: center;
  width:800px;
  margin:1em auto 3em auto;
}
section.riyu ul.onetwo li{
width:35%;
text-align: center;
padding:6em 0 4em 0;
background-image: url("../images/riyu_pic01.png");
background-repeat: no-repeat;
background-position: center center;
background-size:auto 80%;
}
section.riyu ul.onetwo li:nth-of-type(2){
background-image: url("../images/riyu_pic02.png");
}
section.riyu ul.onetwo li h3{
font-size: 2.4rem;
font-weight: bold;
color: #4d4846;
margin: 1.5em 0 0 0;
padding-bottom: 1em;
position: relative;
}
section.riyu ul.onetwo li h3:after{
content: "";
position: absolute;
display: block;
width: 60%;
height: 1px;
background-color: #91c1de;
left:50%;
transform: translateX(-50%);
bottom:0.5em;
}

section.riyu ul.onetwo li p{
font-size: 1.4rem;
color: #005293;
}
section.riyu ul.onetwo li p strong{
display: block;
font-weight: bold;
font-family:"Noto Serif JP"; 
font-size:2.4rem;
margin-bottom:5px;
}

section.riyu ul.under{
display: flex;
  justify-content: center;
  align-items:flex-start;
  width:800px;
  margin:0 auto;
}
section.riyu ul.under li{
width:40%;
padding: 0 5%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
section.riyu ul.under li h3{
text-align: center;
font-family:"Noto Serif JP"; 
color: #005293;
font-weight: bold;
font-size: 2.4rem;
margin-bottom:0.5em;
}
section.riyu ul.under li p{
font-size: 1.6rem;
line-height: 1.5;
padding: 0 ;
}
section.riyu ul.under li p.indm{
font-size: 1.8rem;
line-height: 1.5;
text-indent: -1em;
margin-left: 1em;
padding-left:1.5em;
}
section.riyu ul.under li p.indm i{
display: block;
font-size: 1.2rem;
padding-left: 1em;
}


/*-----------------------
 norikae
-------------------------*/
section.norikae{
padding-bottom: 0;
}
section.norikae h2{
font-size:4rem;
text-align: center;
font-family:"Noto Serif JP"; 
font-weight: bold;
padding: 0.5em 2.5em;
line-height: 1.5;
     background-image: url("../images/norikae_title_bk.png");
     background-size:100% 100%;
}
section.norikae h2 strong{
font-size: 5rem;
font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; 
}

section.norikae .inner{
display: flex;
  justify-content: center;
  align-items:flex-end;
}
section.norikae .inner span.curpic{
display: flex;
  justify-content: center;
  align-items: center;
font-size:2.4rem;
width: 100px;
height: 100px;
background-image: url("../images/bg_icon01.svg");
background-size: 100% 100%;
color: #005293;
font-weight: bold;
margin-right: 0.5em;
}
section.norikae .inner p{
font-family:"Noto Serif JP";
font-size: 8rem;
font-weight: bold;
color: #005293;
margin-top:0.5em;
}
section.norikae .inner p span{
font-size: 4rem;
display: block;
}
section.norikae .inner p strong{
font-size: 12rem;
}


/*-----------------------
 merit
-------------------------*/
section.merit .inner{
display: flex;
  justify-content: center;
  align-items: center;
  justify-content: space-between;
  width: 900px;
  margin:0 auto;
  padding-top:2em;
  background-image: url("../images/merit_arrow.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size:auto 204px;
}
section.merit .inner > div{
width: 46%;
}
section.merit .inner > div h3{
display: flex;
  justify-content: center;
  align-items: center;
text-align: center;
height:6rem;
padding:0;
background-color:#005293;
color: #ffffff;
font-family:"Noto Serif JP";
font-size: 3rem;
line-height: 1;
}
section.merit .inner > div h3 rt{
position: relative;
top:0.5em;
font-size: 1.1rem;
}
section.merit .inner > div ul{
color:#005293;
padding:1em 0 0 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
font-size: 2.6rem;
line-height: 2;
}
section.merit .inner > div.leftbox h3{
background-color:#4c4948;
}
section.merit .inner > div.leftbox ul{
color:#4c4948;
}

section.merit .inner > div ul li{
padding: 0;
display: flex;
  justify-content: center;
  align-items: center;
justify-content: space-between;
font-weight: bold;

background-position:center left -2px;
background-repeat: repeat-x;
    background-size:0.5em .3em;
    background-image: radial-gradient(.1em .1em at center center,#005293,#005293 100%,transparent);
}
section.merit .inner > div.leftbox ul li{
    background-image: radial-gradient(.1em .1em at center center,#4c4948,#4c4948 100%,transparent);
}

section.merit .inner > div.rightbox ul li:nth-last-of-type(1){
background-image: none;
}

section.merit .inner > div ul li span{
background-color: #fff;
}
section.merit .inner > div ul li span:nth-of-type(1){
padding-left:0.5em;
}
section.merit .inner > div ul li span:nth-last-of-type(1){
min-width:4.5em;
padding-right:0.5em;
}
section.merit .under{
padding:3vw 0 0 0;
margin: 0 auto;
max-width:375px;
display:block;
line-height: 1.5;
}
section.merit .under h3{
font-size: 1.8rem;
font-weight: bold;
color: #005293;
padding-bottom: 0.5em;
margin-bottom:0.5em;
border-bottom: 1px solid #ccc;
text-align:left;
}
section.merit .under ul li{
	display:flex;
	justify-content:flex-start;
	align-items: center;
    border-bottom: 1px solid #ccc;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
}
section.merit .under ul li span{
padding-right: 1em;
min-width: 7em;
}
section.merit .under ul li span:nth-of-type(1){
color: #005293;
}

/*-----------------------
 voice
 -------------------------*/
section.voice h2{
text-align: center;
font-family:"Noto Serif JP";
font-size: 4rem;
color: #fff;
font-weight: bold;
background-color: #005293;
line-height:2;
}
section.voice h2 rt{
font-size: 1.2rem;
position: relative;
top:7px;
}
section.voice ul{
padding-top: 3em;
display: flex;
  justify-content: center;
  align-items:stretch;
  justify-content: space-between;
}
section.voice ul li{
width: 48%;
padding: 1em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
line-height: 2;
font-size: 1.6rem;
border-bottom: 1px solid #999;
border-right: 1px solid #999;
border-radius:0 0 1.6rem 0;
background-color: #ffffff;
box-shadow: 1px 1px 1px #ccc;
}
section.voice ul li h3{
font-weight: bold;
margin-bottom: 1em;
}

/*-----------------------
 staff
 -------------------------*/

 section.staff p.read{
 font-size: 1.8rem;
 line-height:1.5;
 margin:0;
 }
 section.staff p.read.indm{
margin:0 0 0 1em;
 }

 section.staff ul{
 margin:2em auto 0 auto;
 width: 100%;
 }
 section.staff ul li{
 	display:flex;
	justify-content:flex-start;
	align-items:stretch;
 padding: 1em 0;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
margin-bottom:2em;
 }
section.staff ul li div.pic{
padding: 0 2em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 35%;
text-align: right;

    background-position:bottom left;
    background-repeat: repeat-x;
    background-size:100% 3px;
background-image:linear-gradient(90deg,#cdcdcd 0%,#fff 30%,#fff 100%);
}
section.staff ul li div.pic img{
height: 100%;
width: auto;
}

section.staff ul li div.staff_txt{
width: 65%;
line-height: 2;
font-size: 1.6rem;
}
section.staff ul li div.staff_txt h3{
border-bottom:1px solid #005293;
line-height: 1.5;
padding-bottom: 0.5em;
margin-bottom: 0.5em;
}
section.staff ul li div.staff_txt h3 strong{
color: #005293;
font-weight: bold;
font-size: 2rem;
display: block;
}
 
section.staff ul li:nth-of-type(2) div.pic{
  -webkit-box-ordinal-group:2;
-ms-flex-order:2;
-webkit-order:2;
order:2;
text-align: left;
background-image:linear-gradient(-90deg,#cdcdcd 0%,#fff 30%,#fff 100%);
  }
 

/*-----------------------
 contact
-------------------------*/
section.contact{
padding-bottom: 60px;
}
section.contact h2{
color: #fff;
font-size:2.4rem;
font-weight: bold;
text-align: center;
margin:2em 0 ;
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
section.contact h2 strong{
background-color: #cc3333;
display: block;
width:70%;
padding: 0.5em 0;
margin: 0 auto;
border-radius:0.75em;
}


section.contact .big{
font-size:1.8rem;
margin:1.5em 0;
text-align: center;
font-weight: bold;
}



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

form ::-webkit-input-placeholder {
  color: #C6C6C6;
}
form :-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form ::-moz-placeholder {
  opacity: 1;
  color: #C6C6C6;
}
form :-ms-input-placeholder {
  color: #C6C6C6;
}

::-moz-selection {
  color: #FFF;
  background: rgba(31, 127, 194, 0.7);
}

::selection {
  color: #FFF;
  background: rgba(31, 127, 194, 0.7);
}


.form-list{
  display:block;
  width: 640px;
  margin:60px auto 0 auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.form-list>li{
  width:100%;
  clear:both;
  margin-bottom:3em;
}
.form-list>li:last-child{
  /*
  border-bottom:1px solid #AEAEAE;
  */
}
.form-list>li>div{
  text-align:left;
  vertical-align: middle;
  	display:flex;
	justify-content:flex-start;
	align-items: center;	
}

.form-list>li>div input,
.form-list>li>div span{
  float:left;
}

.form-list>li>div:nth-child(1) span:first-child{
  font-size:12px;
  background-color:#c60000;
  color:#FFF;
  width:auto;
  padding: 2px 0.5em;
  text-align:center;
  margin:0 1em 0 0;
}
.form-list>li>div:nth-child(1) span:nth-child(2){
}
.form-list>li>div:nth-child(1) span.bg-gray{
  background-color:#666666;
}

.form-list>li>div:nth-child(1){
  font-size:1.6rem;
  width:100%;
  text-align:left;
  margin:0 0 1em 0;
}

.form-list>li>div textarea,
.form-list>li>div input[type=text]{
  width:100%;
  /*max-width:440px;*/
  padding:0.5em 10px;
  text-align:left;
  border:1px solid #bdbdbd;
  vertical-align:middle;
}
.form-list>li>div textarea{
  min-height:200px;
  vertical-align:middle;
}

.form-list>li>div textarea[placeholder],
.form-list>li>div input[placeholder]{
  font-size:1.6rem;
}
.form-list > li#policy > div:nth-child(1){
  vertical-align: top;
}

.form-list input[type=radio]{
  display:none;
}

.form-list label{
display: block;
padding-left:1.5em;
margin-right:3em;
 position:relative;
 cursor: pointer;
}

.form-list label:before{
content: "";
width:16px;
height:16px;
display: block;
position: absolute;
top: 0;
left:0;
background-image: url("../images/icon_chk.svg");
background-size: cover;
}

.form-list input[type=radio]:checked + label:before{
content: "";
width:16px;
height:16px;
display: block;
position: absolute;
top: 0;
left:0;
background-image:url("../images/icon_cheked.svg");
background-size: cover;
}
.contact .policy{
text-align: center;
margin: 3em 0;
}

.contact .form-list-under{
    display: block;
    width: 640px;
  margin:0 auto;
  overflow-y: auto;
  max-height:240px;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #bdbdbd;
padding:0 1em;
}
.contact .form-list-under>li{
  width:100%;
  display:block;
  margin:1em 0;
  text-align:left;
  line-height:1.5;
}
.contact .form-list-under>li dt{
font-weight: bold;
}
.contact .form-list-under>li dd{
margin-bottom: 1em;
}


.contact input[type=submit]{
width: 248px;
height: 44px;
display: block;
margin: 0 auto;
font-size: 2rem;
color: #fff;
background-color: #d1272f;
}


section.thanks{
border-top:2px solid #009ECE;
}
p.thanks-read{
	text-align:center;
	margin:4em auto;
    font-size: 1.6rem;
    line-height: 2;
}
p.backbt{
	clear:both;
	text-align:center;
}
p.backbt a{
width: 248px;
height: 44px;
margin:2em auto;
color: #fff;
background-color: #d1272f;
display: flex;
  justify-content: center;
  align-items: center;
}
p.backbt a:hover{
	text-decoration:none;
	opacity:0.7;
}



/*-----------------------
 page-top
-------------------------*/
#page-top{
	width:40px;
	height:40px;
	display:block;
	position:fixed;
	right:5%;
	bottom:5%;
	cursor:pointer;
	  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
  z-index:998;
}
#page-top img{
	width:40px;
	height:40px;
}
#page-top:hover{
	opacity:0.8;
}



/*-----------------------
 footer
-------------------------*/
footer{
width: 100%;
padding:50px 0;
min-height:150px;
background-color:#005293;
}
footer .txtC{
color: #fff;
font-size: 5rem;
margin:1em 0 1.5em 0;
}
footer .logo{
font-weight: bold;
font-family:Kumbh Sans;
}

footer .copy{
color: #fff;
text-align: center;
font-size: 1.4rem;
}



/*---------------------------------------------*
* width 1000px
*----------------------------------------------*/
@media screen and (max-width:1000px) {
body{
padding-top:40px;
}
.wrap{
width: 96%;
margin: 0 auto;
}
header{
padding: 5px 0;
}
header .logo{
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width:65%;
}
header .logo h1{
padding-top:0;
font-size: 1rem;
}
header .logo h1 span {
    display: block;
    font-size: 1rem;
    font-weight: normal;
    color: #333;
}

header .logo img {
    height:30px;
    width: auto;
    margin-right: 1em;
}

header .contact.pc{
display: none;
}

header .contact.sp{
	display:flex;
	justify-content:flex-end;
	align-items: center;	
}
header .contact.sp img{
height: 30px;
width: auto;
}
header .contact.sp a:nth-last-of-type(1) img{
margin-left:1em;
}

br.sp{
display:block;
}

section.mv h2 {
    font-size: 3.5vw;
    background-size:15vw 1vw,15vw 1vw;
}
section.mv p.read {
    padding: 0 0.5em;
    font-size:5vw;
}
section.mv p.read strong {
    font-size:6vw;
}
section.mv p.txtC img{
width: 100%;
height: auto;
}
section.mv section.chotatsu > .wrap h3 {
    font-size: 3.4vw;
    height: auto;
    line-height: 1;
    padding: 0 0 0.125em 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: bold;
}

section.mv section.chotatsu > .inner .wrap {
    font-size: 5vw;
}
section.mv section.chotatsu > .inner .wrap p em {
    font-size:6vw;
}
section.mv section.chotatsu > .inner .wrap p strong {
    font-size: 10vw;
}
section.mv ul.mv_par {
    width: 100%;
    margin: 3em auto 0 auto;
    text-align: left;
}
section.mv ul.mv_par li span.curpic {
    font-size: 2vw;
width: 10vw;
height: 10vw;
}
section.mv ul.mv_par li:nth-of-type(1) div:nth-of-type(1) p {
    font-size: 8vw;
}
section.mv ul.mv_par li:nth-of-type(1) div:nth-of-type(1) p strong {
    font-size: 12vw;
}
section.mv ul.mv_par li div:nth-of-type(2) {
    font-size: 1.9vw;
}
section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p em {
    font-size: 2.4vw;
}
section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p {
    font-size: 3.4vw;
}
section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p strong {
    font-size: 10vw;
}
section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p strong i {
    font-size: 4.5vw;
}

section.mv p.read_sub{
text-align: center;
font-size:4vw;
margin-top:6vw;
}


aside.to_contact .wrap h2 {
    font-size: 2.6vw;
}
aside.to_contact .wrap .contact .tel {
    min-width: 32vw;
    margin-right: 4vw;
}
aside.to_contact .wrap .contact .tel p {
    font-size: 1.4vw;
}
aside.to_contact .wrap .contact .tel a {
    font-size: 3vw;
    font-weight: bold;
}
aside.to_contact .wrap .contact .tel img {
    height: 6vw;
}
aside.to_contact .wrap .contact .tel p:nth-last-of-type(1) {
    font-size: 1.8vw;
}
aside.to_contact .wrap .contact .mail {
    font-size: 1.6vw;
    max-width: 24vw;
}
aside.to_contact .wrap .contact .mail span {
    font-size: 2vw;
}
section:not(.mv) {
    padding:2.5vw 0;
}
section:not(.mv) h2.title {
    font-size: 3.6vw;
    background-size: 25vw 1.5vw,25vw 1.5vw;
}
section.whats .wrap > p {
    font-size: 2.2vw;
}
section.whats section h3 {
    font-size: 1.8vw;
}
section.riyu ul.under,
section.riyu ul.onetwo {
    display: flex;
    justify-content: center;
    align-items:flex-start;
    width:100%;
    margin: 1em auto 3em auto;    
}
section.riyu ul.onetwo li {
    width: 35%;
    min-width: 280px;
    max-width: 280px;
    text-align: center;
    background-size: auto 200px;
}
section.riyu ul.under li {
    width:50%;
    padding: 0 2%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

section.norikae h2 {
    font-size: 4vw;
}
section.norikae h2 strong {
    font-size: 5vw;
}
section.norikae .inner span.curpic {
    font-size: 2.4vw;
    width: 10vw;
    height: 10vw;
}
section.norikae .inner p span {
    font-size: 4vw;
}
section.norikae .inner p strong {
    font-size: 12vw;
}
section.norikae .inner p {
    font-size: 8vw;
}
section.merit .inner {
    width:100%;
    background-size: auto 20.4vw;
    align-items:stretch;
}
section.merit .inner > div h3 {
    height: 6vw;
    font-size: 3vw;
}
section.merit .inner > div ul {
    font-size: 2.6vw;
}
section.voice h2 {
    font-size: 4vw;
}
section.staff p.read {
    font-size: 1.8vw;
}
section.staff ul li div.pic,
section.staff ul li:nth-of-type(2) div.pic {
    background-image:none;
}
section.staff ul li div.pic img {
    height:auto;
    width:100%;
}
section.staff ul li div.staff_txt p br{
display: none;
}

section.contact .big {
    font-size: 1.6rem;
line-height: 1.5;
}

.contact .form-list-under,
.form-list {
    display: block;
    width:100%;
    max-width:550px;
    margin:1em auto 0 auto;
}
.form-list > li > div {
    text-align: left;
    vertical-align: middle;
    display: flex;
    justify-content: flex-start;
    align-items: center;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.form-list label {
    display: block;
    padding-left: 1.5em;
    margin:0 0 1em 0;
    position: relative;
    cursor: pointer;
    width: 100%;
    -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.form-list > li > div:nth-child(1) {
line-height: 1.5;
}
.contact .policy {
    text-align:center;
    margin: 2em 0;
}
section.contact h2 {
    font-size:3.6vw;
    }
section.contact h2 strong{    
    width:95%;
}

footer {
    min-height:inherit;
    padding: 5vw 0;
    margin-top: 5em;
}
footer .txtC {
    color: #fff;
    font-size:3rem;
    margin: 1em 0 1.5em 0;
}


}
/* width 1000px end --------------------------------------------*/

/*---------------------------------------------*
* width 768px
*----------------------------------------------*/
@media screen and (max-width:768px) {

header .logo a {
font-size:2rem;
}
header .logo {
    width:auto;
}
header .contact {
    width:auto;
}

section.mv p.read_sub {
  margin: 6vw 0 10vw 0;
}


}
/* width 768px end --------------------------------------------*/

/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {

section.riyu ul.under,
section.riyu ul.onetwo {
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    margin: 1em auto;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}


section.riyu ul.onetwo li h3 {
    font-size:1.8rem;
}

}
/* width 640px end --------------------------------------------*/

/*---------------------------------------------*
* width 480px
*----------------------------------------------*/
@media screen and (max-width:480px) {

section.mv h2 {
    font-size:2rem;
    background-size:7vw 1vw,7vw 1vw;
}
section.mv p.read {
    font-size:2.4rem;
}
section.mv p.read strong {
    font-size:3rem;
}
section.mv p.txtC {
    margin:2em 0;
}
section.mv section.chotatsu > .wrap h3 {
    font-size:1.3rem;
}
section.mv section.chotatsu > .wrap h3 strong {
    color: #fff;
    height: 100%;
    line-height: 1;
    padding: 0 0.5em 0.5em 0.5em;
    margin-right: 0.25em;
    position: relative;
    background-image: url("../images/mv_tab.png");
    background-size: 100% 100%;
}

section.mv ul.mv_par {
    width: 100%;
    margin:1em auto 0 auto;
    text-align: left;
}
section.mv ul.mv_par li {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;    
}
section.mv ul.mv_par li div:nth-of-type(1) {
width: 100%;
justify-content: center;
    padding:0 0 1em 0;
    margin-bottom: 1em;
    background-image: none;
    border-bottom: dotted 2px #666;
 }
section.mv ul.mv_par li span.curpic {
    font-size:1.6rem;
    width:20vw;
    height:20vw;
}

section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p strong i,
section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p,
section.mv ul.mv_par li:nth-of-type(2) div:nth-of-type(1) p em {
    font-size:1.8rem;
}
section.mv ul.mv_par li div:nth-of-type(2) {
    line-height:1.5;
    font-size:1.4rem;
    width:100%;
}

aside.to_contact .wrap h2 {
    font-size:1.6rem;
}
aside.to_contact .wrap .contact .tel {
    min-width:55%;
    margin-right:inherit;
}
aside.to_contact .wrap .contact .tel img {
    height:40px;
}
aside.to_contact .wrap .contact .tel p {
    font-size: 1.1rem;
}
aside.to_contact .wrap .contact .tel a {
    font-size:1.8rem;
    font-weight: bold;
}
aside.to_contact .wrap .contact .tel p:nth-last-of-type(1) {
    font-size: 1.4rem;
    padding: 0.25em 0.5em;
}

aside.to_contact .wrap .contact .mail span {
    font-size:1.2rem;
}
aside.to_contact .wrap .contact .mail {
    font-size: 1.4rem;
    max-width:50%;
    padding: 0.5em;
}
aside.to_contact .wrap .contact .mail::after {
    content: "";
display: none;
}
aside.to_contact .wrap .contact .mail span strong {
    background-image:none;
}

section:not(.mv) h2.title {
    font-size:2.4rem;
    background-size:12vw 1.5vw,12vw 1.5vw;
}

section.whats .pic {
    width:100%;
    display: block;
    float:none;
    margin:0 auto;
}
section.whats .pic p.indm {
    text-indent: -1em;
    margin-left: 1em;
    padding: 0 0;
    font-size: 1.4rem;
}
section.whats .wrap > p {
    font-size:1.6rem;
    line-height: 1.5;
    padding: 0 0;
margin-top:1em;
}
section.whats section {
    margin-top:1em;
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 0 0;
}
section.whats section h3 {
    font-size: 1.6rem;
}
section.whats section h3:after {
    content: "";
    display: block;
    width: 50%;
    height: 1px;
    background-color: #005293;
    position: absolute;
    left: 50%;
    top:0.8rem;
}
section.riyu ul.onetwo li {
    padding: 6em 0 2em 0;
}
section.riyu ul.under li {
    width:100%;
    padding: 0 0;
    margin-bottom: 1em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

section.norikae h2 {
    text-align: center;
    font-family: "Noto Serif JP";
    font-weight: bold;
    padding: 0.5em 0;
}
section.norikae .inner span.curpic {
    font-size:1.6rem;
    width:60px;
    height:60px;
}

section.merit .inner > div ul li {
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    justify-content: space-between;
    font-weight: bold;
    background-position: center left -2px;
    background-repeat: repeat-x;
    background-size: 0.1em .1em;
    background-image: radial-gradient(.1em .1em at center center,#005293,#005293 100%,transparent);
}
section.merit .inner > div ul li span{
    padding:0 0.5em;
}
section.merit .inner {
    width: 100%;
    background-image: none;
    align-items: stretch;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.merit .inner > div {
    width:100%;
    margin-bottom:1em;
}
section.merit .inner > div:nth-of-type(1):after{
content: "";
width: 100%;
height: 40px;
display: block;
background-image: url("../images/merit_arrow_sp.svg");
background-size: contain;
background-repeat: no-repeat;
background-position: center bottom;
}


section.merit .inner > div h3 {
    height:auto;
    padding: 0.25em 0;
    font-size:2rem;
}
section.merit .inner > div ul {
    font-size:1.6rem;
}
section.voice h2{
padding: 0.5em 0;
font-size:1.8rem;
}
section.voice h2 rt {
    font-size:0.9rem;
    position: relative;
    top:5px;
}
section.voice ul {
    padding:1em 0 0 0;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.voice ul li {
    width:100%;
    border-radius: 1.8rem;
    border: 1px solid #ccc;
    margin-bottom: 1em;
}
section.staff p.read {
    font-size: 1.6rem;
}

section.staff ul {

margin-bottom: 2em;
}

section.staff ul li{
margin-bottom: 0;
padding-bottom: 0;
}
section.staff ul li div.pic {
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width:100%;
    text-align:center;
    background-image:none;
    margin-bottom: 1em;
}
section.staff ul li div.pic img{
max-width: 200px;
}
section.staff ul li div.staff_txt {
    width:100%;
    line-height:1.5;
    font-size: 1.6rem;
}
section.staff ul li:nth-of-type(2) div.pic{
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
    text-align:center;
    background-image:none;
}

}
/* width 480px end --------------------------------------------*/

/*---------------------------------------------*
* width 375px
*----------------------------------------------*/
@media screen and (max-width:375px) {
}
