@charset "utf-8";

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
word-wrap: break-word;
}


html {
height: 100%;
width: 100%;
font-size: 62.5%; 
}

body {
counter-reset: number 0;
text-align:left;
font-family:"Noto Sans JP",'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
font-size: 1.6rem;  
line-height:1.7;
margin:0px;
padding:0px;
-webkit-text-size-adjust: 100%;
color: #666;
word-break: break-all;
background-color: #fefcf2;
border-top:#106eb2 solid 2px;
}

@media screen and (max-width: 767px){
body {
font-size: 1.4rem;  
}
}



/* -------------------------------------------------------
link style
------------------------------------------------------- */

a:link       {color:#e56ecb;text-decoration:underline;}
a:visited    {color:#e56ecb;text-decoration:underline;}
a:active     {color:#e56ecb;text-decoration:underline;}
a:hover      {color:#e56ecb;text-decoration:underline;}


footer a:link       {color:#fff;text-decoration:none;transition: 0.3s;}
footer a:visited    {color:#fff;text-decoration:none;} 
footer a:active     {color:#fff;text-decoration:none;} 
footer a:hover      {color:#bbb;text-decoration:none;}



/* -------------------------------------------------------
header pc
------------------------------------------------------- */

#header_inner{
max-width:950px;
margin:0 auto;
width: 94%;
position:relative;
}

.logo_summery{
color: #666;
width: 100%;
font-size:12px;
color: #999;
padding: 2px 0px;
}

#header_logo{
text-align: center;
width:100%;
margin:0 0 20px;
}
@media screen and (max-width: 768px){
#header_logo{
text-align: left;
margin:10px 0;
}
.logo_summery{
display: none;
}
div#header_logo img {
width: 190px;
}
}




/* -------------------------------------------------------
header contactボタン
------------------------------------------------------- */


header #headContact {
font-size: 100%;
line-height: 110%;
margin: 0px;
white-space: nowrap;
text-align: left;
}
header #headContact {
float: right;
text-align: right;
margin-bottom: 20px;
}

header #headContact {
cursor: pointer;
position: absolute;
top: 0;
right: 0;
color: #fff;
}

header #headContact {
border-radius: 6px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
}


header #headContact.item_close #headContactInner:before,
header #headContact,
.submit{ 
background: #e56ecb;  /* Old browsers */
background: -moz-linear-gradient(top,  #f49b00 0%, #e56ecb 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f49b00), color-stop(100%,#e56ecb )); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #f49b00 0%,#e56ecb 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #f49b00 0%,#e56ecb 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #f49b00 0%,#e56ecb 100%); /* IE10+ */
background: linear-gradient(to bottom,  #f49b00 0%,#e56ecb 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f49b00', endColorstr='#e56ecb',GradientType=0 ); /* IE6-9 */
background: linear-gradient(to bottom, #f49b00, #e56ecb);/* IE10+, W3C */
}


header #headContact.open_contact #headContactInner:before,
header #headContact:hover,
.submit:hover{ 
background: #f49b00; /* Old browsers */
background: -moz-linear-gradient(top,  #e56ecb 0%, #f49b00 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e56ecb), color-stop(100%,#f49b00 )); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #e56ecb 0%,#f49b00 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #e56ecb 0%,#f49b00 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #e56ecb 0%,#f49b00 100%); /* IE10+ */
background: linear-gradient(to bottom,  #e56ecb 0%,#f49b00 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e56ecb', endColorstr='#f49b00',GradientType=0 ); /* IE6-9 */
background: linear-gradient(to bottom, #e56ecb, #f49b00);/* IE10+, W3C */
}

header #headContact.item_close{
padding: 10px 10px 8px;
top:46px;
}

header #headContact.open_contact{
padding: 10px 10px 8px;
top:26px;
}

#header #headContact.item_close:after {
font-family: "Font Awesome 5 Free";
content: "\f095";
font-size: 26px;
font-weight: 900;
}
header #headContact.item_close #headContactInner div {
 display: none;
}

header #headContact.open_contact #headContactInner {
display: block;
text-align: center;
}

header #headContact.open_contact img{
 display: none;
}


#header #headContact #headContactInner {
cursor: inherit;
padding: 0;
display: block;
overflow: hidden;
margin: 0;
}


#sp_trigger{
display: none;
}


.item_close img{
width:24px;
}

@media screen and (min-width:769px) {
#headContactTxt{
font-size: 11px;
margin-bottom: 2px;
}
#headContactTel {
font-size: 20px;
margin-bottom: 4px;
line-height: 21px;
font-family: 'Lato', sans-serif;
font-weight:bold;
}
#headContactTel a{
color:#fff;
text-decoration: none;
}
#headContact #headContactTime {
font-size: 10px;
line-height: 15px;
}
}


@media screen and (max-width: 768px){
header #headContact{
padding: 0px;
top: 0px;
position: relative;
}
#headContact img{
display: none;
}

#sp_trigger{
display:block;
position: absolute;
top: 0px;
right: 0px;
width: 40px;
height:40px;
cursor: pointer;
background: #e56ecb;
background: -moz-linear-gradient(top, #f49b00 0%, #e56ecb 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f49b00), color-stop(100%,#e56ecb ));
background: -webkit-linear-gradient(top, #f49b00 0%,#e56ecb 100%);
background: -o-linear-gradient(top, #f49b00 0%,#e56ecb 100%);
background: -ms-linear-gradient(top, #f49b00 0%,#e56ecb 100%);
background: linear-gradient(to bottom, #f49b00 0%,#e56ecb 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f49b00', endColorstr='#e56ecb',GradientType=0 );
background: linear-gradient(to bottom, #f49b00, #e56ecb);
border-radius: 4px;
}

#sp_trigger.spcontact_open{
display:block;
position: absolute;
top: 0px;
right: 0px;
width: 40px;
height:40px;
cursor: pointer;
background: #f49b00; /* Old browsers */
background: -moz-linear-gradient(top,  #e56ecb 0%, #f49b00 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e56ecb), color-stop(100%,#f49b00 )); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #e56ecb 0%,#f49b00 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #e56ecb 0%,#f49b00 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #e56ecb 0%,#f49b00 100%); /* IE10+ */
background: linear-gradient(to bottom,  #e56ecb 0%,#f49b00 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e56ecb', endColorstr='#f49b00',GradientType=0 ); /* IE6-9 */
background: linear-gradient(to bottom, #e56ecb, #f49b00);/* IE10+, W3C */
border-radius: 4px;
}


#sp_trigger span{
display: block;
background-image: url("../images/ico_phone.png");
width:40px;
height:40px;
background-repeat: no-repeat;
background-size: 24px;
background-position: top 7px left 7px;
}

#sp_trigger.spcontact_open span{
display: block;
background-image: url("../images/ico_close.png");
width:40px;
height:40px;
background-repeat: no-repeat;
background-size: 24px;
background-position: top 7px left 7px;
}



header #headContact.item_close #headContactInner div {
 display: block;
}
header #headContact,
header #headContact.item_close{
float:none;
top: 0px !important;
display: none;
background: #fff;
color:#666;
text-align: left;
white-space: normal;
border: none;
box-shadow: 0 0 3px rgb(0 0 0 / 20%);
-webkit-box-shadow: 0 0 3px rgb(0 0 0 / 20%);
-moz-box-shadow: 0 0 3px rgba(0,0,0,0.2);
}

#headContactTime{
font-size:12px;
}
#headContact #headContactTel {
font-size: 18px;
line-height: 21px;
margin-bottom: 2px;
font-family: 'Lato', sans-serif;
font-weight:bold;
}
}





/* -------------------------------------------------------
g_navi
------------------------------------------------------- */


@media screen and (max-width: 768px){
#mainmenu{
display: none;
}
#menubut{
display: block;
overflow: hidden;
position: relative;
left: 0px;
font-weight: lighter;
text-align: left;
font-family: 'Lato', sans-serif;
cursor: pointer;
background-color: #f5f5f5;
border-top-color: #90c0e5;
background: #106eb2;
}
#menubut span{
display: block;
overflow: hidden;
padding: 8px 0px;
margin: 0px 10px;
font-size: 16px;
color: #fff;
font-weight:bold;
}
#menubut span:before,
#menubut.active  span:before{
font-family: "Font Awesome 5 Free";
font-weight: 900;
margin-right: 8px;
}
#menubut span:before {
content: "\f0c9";
}
#menubut.active  span:before {
content: "\f00d";
}
#menubut.active #mainmenu{
font-size: 13px;
list-style: none;
margin: 0px 0px 0px;
padding: 0px;
display: block;
overflow: visible;
border-top: 1px solid #ddd;
}
#mainmenu li{
position: relative;
width: 100%;
display: block;
}
#mainmenu li a {
color: #333;
display: block;
overflow: hidden;
padding: 13px 10px 11px;
margin: 0px;
line-height: 110%;
text-decoration: none;
letter-spacing: 0px;
text-align: left;
position: relative;
border-bottom: 1px solid #ccc;
font-size:14px;
}
}


@media screen and (min-width:769px) {
nav#global_nav{
width: 100%;
}
nav.fixed{
left: 0;
position: fixed;
top: 0;
width: 100%;
background-color:rgba(254,252,242,0.9);
z-index:9999;
 border-bottom: #90c0e5 solid 4px;
 box-shadow: 0px 4px 3px -3px rgb(0 0 0 / 20%);
-webkit-box-shadow: 0px 4px 3px -3px rgb(0 0 0 / 20%);
-moz-box-shadow: 0px 4px 3px -3px rgba(0,0,0,0.2);
}
#menubut{
display: none;
}
#mainmenu{
padding: 0;
text-align: center;
display: flex;
font-size: 14px;
line-height: 74px;
transition: all 0.3s;
max-width: 960px;
width: 100%;
margin: 0 auto;
}
#mainmenu li{
width: 16.6666%;
border-left: #c3d6e5 1px solid;
border-right: #c3d6e5 1px solid;
margin-left: -1px;
}
#mainmenu li a{
color: #333;
display: block;
overflow: hidden;
padding: 13px 10px 11px;
margin: 0px;
line-height: 110%;
text-decoration: none;
letter-spacing: 0px;
position: relative;
border-bottom: 1px solid #ccc;
}
#mainmenu li a:hover,
.index li.nav-index a,
.guide li.nav-guide a,
.receptionist-access li.nav-receptionist-access a,
.app li.nav-app a,
.recruitment li.nav-recruitment a,
.inquiries li.nav-inquiries a{
background: #d4e8f4;
background: -moz-linear-gradient(top, #fefcf2 0%, #d4e8f4 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fefcf2), color-stop(100%,#d4e8f4 ));
background: -webkit-linear-gradient(top, #fefcf2 0%,#d4e8f4 100%);
background: -o-linear-gradient(top, #fefcf2 0%,#d4e8f4 100%);
background: -ms-linear-gradient(top, #fefcf2 0%,#d4e8f4 100%);
background: linear-gradient(to bottom, #fefcf2 0%,#d4e8f4 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefcf2', endColorstr='#d4e8f4',GradientType=0 );
background: linear-gradient(to bottom, #fefcf2, #d4e8f4);
}
}
@media screen and (max-width: 940px){
#mainmenu li a{
font-size:12px;
}
}
@media screen and (max-width:768px){
#mainmenu li a{
font-size:15px;
}
}




/* -------------------------------------------------------
footer
------------------------------------------------------- */

footer{
background-color: #106eb2;
width:100%;
height:auto;
color:#fff;
font-size:14px;
}


#footer_inner{
max-width:950px;
width:94%;
margin:0 auto;
display: flex;
padding:25px 0 20px;
}
@media screen and (max-width: 940px){
#footer_inner{
display:block;
}
}


#footer_text{
width:330px;
margin:4px 0 0;
}

#footer_text adress{
display: block;
}

#footer_sitemap{
width: 620px;
padding-top: 0px;
font-size: 12px;
}

@media screen and (max-width: 940px){
#footer_text,
#footer_sitemap{
width:94%;
margin:0 auto 25px;
}
}



#footer_sitemap ul{
overflow:hidden;
}

#footer_sitemap li{
float:left;
display: inline-block;
margin-bottom: 6px;
margin-right:25px;
}
#footer_sitemap li:last-child{
float:left;
display: inline-block;
margin-bottom: 6px;
margin-right:0px;
}

@media screen and (max-width: 640px){
#footer_sitemap li,
#footer_sitemap li:last-child{
display: block;
vertical-align: text-top;
line-height: 116.7%;
float:none;
margin-right:0px;
}
#footer_sitemap li a{
padding: 10px 0px;
display: block;
color: #fff;
border-bottom: 1px solid rgba(255,255,255,0.2);
}
}



#footer_sitemap li a:before {
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f105";
padding-right: 5px;
}



#copyright{
width:100%;
border-top: 1px solid rgba(255,255,255,0.2);
font-size:13px;
text-align: center;
padding:20px 10px 30px;
}
@media screen and (max-width: 640px){
#copyright{
border: none;
padding:0px 10px 30px;
}
}





/* -------------------------------------------------------
ontainer 
------------------------------------------------------- */


#container {
background: #fff;
padding-top: 30px;
box-shadow: 0 0 3px rgb(0 0 0 / 20%);
-webkit-box-shadow: 0 0 3px rgb(0 0 0 / 20%);
-moz-box-shadow: 0 0 3px rgba(0,0,0,0.2);
padding: 30px 25px;
width: 950px;
margin: 0 auto;
position: relative;
overflow:hidden;
}
@media screen and (max-width: 940px){
#container {
text-align: left;
width: 94%;
margin: 0px auto;
padding:30px 0 0;
box-shadow: 0 0 3px rgba(0,0,0,0.2);
-webkit-box-shadow: 0 0 3px rgb(0 0 0 / 20%);
-moz-box-shadow: 0 0 3px rgba(0,0,0,0.2);
}
}
@media screen and (max-width: 660px){
#container {
    padding-top: 20px;
}
}


/* -------------------------------------------------------
content
------------------------------------------------------- */

#content{
float: left;
width:640px;
margin-bottom:40px;
}
@media screen and (max-width: 940px){
#content{
float: none;
width:94%;
margin:0 auto 60px;
}
}

.contentwide {
width:94%;
margin:0 auto 60px;
}



/* -------------------------------------------------------
side
------------------------------------------------------- */

#side{
float: right;
margin: 0;
width: 220px;
position: relative;
}
#side li{
margin-bottom:30px;
}
@media screen and (max-width: 940px){
#side{
float: none;
width: 94%;
margin:0 auto;
}
#side li{
float:left;
width:31%;
margin:0 1% 30px 1%;
text-align: center;
}
}
@media screen and (max-width: 768px){
#side li{
width:48%;
}
}
@media screen and (max-width: 420px){
#side li{
width:98%;
}
}


.side_bannerbox p{
text-align:left;
max-width:220px;
margin:0 auto;
}

.side_bannerbox{
margin-bottom:40px;
}

.side_bannerbox img{
margin-bottom:8px;
}

#side p{
font-size:13px;
}



/* -------------------------------------------------------
etc
------------------------------------------------------- */

h2 {
clear: both;
font-size:20px;
line-height: 133.3%;
text-shadow: -1px 1px 0 rgb(255 255 255 / 90%);
padding: 10px;
font-weight: normal;
color: #333;
position: relative;
margin: 0px 0px 25px;
border-top: #90c0e5 solid 2px;
background: #d4e8f4;
background: -moz-linear-gradient(top, #d4e8f4 0%, #ffffff 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d4e8f4), color-stop(100%,#ffffff ));
background: -webkit-linear-gradient(top, #d4e8f4 0%,#ffffff 100%);
background: -o-linear-gradient(top, #d4e8f4 0%,#ffffff 100%);
background: -ms-linear-gradient(top, #d4e8f4 0%,#ffffff 100%);
background: linear-gradient(to bottom, #d4e8f4 0%,#ffffff 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d4e8f4', endColorstr='#ffffff',GradientType=0 );
background: linear-gradient(to bottom, #d4e8f4, #ffffff);
}
@media screen and (max-width: 660px){
h2 {
margin: 0px 0px 25px;
font-size:16px;
}
}

h2#frame{
font-size:20px;
}
@media screen and (max-width: 639px){
h2#frame{
font-size:16px;
}
}


table.tablepress{
font-size:14px;
}

table.tablepress td{
border: 1px solid #ccc;
padding:10px;
}
table.tablepress td.item{
background-color: #ffc0cb!important;
}
table.tablepress td.cell{
background-color: #f5f5f5!important;
}

table.tablepress2{
font-size:14px;
width:100%;
}

table.tablepress2 td,
table.tablepress2 th{
border: 1px solid #ccc;
padding:10px;
text-align: center;
}
table.tablepress2 th{
background-color: #90C0E5 !important;
}
table.tablepress2 td{
background-color: #fff!important;
}



.in {
padding: 0px 5px;
}



.box30 {
background: #f1f1f1;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box30 .box-title {
font-size: 1.2em;
background: #5fc2f5;
padding: 4px;
text-align: center;
color: #FFF;
font-weight: bold;
letter-spacing: 0.05em;
}
.box30 p {
padding: 15px 20px;
margin: 0;
}


.list_num li{
list-style: disc;
margin-left: 2em;
color: #e56ecb;
}

.list_num li span{
color: #666;
}

