@charset "UTF-8";
html{
color:#000;background:#FFF
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
margin:0;padding:0
}
table{
border-collapse:collapse;
border-spacing:0
}
fieldset,img{border:0}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}
ol,ul{list-style:none}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
q:before,q:after{content:''}
abbr,acronym{border:0;font-variant:normal}
sup{vertical-align:text-top}
sub{vertical-align:text-bottom}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%}
legend{color:#000}
#yui3-css-stamp.cssreset{display:none}

html{
width: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
}

@media screen and (min-width: 641px),print {
a[href^="tel:"] {
pointer-events: none;
text-decoration: none;
}
#header_sp,
#sp_menu {
display: none;
}
}
@media screen and (min-width: 0px) and (max-width: 640px) {
#wrapper {
width: 100%;
position: relative;
text-size-adjust: 100%;
overflow: hidden;
}
}

a{ text-decoration: none; color: #000; }
hr{ margin: 0; }

.left{
float: left;
}
.right{
float: right;
}
.txt_left{
text-align: left;
}
.txt_right{
text-align: right;
}
.txt_center{
text-align: center;
}
body {
font-family: "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro," メイリオ", Meiryo, Osaka," ＭＳ Ｐゴシック", MS PGothic," sans-serif";
}
img {
max-width: 100%;
}
@media only screen and (max-width:768px) {
html {
min-width:100%;
}
body {
font-size: 16px;
line-height:1.6em;
}
.left,
.right {
float:none;
}
}
/*=============================================================
# sp menu
=============================================================*/
@media screen and (min-width: 0px) and (max-width: 640px) {
header {
display: none;
}
#header_sp {
z-index: 9000;
position: absolute;
top: 0;
left: 0;
padding: 3% 0 0 2%;
box-sizing: border-box;
}
#header_sp img {
width: 70%;
height: auto;
}

#sp_menu {
z-index: 9000;
}
#overlay-button {
position: fixed;
right: 1.5%;
top: 1%;
padding: 22px 11px 22px 11px;
z-index: 9999;
cursor: pointer;
user-select: none;
background-color: #174F9E;
border: 1px solid #FFF;
}
#overlay-button span {
height: 4px;
width: 30px;
border-radius: 2px;
background-color: #FFF;
position: relative;
display: block;
transition: all .2s ease-in-out;
}
#overlay-button span:before {
top: -10px;
visibility: visible;
}
#overlay-button span:after {
top: 10px;
}
#overlay-button span:before,
#overlay-button span:after {
height: 4px;
width: 30px;
border-radius: 2px;
background-color: #FFF;
position: absolute;
content: "";
transition: all .2s ease-in-out;
}
#overlay-button:hover span,
#overlay-button:hover span:before,
#overlay-button:hover span:after {
background: #FFF;
}
#sp_menu input[type=checkbox] {
display: none; 
}
#sp_menu input[type=checkbox]:checked ~ #overlay {
visibility: visible;
}
#sp_menu input[type=checkbox]:checked ~ #overlay-button:hover span,
#sp_menu input[type=checkbox]:checked ~ #overlay-button span {
background: transparent;
}
#sp_menu input[type=checkbox]:checked ~ #overlay-button span:before {
transform: rotate(45deg) translate(7px, 7px);
}
#sp_menu input[type=checkbox]:checked ~ #overlay-button span:after {
transform: rotate(-45deg) translate(7px, -7px);
}

#overlay {
width: 100vw;
height: 100%;
background: #f0eff9;
background: -moz-linear-gradient(45deg,  #f0eff9 0%, #FFF 100%);
background: -webkit-linear-gradient(45deg,  #f0eff9 0%,#FFF 100%);
background: linear-gradient(45deg,  #f0eff9 0%,#FFF 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0eff9', endColorstr='#FFF',GradientType=1 );
visibility: hidden;
position: fixed;
z-index: 9998;
overflow: auto;
margin: 0px auto 0 auto;
left: 0;
top: 0;
}
#overlay.active {
}
#overlay dl.contents,
#overlay dl.contact{
width: 90%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
padding-left: 0;
list-style-type: none;
margin: 0px auto 0 auto;
padding-top: 40px;
}
#overlay dl.contents dt {
width: 100%;
padding: 0 0 1em 0;
}
#overlay dl.contents dt p {
color: #FFF;
background-color: #1A3296;
font-size: 16px;
line-height: 1.2em;
font-weight: bold;
padding: 0.5em;
margin-bottom: 0.5em;
}
#overlay dl.contents dt img {
width: 60%;
height: auto;
}
#overlay dl.contents dd {
width: 100%;
margin-bottom: 0.8em;
}
#overlay dl.contents dd a {
font-size: 18px;
line-height: 1.2em;
background: #FFF;
color: #174e9e;
text-decoration: none;
font-weight: bold;
display: block;
padding: 0.5em 0 0.5em 0;
position: relative;
box-sizing: border-box;
border: 1px solid #174e9e;
}
#overlay dl.contents dd a:after {
content: '';
box-sizing: border-box;
display: inline-block;
position: absolute;
width: 8px;
height: 8px;
border-style: solid;
border-width: 2px 2px 0 0;
border-color: #174e9e;
transform: rotate(45deg);
top: 43%;
right: 3%;
}
#overlay dl.contact {
border: 1px solid #174e9e;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
width: 90%;
margin: 20px auto 0 auto;
font-family: shippori-mincho, sans-serif;
font-weight: 600;
font-style: normal;
padding: 20px 0 20px 0;
}
#overlay dl.contact dd {
width: 100%;
}
#overlay dl.contact dd h6 {
font-size: 16px;
line-height: 1.5em;
font-weight: 500;
text-align: center;
}
#overlay dl.contact dd p {
color: #707070;
font-size: 14px;
line-height: 1.5em;
text-align: center;
margin: 0px auto 20px auto;
}
#overlay dl.contact dd p.tel {
margin: 0px auto 0 auto;
}
#overlay dl.contact dd p.tel a[href^="tel:"] {
color: #174e9e !important;
font-size: 30px;
line-height: 1.2em;
font-weight: 600;
font-style: normal;
position: relative;
font-family: Arial, Helvetica, "sans-serif";
}
#overlay dl.contact dd p.tel:before {
content: '';
display: inline-block;
width: 22px;
height: 22px;
background-image: url("../../common/img/tel_sp.png");
background-size: contain;
vertical-align: middle;
margin-right: 7px;
position: relative;
top: -1.8vw;
}
#overlay dl.contact p.mail {
margin: 0px 0 0 0;
}
#overlay dl.contact p.mail a {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 600;
background-color: #174e9e;
color: #FFF;
font-style: normal;
text-decoration: none;
font-size: 18px;
line-height: 1.5em;
display: block;
width: 80%;
text-align: center;
padding: 0.6em 0 0.6em 1em;
box-sizing: border-box;
position: relative;
margin: 0.3em auto 0 auto;
border-radius: 100vh;
box-shadow:0px 0px 3px 1px rgba( 0, 0, 0, 0.5);
}
#overlay dl.contact p.mail a:before {
content: '';
display: inline-block;
width: 20px;
height: 16px;
background-image: url("../image/icon_mail.png");
background-size: contain;
vertical-align: middle;
position: absolute;
top: 35%;
left: 8%;
}
}
/* --------------------
ヘッダー
-------------------- */
@media screen and (min-width: 641px),print {
header .header_top {
position: absolute;
width: 100%;
top: 15px;
z-index: 100000;
}
header dl {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
width:80%;
margin: 0px auto 0 auto;
}
header dt.logo {
padding-top: 15px;
width: 50%;
}
header dd {
width: 15%;
}
header dd.tel {
padding-left: 40px;
}
header dd.btn_form {}
header dd.btn_form a:hover img{
background: rgba(255, 255, 255, 0.2);
}

#nav {
width: 80%;
margin: 20px auto 0 auto;
}
#nav ul {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
}
#nav li {
width: 20%;
text-align: center;
box-sizing: border-box;
margin: 0px auto 0 auto;
}
#nav li a {
display: block;
border-left: 1px solid #fff;
color: #fff;
text-decoration: none;
font-size: 18px;
line-height: 1.3em;
box-sizing: border-box;
text-align: center;
}
#nav li a:hover{
text-decoration: underline;
}
#nav li:last-child {
border-right: 1px solid #fff;
}
}

@media screen and (min-width: 0px) and (max-width: 640px) {
.header_top {
position: absolute;
width: 100%;
top: 15px;
z-index: 100000;
}
.header_top_inner {
width: 100%;
margin: 0 auto;
}
.logo {
float: left;
padding-top: 15px;
}
.header_contact {
float: right;
}
.header_contact .tel,
.header_contact .btn_form{
display: inline-block;
padding-left: 40px;
vertical-align: middle;
}
.header_contact .btn_form a:hover img{
background: rgba(255, 255, 255, 0.2);
}
#nav {
width: 100%;
float: left;
margin-top: 10px;
}
#nav li {
float: left;
width: 20%;
text-align: center;
box-sizing: border-box;
}
#nav li a {
float: left;
width: 100%;
height: 25px;
padding: 0 10px;
border-left: 1px solid #fff;
color: #fff;
text-decoration: none;
font-size: 18px;
line-height: 25px;
box-sizing: border-box;
}
#nav li a:hover{
text-decoration: underline;
}
#nav li:last-child {
border-right: 1px solid #fff;
}
}

/* --------------------
お問い合わせ
-------------------- */
#contactBox {}
#contactBox .contact {
width:100%;
background:#174F9E;
text-align: center;
color:#fff;
padding:95px 0 95px;
}
#contactBox .contact h3 {
font-size:23px;
}
#contactBox .contact h3 span {
display: block;
font-size:12px;
margin-top:-2px;
width:100%;
margin-bottom:15px;
padding-bottom:10px;
text-transform: uppercase;
}
#contactBox .contact p {
font-size:14px;
}
#contactBox .contact .foot_contact{
margin-top: 60px;
}
#contactBox .contact .foot_contact ul{
width: 1000px;
margin: 0px auto 0 auto;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
}
#contactBox .contact .foot_contact li{
display: block;
width: 50%;
vertical-align: middle;
border: solid 1px #ffffff;
height: 80px;
}
#contactBox .contact .foot_contact li a {
color: #FFF;
position: relative;
font-size: clamp(0.875rem, 0.693rem + 0.91vw, 1.375rem);
line-height: 1.8em;
font-weight: bold;
display: block;
padding: 0.5em 0 0.2em 0;
}
#contactBox .contact .foot_contact li a:before {
content: '';
display: inline-block;
width: 33px;
height: 33px;
background-size: contain;
vertical-align: middle;
margin-right: 10px;
position: relative;
top: -1px;
}
#contactBox .contact .foot_contact li.mail {}
#contactBox .contact .foot_contact li.mail a {
padding: 0.8em 0 0.2em 0;
}
#contactBox .contact .foot_contact li.mail a:before {
background-image: url("../../style/img/icon_mail.png");
}
#contactBox .contact .foot_contact li.mail a:hover {
text-decoration: underline;
}
#contactBox .contact .foot_contact li.tel {}
#contactBox .contact .foot_contact li.tel a {
font-size: clamp(0.875rem, 0.557rem + 1.59vw, 1.75rem);
line-height: 1em;
}
#contactBox .contact .foot_contact li.tel a:before {
background-image: url("../../style/img/icon_tel.png");
}
#contactBox .contact .foot_contact li.tel p {
margin: 0px auto 0 auto;
padding: 0;
}

@media screen and (min-width: 0px) and (max-width: 640px) {
#contactBox {}
#contactBox .contact {
width:100%;
background:#174F9E;
text-align: center;
color:#fff;
padding:30px 0 30px;
}
#contactBox .contact h3 {
font-size:18px;
}
.block03 .contact h3 {
font-size:18px;
font-weight:bold;
}
#contactBox .contact p {
font-size:14px;
}
.block03 .contact p {
font-size:13px;
margin:15px 15px 0;
}
#contactBox .contact .foot_contact{
margin-top: 20px;
}
#contactBox .contact .foot_contact ul{
width: 90%;
margin: 0px auto 0 auto;
padding: 0 !important;
display: block;
}
#contactBox .contact .foot_contact li{
display: block;
vertical-align: middle;
border: solid 1px #ffffff;
padding: 0 !important;
margin-bottom: 20px;
height: auto;
}
#contactBox .contact .foot_contact li a {
color: #FFF;
position: relative;
font-size: 18px;
line-height: 1.8em;
font-weight: bold;
display: block;
padding: 0.5em 0 0.5em 0;
box-sizing: border-box;
}
.block03 .contact .foot_contact ul li:first-of-type a::after {
content: none;
}
#contactBox .contact .foot_contact li.mail {
width: 100% !important;
}
#contactBox .contact .foot_contact li.mail a {
padding: 0.8em 0 0.8em 0;
}
#contactBox .contact .foot_contact li.tel {
width: 100% !important;
}
#contactBox .contact .foot_contact li.tel a {
font-size: 24px;
line-height: 1em;
padding: 0.5em 0 0em 0 !important;
}
#contactBox .contact .foot_contact li.tel p {
margin: 0px auto 0 auto;
padding: 0 0 0.2em 0;
}
}
/* --------------------
フッター
-------------------- */
.btn_fixed_pagetop{
position: fixed;
display: inline-block;
bottom: 40px;
right: 20px;
z-index: 8000;
}
.btn_fixed_pagetop a{
display: block;
}
@media screen and (min-width: 641px),print {
footer {
width: 100%;
padding-top: 30px;
}
.footer_inner {
margin:0 auto;
width: 80%;
}
.footer_inner ul{
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
padding: 20px 0 0 0;
}
.footer_inner li {
display: inline-block;
width: 19%;
vertical-align: top;
}
.footer_inner li.half{
box-sizing: border-box;
}
.footer_inner .logo_foot{
}
.footer_inner .logo_foot img{
display: block;
}
.footer_inner li h3,
.footer_inner li h3 a {
font-size: 16px;
font-weight: bold;
color: #474747;
}
.footer_inner .navi_anchor li{
display: block;
width: 100%;
line-height: 1.5;
}
.footer_inner li a{
font-size: 16px;
color: #474747;
text-decoration: none;
}
.footer_inner .navi_recruit a{
padding-left: 10px;
background: url(../img/icon_foot_navi.png) no-repeat left 2px;
font-size: 15px;
}
.footer_inner li a:hover{
text-decoration: underline;
}
.footer_inner > ul {
display: flex;
}
.footer_inner > ul > li {
width: auto;
}
.copy {
width: 100%;
border-top:2px solid #bfbfbf;
padding:15px 0;
margin-top:50px;
box-sizing: border-box;
font-size: 12px;
}
.copy .copy_inner{
margin: 0 auto;
overflow: hidden;
width: 80%;
}
.copy a{
text-decoration: none;
color: #474747;
}
.copy a:hover{
text-decoration: underline;
}
}

@media only screen and (max-width:640px) {
.btn_fixed_pagetop{
position: fixed;
display: block;
bottom: 2%;
right:2%;
text-align: center;
z-index: 8000;
cursor: pointer;
width: 60px;
height: 60px;
}
.btn_fixed_pagetop img {
width: 100%;
height: auto;
}
.btn_fixed_pagetop a{
display: block;
}
footer {
min-width:100%;
padding-top:0;
}
.footer_inner {
width:100%;
margin:0 auto;
}
.footer_inner ul{
padding: 20px 0 0 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.footer_inner li {
width: 50%;
margin-bottom: 0.5em;
}
.footer_inner .logo_foot{
margin-bottom: 1.5em;
width: 100%;
}
.footer_inner .logo_foot img{
width: 70%;
}
.footer_inner li h3,
.footer_inner li h3 a {
font-size: 16px;
font-weight: bold;
color: #474747;
}
.footer_inner .navi_anchor li{
display: block;
width: 100%;
line-height: 1.5;
}
.footer_inner li a{
font-size: 16px;
color: #474747;
text-decoration: none;
display: block;
}
.footer_inner .navi_recruit a{
padding-left: 10px;
background: url(../img/icon_foot_navi.png) no-repeat left 2px;
font-size: 15px;
}
.footer_inner li a:hover{
text-decoration: underline;
}
.footer_inner > ul {
}
.footer_inner > ul > li {
text-align: center;
}
footer .copy {
margin:2em 0 7em 0;
text-align:center;
font-size:14px;
}
footer .copy .left {
padding-bottom: 1em;
}
footer .copy .right {
font-size:12px;
}
}

/* --------------------
モーダル
-------------------- */
/*
.mfp-bg{
min-width: 1200px;
}
*/
/* --------------------
下層ページ 共通
-------------------- */

/* sec01 */
.page_local .sec01.cont_style01{
padding: 60px 0;
background: url(../../service/style/img/s01_bg_service.jpg) repeat;
background-size: cover;
}
.page_local .sec01.cont_style01 .cont{
border: 7px double #2b62af;
background: rgba(255, 255, 255, 0.8);
margin-bottom: 30px;
}
.page_local .sec01.cont_style01 .cont_inner{
padding: 40px;
overflow: hidden;
}
.page_local .sec01.cont_style01 hr{
margin: 0;
}
.page_local .sec01.cont_style01 p{
font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
line-height: 1.8em;
}

.btn_style01{
margin: 30px auto 0;
text-align: center;
}
.btn_style01 a{
display: inline-block;
padding: 30px 20px 30px 80px;
background: #1c519c;
font-size: 20px;
line-height: 1em;
font-weight: bold;
color: #fff;
}
.btn_style01 a:after{
display: inline-block;
content: ">";
margin-left: 50px;
text-align: right;
}
.btn_pagetop{
display: block!important;
width: 100%;
text-align: center;
}

.page_local .mainvisual {
background-size: cover;
width: 100%;
min-width: 1200px;
height: 600px;
position: relative;
display: grid;
place-content: center;
}
.page_local .mainvisual:before {
width: 100%;
height: 100%;
content: '';
position: absolute;
top: 0;
left: 0;
opacity: 1;
background-image: url(../img/dot.png);
background-size: 2px auto;
z-index: 11;
background-color: rgba(0,0,0,0.5);
}
.page_local .mainvisual h1 {
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
font-size: 60px;
line-height: 1.8em;
color: #FFF;
text-align: center;
z-index: 20;
position: relative;
}
.page_local .mainvisual img{
width: 100%;
}
.page_local .inner{
width: 1200px;
margin: 0 auto;
box-sizing: border-box;
}
@media only screen and (max-width:768px) {
.page_local .mainvisual {
background-size: cover;
width: 100%;
min-width: 100%;
height: 180px;
position: relative;
display: grid;
place-content: center;
}
.page_local .mainvisual h1 {
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
font-size: 26px;
line-height: 1.8em;
color: #FFF;
text-align: center;
}
.page_local .mainvisual img{
width: 100%;
}
.page_local .inner{
width: 100%;
margin: 0 auto;
box-sizing: border-box;
}
}
.page_local,
.page_local p{
font-size: 14px;
}

.page_local .bg_blue,
.page_local .bg_blue .ttl_style01,
.page_local .bg_blue .ttl_style04{
color: #fff;
}
#wrapper.page_local .small{
font-size: 12px;
}
@media only screen and (max-width:768px) {
.page_local .sec01.cont_style01 {
padding:5% 4%;
background:url(../../service/style/img/s01_bg_service_sp.jpg) center top / no-repeat 50% 50%;
}
.page_local .sec01.cont_style01 .cont_inner {
padding:20px 15px;
}
.page_local .sec01.cont_style01 .cont_inner p + p {
margin-top:15px;
}
.page_local .sec01.cont_style01 p {
line-height:1.6;
}
.btn_pagetop {
padding:15px 0;
}
.page_local .mainvisual {
min-width:0;
}
.page_local .inner {
width:100%;
}
}

/* タイトル */
.ttl_style01 {
margin: 0 auto 30px;
font-size:clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
text-align: center;
color: #174f9e;
}
.ttl_style01.arrow,
.ttl_style04.arrow{
margin: 0;
padding: 50px 0;
}
.ttl_style01 span,
.ttl_style04 span {
display: block;
font-size:12px;
text-transform: uppercase;
}
.ttl_style01.arrow span,
.ttl_style04.arrow span{
background:url(../../style/img/arrow.png) no-repeat bottom center;
padding-bottom:10px;
}
.ttl_style02{
margin-bottom: 50px;
}
.ttl_style02 span{
position: relative;
display: inline-block;
padding-bottom: 20px;
line-height: 1;
font-size: 24px;
font-weight: bold;
color: #174f9e;
}
.ttl_style02 span:after{
position: absolute;
left: 0;
bottom: 0;
content: "";
width: 100%;
height: 3px;
background: linear-gradient( 180deg, rgb(98,126,166) 0%, rgb(141,143,172) 31%, rgb(73,119,147) 66%, rgb(159,207,188) 100%);
background: -moz-linear-gradient( 180deg, rgb(98,126,166) 0%, rgb(141,143,172) 31%, rgb(73,119,147) 66%, rgb(159,207,188) 100%);
background: -webkit-linear-gradient( 180deg, rgb(98,126,166) 0%, rgb(141,143,172) 31%, rgb(73,119,147) 66%, rgb(159,207,188) 100%);
background: -ms-linear-gradient( 180deg, rgb(98,126,166) 0%, rgb(141,143,172) 31%, rgb(73,119,147) 66%, rgb(159,207,188) 100%);
}
.ttl_style03{
padding: 20px;
background: #ccc;
}
.ttl_style03 h3{
color: #fff;
font-size: 20px;
font-weight: bold;
}
.ttl_style04{
margin: 0 auto;
font-size:23px;
text-align: center;
color: #174f9e;
}
.ttl_style05{
margin-bottom: 50px;
}
.ttl_style05 span{
position: relative;
display: block;
padding-bottom: 20px;
line-height: 1;
font-size: 24px;
font-weight: bold;
color: #174f9e;
}
.ttl_style05 span:after{
position: absolute;
left: 0;
bottom: 0;
content: "";
width: 100%;
height: 3px;
background: linear-gradient( 180deg, rgb(98,126,166) 0%, rgb(141,143,172) 31%, rgb(73,119,147) 66%, rgb(159,207,188) 100%);
background: -moz-linear-gradient( 180deg, rgb(98,126,166) 0%, rgb(141,143,172) 31%, rgb(73,119,147) 66%, rgb(159,207,188) 100%);
background: -webkit-linear-gradient( 180deg, rgb(98,126,166) 0%, rgb(141,143,172) 31%, rgb(73,119,147) 66%, rgb(159,207,188) 100%);
background: -ms-linear-gradient( 180deg, rgb(98,126,166) 0%, rgb(141,143,172) 31%, rgb(73,119,147) 66%, rgb(159,207,188) 100%);
}

@media only screen and (max-width:768px) {
.ttl_style01{
margin-bottom:15px;
font-size:18px;
font-weight:bold;
}
.ttl_style01 span,
.ttl_style04 span {
font-size:10px;
}
.ttl_style02,
.ttl_style05 {
margin-bottom:20px;
}
.ttl_style02 span,
.ttl_style05 span {
padding-bottom:12px;
font-size:20px;
line-height:1.4;
display:block;
}
.ttl_style01.arrow{
padding:22px;
}
.ttl_style03 {
padding:18px 15px;
}
.ttl_style03 h3 {
font-size:14px;
}
.ttl_style04{
margin: 0;
font-size:18px;
font-weight:bold;
}
}
@media only screen and (max-width:320px) {
.ttl_style01 {
font-size:16px
}
}

/* 背景 */
.bg_blue{
min-width: 1200px;
background: #174f9e;
}
.bg_blue .inner{
padding: 30px 0;
}

.bg_grad{
padding: 50px 0 20px;
background: linear-gradient( 90deg, rgba(98,126,166,0.1) 0%, rgba(141,143,172,0.1) 31%, rgba(73,119,147,0.1) 66%, rgba(159,207,188,0.1) 100%);
background: -moz-linear-gradient( 90deg, rgba(98,126,166,0.1) 0%, rgba(141,143,172,0.1) 31%, rgba(73,119,147,0.1) 66%, rgba(159,207,188,0.1) 100%);
background: -webkit-linear-gradient( 90deg, rgba(98,126,166,0.1) 0%, rgba(141,143,172,0.1) 31%, rgba(73,119,147,0.1) 66%, rgba(159,207,188,0.1) 100%);
background: -ms-linear-gradient( 90deg, rgba(98,126,166,0.1) 0%, rgba(141,143,172,0.1) 31%, rgba(73,119,147,0.1) 66%, rgba(159,207,188,0.1) 100%);
}
.bg_gray {
padding: 50px 0 20px;
background-color: #f3f4f7;
}

.bg_shadow{
box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.05);
}
@media only screen and (max-width:768px) {
.bg_blue {
min-width:0;
}
.bg_grad,
.bg_gray {
padding:7% 4%;
}
section .bg_grad:last-child {
padding-bottom:0;
}
}

/* リスト */
.page_local .list_style01 ul{
font-size: 0;
}
.page_local .list_style01 li{
position: relative;
display: inline-block;
width: 320px;
margin: 0 20px 40px 0;
background: #fff;
box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.05);
vertical-align: top;
}
.page_local .list_style01 li:nth-of-type(3n){
margin-right: 0;
}
.page_local .list_style01 li:before{
position: absolute;
top: -2px;
left: -2px;
content: "";
width: 18.75%;
height: 5px;
background: #174f9e;
}
.page_local .list_style01 h4{
margin-bottom: 28px;
line-height: 1;
font-size: 20px;
font-weight: bold;
color: #174f9e;
}
.page_local .list_style01 .box_info{
padding: 25px 20px 20px;
}
.page_local .btn_pagetop{
padding: 20px 0 30px;
}
@media only screen and (max-width:768px) {
.page_local .list_style01 li {
width:48.5%;
margin:0;
}
.page_local .list_style01 li:nth-of-type(odd)  {margin-right:1.5%;}
.page_local .list_style01 li:nth-of-type(even) {margin-left:1.5%;}
.page_local .list_style01 li:nth-of-type(n+3)  {margin-top:4%;}

.page_local .list_style01 h4 {
margin-bottom:10px;
font-size:15px;
}
.page_local .list_style01 .box_info {
padding:15px 10px;
}
.page_local .btn_pagetop {
padding:30px 0 15px;
margin: 0px auto 0 auto;
width: 20%;
}
.btn_style01{
margin: 20px auto 35px;
}
.btn_style01 a{
position: relative;
display: block;
width: 100%;
padding: 25px 20px;
font-size: 16px;
box-sizing: border-box;
}
.btn_style01 a:after{
position: absolute;
margin: 0;
right: 20px;
}
}

/* 説明リスト */
.page_local .dl_style01{
background: rgba(255, 255, 255, 0.9);
padding: 60px 100px;
box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.05);
font-size: 15px;
color: #404040;
}
.page_local .dl_style01 dl {
padding-top: 30px;
color: #343434;
font-size: 0;
}
.page_local .dl_style01 dl:first-of-type{
padding-top: 0;
}
.page_local .dl_style01 dt{
display: inline-block;
width: 188px;
margin-right: 17px;
padding-bottom: 10px;
border-bottom: 3px solid #174f9e;
font-weight: bold;
font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
line-height: 1.7em;
}
.page_local .dl_style01 dd{
display: inline-block;
width: 590px;
padding-bottom: 10px;
border-bottom: 3px solid #d4d4d4;
line-height: 1.7em;
font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
vertical-align: bottom;
}
@media only screen and (max-width:768px) {
.page_local .dl_style01 {
padding:20px 15px;
}
.page_local .dl_style01 dl {
width:100%;
padding-top:10px;
}
.page_local .dl_style01 dl dt {
width:100%;
margin-right:0px;
padding-bottom:5px;
border-bottom-width:2px;
font-size:14px;
}
.page_local .dl_style01 dl dd {
width:100%;
border-bottom:none;
margin-top:10px;
}
}

/* お問い合わせ */
.page_local .cont_contact{
margin: 60px 0 20px;
background: #fff;
overflow: hidden;
text-align: center;
}
.page_local .cont_contact p{
font-size: 16px;
line-height: 20px;
letter-spacing: 0.2em;
color: #333;
}
.page_local .cont_contact ul{
margin: 60px 0 50px;
overflow: hidden;
}
.page_local .cont_contact li{
width: 23%;
float: left;
text-align: center;
}
.page_local .cont_contact .contact_mail,
.page_local .cont_contact .contact_tel{
margin-right: 5.5%;
padding-right: 10%;
background: url(../img/cross.png) no-repeat right center;
}
.page_local .cont_contact .btn{
width: 230px;
margin: 18px 0;
background: #174f9e;
font-size: 20px;
font-weight: bold;
text-align: right;
}
.page_local .cont_contact .btn a{
display: block;
padding: 15px 12px;
color: #fff;
}
.page_local .cont_contact .contact_caution a{
color: #174f9e;
text-decoration: underline;
letter-spacing: 0;
}
.page_local .cont_disclaimer{
margin: 25px auto;
text-align: center;
}
.page_local .cont_disclaimer p{
font-size: 12px;
color: #2d2d2d;
letter-spacing: 0;
}

@media only screen and (max-width:768px) {
.page_local .cont_contact {
margin:35px -4% 0;
}
.page_local .cont_contact .cont_inner {
padding:0 20px;
}
.page_local .cont_contact p {
font-size:14px;
}
.page_local .cont_contact ul {
margin:30px 0;
}
.page_local .cont_contact li {
width:100%;
float:none;
}
.page_local .cont_contact .contact_mail,
.page_local .cont_contact .contact_tel {
margin:0 0 20px;
padding:0 0 40px;
background-position:center bottom;
background-size:25px 25px;
}
.page_local .cont_contact .contact_mail img {width:auto; height:45px;}
.page_local .cont_contact .contact_tel  img {width:auto; height:56px;}
.page_local .cont_contact .contact_fax  img {width:auto; height:60px;}

.page_local .cont_contact .btn {
width:165px;
margin:0 auto 10px;
font-size:14px;
}
.page_local .cont_contact .btn a {
padding:10px;
}
.page_local .cont_disclaimer {
text-align:left;
}
.page_local .cont_disclaimer p {
text-indent:-1em;
margin-left:1em;
padding:0 15px;
}
}
@media only screen and (max-width:320px) {
.page_local .cont_contact .cont_inner {
padding:0 15px;
}	
}

/* modal */
.modal_contact{
position: relative;
max-width: 852px;
margin: 0 auto;
background: #fff;
padding: 30px;
border: 2px solid #626262;
box-shadow: 1px 1px 33px 0px rgba(13, 13, 13, 0.3);
}
.modal_contact .ttl_style02{
margin-bottom: 40px;
}
.modal_contact p{
margin-top: 20px;
font-size: 14px;
color: #333;
letter-spacing: 0.2em;
}
.modal_contact .box_txt a{
color: #174f9e;
text-decoration: underline;
}
.modal_contact .mfp-close{
position: absolute;
right: 0;
background: #174f9e;
color: #fff;
opacity: 1;
}
@media only screen and (max-width:768px) {
.modal_contact {
}
.modal_contact .ttl_style02 {
margin-bottom:0px;
}
}



/* --------------------
レスポンシブ対応
-------------------- */

.only_pc {font-weight:inherit;}
@media only screen and (max-width:640px) {.only_pc {display:none !important;}}
.only_sp {font-weight:inherit;}
@media only screen and (min-width:641px) {.only_sp {display:none !important;}}


/* --------------------
通所介護・訪問介護のinstaへのリンク
-------------------- */

.ic_insta_blue {
display: block;
text-align: center;
font-size: 18px;
font-weight: bold;
color: #1c519c;
margin: 50px 0;
}


/* ============================================================
   Landscape smartphone fix (append at END of common.css)
   横向きスマホで幅100%にならない問題の上書きパッチ
   ------------------------------------------------------------
   ポイント:
   - min-width:1200px を打ち消し
   - 固定幅(1200px)のラッパーを 100% 化
   - 1024px以下をスマホ扱い（横向き含む）に拡張
   ============================================================ */

@media screen and (max-width:1024px) {
  /* 最低幅固定の解除（.page_local .mainvisual / .bg_blue / footer 等） */
  .page_local .mainvisual,
  .bg_blue,
  footer {
    min-width: 0 !important;   /* 元は 1200px 固定:contentReference[oaicite:1]{index=1} */
    width: 100% !important;
  }

  /* 1200px 固定ラッパーを可変化（ヘッダー/フッター/下層共通） */
  .header_top_inner,           /* 元: width:1200px:contentReference[oaicite:2]{index=2} */
  .footer_inner,               /* 元: width:1200px:contentReference[oaicite:3]{index=3} */
  .page_local .inner {         /* 元: width:1200px:contentReference[oaicite:4]{index=4} */
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  /* コピー行の内側もはみ出し防止 */
  .copy .copy_inner {
    max-width: 100% !important;  /* 元: max-width:1200px:contentReference[oaicite:5]{index=5} */
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  /* 念のため、html/body の最小幅縛りも解除 */
  html, body {
    min-width: 0 !important;
  }
}

/* 横向き時の取りこぼし保険（特に iPhone landscape） */
@media screen and (orientation: landscape) and (max-width:1024px) {
  .wrap, .container, .inner, .l-container {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* ============================================================
   foot_contact の横向き見切れ修正（append at END）
   ------------------------------------------------------------ */

/* 641〜1024px（横向きスマホ/タブレット）でも可変化 */
@media screen and (max-width:1024px) {
  /* セレクタが階層付き/無しどちらでも効くように両方に当てる */
#contactBox .contact .foot_contact ul,
.foot_contact > ul {
width: 100% !important;          /* ← 元: 1000px 固定:contentReference[oaicite:1]{index=1} */
max-width: 100% !important;
margin: 0 auto !important;
padding-left: 16px !important;
padding-right: 16px !important;
box-sizing: border-box !important;
}
/* 2カラムで収めたい場合（横向きスマホなら充分入る想定） */
#contactBox .contact .foot_contact li,
.foot_contact > ul > li {
width: 50% !important;
/* 高さ固定だと折返しで切れるので解除 */
height: auto !important;
box-sizing: border-box;
}
/* a と補足テキストの折返しにも余裕を持たせる */
#contactBox .contact .foot_contact li a,
.foot_contact > ul > li a {
display: block;
white-space: normal;             /* 念のため */
padding: 0.8em 0em !important; /* 既存よりやや内側に */
box-sizing: border-box;
}
#contactBox .contact .foot_contact li.mail a {
padding: 0.95em 0.6em !important;
}
#contactBox .contact .foot_contact li.tel a {
padding: 0.8em 0em 0 0 !important;
}

#contactBox .contact .foot_contact li.tel p,
.foot_contact > ul > li.tel p {
margin: 0.3em 0 0 0;             /* 電話の補足行も内側に */
line-height: 1.4;
}
#contactBox .contact .foot_contact li a:before {
content: '';
display: inline-block;
width: 24px;
height: 24px;
background-size: contain;
vertical-align: middle;
margin-right: 10px;
position: relative;
top: -1px;
}
}

/* iPhone 等の横向き取りこぼし保険 */
@media screen and (orientation: landscape) and (max-width:1024px) {
  #contactBox .contact .foot_contact ul,
  .foot_contact > ul {
    width: 100% !important;
    max-width: 100% !important;
  }
}


