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



@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p:500,700,900|Noto+Sans+JP:400,500,700&display=swap');
@import url('font.css');


* {
    margin: 0;
    padding: 0;
} 
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-size: 100%;
    vertical-align: baseline;
}
strong {
font-weight: bold;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

*, *::before, *::after {
	box-sizing: border-box;
}

.clearfix:before, .clearfix:after{content:""; display:table;}
.clearfix:after{clear:both;}
.clearfix{zoom:1;}

/*base*/
html {
	font-size: 0.65vw;
	position: relative;
	text-align: center;
}
body {
	background: #ffffff;
	text-align: center;
	color: #333333;
	font-size: 1.5rem;
	font-family:'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", Verdana,"Avenir Next", sans-serif;
	line-height: 180%;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-weight: normal;
	position:relative;
	min-width: 1220px;
}

a {
	color: #333;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all  0.2s ease;
}

img {
	box-shadow: #fff 0 0 0;
	vertical-align:middle;
	max-width:100%;
}
a:hover {
	color: #00a0b0;
}
a img{
	-webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all  0.2s ease;}

.left{
	float: left;
	position:relative;
}
.right{
	float: right;
	position:relative;
}

.sp {
	display: none;
}

.container{
	max-width: 120rem;
	min-width:1220px;
	margin: 0 auto;
	text-align: left;
	position:relative;
	z-index:3;
	padding:0 20px;
}

.fw_mplus{font-family: 'M PLUS 1p', sans-serif;}
.fw_mincho{font-family: "Times New Roman","ヒラギノ明朝 ProN W3","HiraMinProN-W3","HG明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;}
.spbr{
display:none;
}

h1,h2{font-family: 'M PLUS 1p', sans-serif;}

#header{
width:100%;
padding:0 0 0 2rem;
position:fixed;
width:100%;
background-color:#fff;
top:0;
z-index:10;
min-width: 1200px;
min-height:6.1rem;
}
_::-webkit-full-page-media, _:future, :root #header {
min-height:6rem;
}
#header h1{
float:left;
padding:0.7rem 0 0 0;
}
#header h1 span.icon-shinwa_logo-{
font-size:4.5rem;
vertical-align:text-bottom;
}
#header h1 a{
display:block;
font-size:1.4rem;
font-family:'Noto Sans JP', sans-serif;
}
#header ul{
text-align:right;
letter-spacing:-.4em;
}
#header .navi{
padding-top:2.2rem;
padding-right: 54rem;
font-size: 1.4rem;
font-weight: 500;
}
#header .navi li{
display:inline-block;
letter-spacing:normal;
vertical-align:bottom;
margin-left:3rem;
padding-bottom:1rem;
}
#header .navi li:first-child{
margin-left:0;}
#header li a{
cursor:pointer;
}
#header .btn{
position:absolute;
top:0;
right:0;
}
#header .btn li{
display:inline-block;
letter-spacing:normal;
vertical-align:bottom;
}
#header .btn li a{
display:block;
color:#fff;
min-width:17rem;
height:6.1rem;
font-weight:bold;
text-align:center;
}
#header li.line{
}
#header li.line a{
background-color:#5cb52f;
padding-top:1.3rem;
}
#header li.line img{
width:8rem;
}
#header li.hogo a{
background-color:#313131;
padding-top:1.5rem;
}
#header li.entry a{
background-color:#00a0b0;
padding-top:1.4rem;
font-size:1.8rem;
line-height:1;
cursor:pointer;
}
#header li.entry p{
font-size:1.1rem;
padding-top:0.3rem;
}

#youkounavi{
background-color:rgba(89,73,63,0.9);
color:#fff;
text-align:center;
font-weight:bold;
padding-bottom:2rem;
position:fixed;
top:6.1rem;
width:100%;
z-index:10;
display:none;
}
_::-webkit-full-page-media, _:future, :root #youkounavi {
top:6rem;
}

.triangle{
  width: 0;
  height: 0;
  border-left: 1rem solid transparent;
border-right: 1rem solid transparent;
border-bottom: 1rem solid rgba(89,73,63,0.9);
position: absolute;
top: -0.9rem;
  right:56rem;
}
#youkounavi .title,#entrynavi .title{
font-size:2.6rem;
padding:4rem 0 2rem 0;
font-weight:bold;
font-family: 'M PLUS 1p', sans-serif;
}
#youkounavi ul{}
#youkounavi li,#entrynavi .box1 li{
display:inline-block;
width:30%;
max-width:25rem;
margin:0 1rem;
vertical-align:top;
}
#youkounavi li a,#entrynavi .box1 li a{
color:#fff;
display:block;
border:1px solid #fff;
padding:1.5rem 0;
font-size:2rem;
}
#entrynavi .box1 li.pc{
}
#entrynavi .box1 li.pc a{
border:none;
padding:0;
}
#entrynavi .box1 li.pc a:hover{
background-color:none;
}
#youkounavi li:first-child a,#entrynavi .box1 li:nth-child(2) a,#youkounavi li:nth-child(2) a{
padding:1.5rem 0 1.5rem 0.5em;
}
#youkounavi li a:hover{
background-color:#000;
}
#entrynavi li a:hover{
background-color:#000;
}

#entrynavi{
position:fixed;
top:6.1rem;
width:100%;
z-index:11;
display:none;
}
_::-webkit-full-page-media, _:future, :root #entrynavi {
top:6rem;
}
#entrynavi .box1{
background-color:rgba(68,189,201,0.9);
color:#fff;
padding-bottom:2rem;
font-family: 'M PLUS 1p', sans-serif;
}
#entrynavi .box2{
background-color:rgba(255,255,255,0.9);
padding-bottom:2rem;
}
#entrynavi .box2 ul{}
#entrynavi .box2 li{
display:inline-block;
vertical-align:middle;
line-height:1.4;
}
#entrynavi .box2 li:first-child{
font-weight:900;
font-size:5rem;
padding-right:3rem;
}
#entrynavi .box2 li:first-child .pc,#entrynavi .box2 li:first-child .sp{
font-family: 'M PLUS 1p', sans-serif;}
#entrynavi .icon-tel2{
font-size:4.5rem;
margin-right:0.6rem;
}
#entrynavi .box2 li:first-child .sm{
font-size:1.8rem;
vertical-align:baseline;
}
#entrynavi .box2 li:last-child{
text-align:left;
}
#entrynavi .box2 li:last-child p{
font-weight:bold;
font-size:1.8rem;
padding-bottom:0.5rem;
}

#contents{
padding-top:6.1rem;
}
_::-webkit-full-page-media, _:future, :root #contents {
padding-top:6rem;
}

#pagetop{
position:fixed;
bottom:2rem;
right:2rem;
cursor:pointer;
z-index:8;
}
#pagetop a{
display:block;
width:7rem;
height:7rem;
color:#fff;
background-color:#18a8b7;
text-align:center;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
font-size:4rem;
padding-top:1.3rem;
}

#foot_contact{
padding:10rem 0;
font-weight:700;
font-family: 'M PLUS 1p', sans-serif;
}
#foot_contact .infobox{
border:1rem solid #19a9b8;
background-image:url(../img/foot_con_back.png);
background-repeat:no-repeat;
background-position:50% 0;
background-size:100% auto;
text-align:center;
padding-bottom:4rem;
}
#foot_contact .title{
padding:5rem 0 3rem 0;
font-size:2.2rem;
line-height:1.3;
}
#foot_contact .title p{
font-weight:900;
font-size:4.5rem;
}
#foot_contact .title span{
color:#ff0000;
}
#foot_contact ul{
letter-spacing:-.4em;
padding:0 10rem;
}
#foot_contact li{
display:inline-block;
letter-spacing:normal;
width:33%;
border-left:3px solid #19a9b8;
border-top:3px solid #19a9b8;
border-bottom:3px solid #19a9b8;
}
#foot_contact li:last-child{
border-right:3px solid #19a9b8;
}
#foot_contact li a{
display:block;
padding:2rem 0 2rem 0.5em;
font-size:1.8rem;
}
#foot_contact li:last-child a{
padding:2rem 0;
}
#foot_contact li a:hover{
background-color:#19a9b8;
color:#fff;
}
#foot_contact .btn{
text-align:center;
padding-top:4rem;
display:none;
}
#foot_contact .btn a{
display:block;
background-color:#454545;
color:#fff;
padding:1rem;
font-size:1.8rem;
width:80%;
margin:0 auto;
}
#foot_contact .btn a:hover{
background-color:#19a9b8;
}

#footer{
background-color:#eee;
padding:5rem 0;
}
#footer ul{
text-align:center;
}
#footer li{
display:inline-block;
vertical-align:top;
text-align:left;
padding:0.5rem 2.5rem 2rem 2.5rem;
line-height:1.8;
}
#footer li.pc{
padding:0 2rem 0 0;
}
#footer li.pc span{
font-size:2.5rem;
}
#footer li img{
width:8rem;
}
#footer li .title{
vertical-align:middle;
padding-bottom:1.7rem;
font-size:1.4rem;
font-weight:500;
}
#footer li .title span{
font-size:0.7rem;
vertical-align:middle;
color:#19a9b8;
}
#footer li .link,#footer li .link2{
font-size:1.2rem;
}
#footer li .link:before{
content:"─";
color:#bfbfbf;
font-size:1.1rem;
padding-right:0.5rem;
}
#footer .f_line{
border-left:1px solid #bfbfbf;
border-right:1px solid #bfbfbf;
}
#footer .f_line .title{
color:#19a9b8;
}

#footer li.sp_bottom .link2{
padding:0.3rem 0;
}

#copyright{
background-color:#eee;
border-top:1px solid #d2d2d2;
padding:1.5rem 0 4rem 0;
font-size:1rem;
}

.block-revealer__element {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    pointer-events: none;
    opacity: 0;
	z-index:3;
}


@media only screen and (min-width: 1800px) {
html {
	font-size: 12px;
}

}

@media only screen and (max-width: 1400px) {
html {
	font-size: 10px;
}
#header .navi{
padding-top:7rem;
padding-right: 5rem;
font-size: 1.5rem;
}

#youkounavi,#entrynavi{
top:10.7rem;
}

.triangle{
  right:7rem;
}

#contents{
padding-top:10.7rem;
}

#footer li{
padding:0.5rem 1rem 2rem 1rem;
}

}

@media only screen and (max-width: 1095px) {
#entrynavi .box1 li{
width:22%;
max-width:auto;
margin:0 1%;
}
}

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

html {
	font-size: 3.2vw;
}
body{
min-width:100%;
overflow-x:hidden;
}

#contents{
padding-top:0;
}
_::-webkit-full-page-media, _:future, :root #contents {
padding-top:0;
}
.container {
    max-width: 100%;
    min-width: 100%;
    padding: 0 2rem;
}

#header{
	width:100%;
	min-width:100%;
	z-index:5;
	padding:0 10px;
	position:relative;
    min-height:5.4rem;
}
_::-webkit-full-page-media, _:future, :root #header {
    min-height:5.4rem;
}
#header h1{
padding:1.1rem 0 0 0;
float:none;
text-align:left;
}
#header h1 a{
font-size:1.2rem;
}
#header h1 span.icon-shinwa_logo- {
    font-size: 3.1rem;
}

#drawer{
padding:7rem 3rem;
}
#drawer .spnavi{
text-align:left;}
#drawer .spnavi li{
border-bottom:1px solid #d2d2d2;
}
#drawer .spnavi li a{
display:block;
vertical-align:middle;
font-size:1.8rem;
font-weight:700;
padding:1rem 0;
}
#drawer .spnavi li a span{
color:#00a0b0;
font-size:0.7rem;
vertical-align:middle;
}
#drawer .spnavi li > div{
padding:0 0 1.5rem 2.5rem;
margin-top:-0.5rem;
}
#drawer .spnavi li > div a{
font-size:1.6rem;
padding:0;
font-weight:normal;
}
#drawer .btn{
padding:3rem 0;
}
#drawer .btn a{
display:block;
color:#fff;
text-align:center;
font-weight:700;
}
#drawer .btn a.hogo{
background-color:#454545;
padding:1rem 0;
font-size:1.8rem;
margin-bottom:1.6rem;
}
#drawer .btn li{
float:left;
width:47%;
}
#drawer .btn li:last-child{
margin-left:6%;
}
#drawer .btn li a{
background-color:#19a9b8;
vertical-align:middle;
padding:0.6rem 0;
font-size:1.8rem;
}
#drawer .btn li span{
vertical-align:middle;
font-size:3rem;
}

#foot_float{
position:fixed;
z-index:9;
bottom:0;
left:0;
right:0;
width:100%;
}
#foot_float li{
float:left;
width:50%;
}
#foot_float li a{
display:block;
text-align:center;
color:#fff;
}

#foot_float li.line a{
background-color:#5cb52f;
background-image:url(../img/head_line.png);
background-repeat:no-repeat;
background-position:50%;
background-size:auto 1.6rem;
text-indent:-999px;
height:4.2rem;
}
#foot_float li.entry a{
background-color:#00a0b0;
padding:1.3rem 0;
font-size:1.6rem;
line-height:1;
font-weight:700;
}
#foot_float li.entry span{
font-size:1.4rem;
}


#entrynavi{
position:fixed;
top:inherit;
bottom:4.2rem;
z-index:9;
}
_::-webkit-full-page-media, _:future, :root #entrynavi {
top:inherit;
}
#entrynavi .box1{
padding-bottom:2rem;
}
#entrynavi .title{
font-size:1.6rem;
padding:2.5rem 0 0.5rem 0;
}
#entrynavi .box1 li{
display:block;
width:75%;
max-width:inherit;
margin:0.8rem auto;
}
#entrynavi .box1 li a{
padding:1rem 0;
font-size:1.6rem;
}
#entrynavi .box1 li:nth-child(2) a {
    padding: 1rem 0 1rem 0.5em;
}
#entrynavi .box1 li.sp{
}
#entrynavi .box1 li.sp a{
border:none;
padding:0;
}


#entrynavi .box2{
padding-bottom:2rem;
}
#entrynavi .box2 ul{}
#entrynavi .box2 li{
}
#entrynavi .box2 li:first-child{
font-size:2.8rem;
padding-right:0;
}
#entrynavi .icon-tel2{
font-size:2.6rem;
margin-right:0.4rem;
}
#entrynavi .box2 li:first-child .sm{
font-size:1.4rem;
}
#entrynavi .box2 li:last-child{
font-size:1.3rem;
}
#entrynavi .box2 li:last-child p{
font-size:1.6rem;
padding-bottom:0.5rem;
}


#foot_contact{
padding:6rem 0 0 0;
}
#foot_contact .infobox{
padding-bottom:3rem;
}
#foot_contact .title{
padding:3rem 0 2.5rem 0;
font-size:2rem;
line-height:1.3;
}
#foot_contact .title p{
font-size:3rem;
}
#foot_contact ul{
padding:0 3rem;
}
#foot_contact li{
display:block;
width:100%;
border:3px solid #19a9b8;
margin-bottom:1rem;
}
#foot_contact li a{
display:block;
padding:1rem 0 1rem 0.5em;
font-size:1.6rem;
}
#foot_contact li:last-child a{
padding:1rem 0;
}
#foot_contact .btn{
padding-top:3rem;
}
#foot_contact .btn a{
font-size:1.6rem;
width:100%;
}


#footer{
background-color:#fff;
padding:5rem 2rem;
}
#footer ul{
text-align:center;
}
#footer li{
display:block;
vertical-align:top;
text-align:left;
padding:0.5rem 0;
line-height:1.8;
border-bottom:1px solid #d2d2d2;
}
#footer li img{
width:8rem;
}
#footer li .title{
padding-bottom:0;
font-size:1.6rem;
line-height:1.8;
}
#footer li .title span{
font-size:0.6rem;
}
#footer li .aco_box,#footer li .aco_box_d{
display:none;
padding:0.5rem;
}
#footer li .link{
font-size:1.5rem;
line-height:2;}
#footer li .link2{
font-size:1.5rem;
line-height:2;
padding:0.5rem 0;
border-bottom:1px solid #d2d2d2;
}
#footer li.sp_bottom .link2{
padding:0.5rem 0;
}

#footer .f_line{
display:none;
}
#footer .sp_bottom{
border-bottom:none;
padding-top:1.5rem;
}


#copyright{
background-color:#fff;
border-top:1px solid #aaa;
padding:1.4rem 0 5.1rem 0;
font-size:0.75rem;
}
#copyright .container{
padding:0 1rem;
}

#pagetop{
bottom:4.2rem;
right:0;
}
#pagetop a{
width:5rem;
height:5rem;
background-color:rgba(0,0,0,0.6);
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;	
font-size:1.6rem;
padding-top:1.3rem;
}


}



/* Underline From Center */
.hrunderline {
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  position: relative;
  overflow: hidden;
  padding-bottom:0.3rem;
}
.hrunderline:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  right: 50%;
  bottom: 0;
  height: 3px;
  background: #000;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hrunderline:hover:before, .hrunderline:focus:before, .hrunderline:active:before {
  left: 0;
  right: 0;
}


/* Radial Out */
.hvradialout {
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  position: relative;
  overflow: hidden;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

.hvradialout:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 100%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.line .hvradialout:before,.entry .hvradialout:before{
  background: #000;}
.hogo .hvradialout:before{
  background: #c91515;}
.hvradialout:hover:before, .hvradialout:focus:before, .hvradialout:active:before {
  -webkit-transform: scale(2);
  transform: scale(2);
}