@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;700&family=M+PLUS+Rounded+1c:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@100;400;500;700;900&family=Shippori+Mincho:wght@400;500;700&display=swap');


/* common
-------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, button,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,main { 
    display: block;
}
ul {
    list-style: none;
}
img {
    width: 100%;
    max-width: 100%;
    height: auto;
	border: none;
	vertical-align: bottom;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
address, em, code, cite, dfn, var, optgroup, i {
    font-style: normal;
}
sup {
    font-size: 80%;
    vertical-align: super;
}
sub {
    font-size: 80%;
    vertical-align: sub;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
input, select {
    vertical-align: middle;
}
input[type="button"],input[type="text"],input[type="submit"],input[type="reset"],textarea {
	-webkit-appearance: none;
	border-radius: 0;
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
	font-size: 15px;
	line-height: 1.75;
    outline: 0;
}
input[type=radio],
input[type=checkbox] {
    appearance: none;
    display: none;
}
input[type=checkbox] + span,
input[type=radio] + span {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 0.3em 0 0.3em 2.65em;
    position: relative;
    width: auto;
}
input[type=checkbox] + span::before,
input[type=radio] + span::before {
    background: #F2F2F2;
    content: '';
    display: block;
    height: 1.5em;
    left: 0.5em;
    margin-top: -0.65em;
    position: absolute;
    top: 50%;
    width: 1.5em;
	border-radius: 0.2em;
}
input[type=checkbox] + span::after,
input[type=radio] + span::after {
    border-right: 0.133em solid #408BB3;
    border-bottom: 0.133em solid #408BB3;
    content: '';
    display: block;
    height: 1.333em;
    left: 0.88em;
    margin-top: -0.85em;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1);
    transition: transform .2s ease-in-out, opacity .2s ease-in-out;
    width: 0.6em;
}
input[type=checkbox]:checked + span::before,
input[type=radio]:checked + span::before {
    border-color: #408BB3;
}
input[type=checkbox]:checked + span::after,
input[type=radio]:checked + span::after {
    opacity: 1;
    transform: rotate(45deg) scale3d(1,1,1);
}
select {
	display: block;
	height: 2.4em;
 	padding: 0 2.5em 0 0.5em;
	margin: 2em 0 0;
  	cursor: pointer;
  	text-indent: 0.01px;
  	text-overflow: ellipsis;
  	border: 1px solid #BFBFBF;
	border-radius: 0.2em;
  	outline: none;
  	background-image: none;
  	box-shadow: none;
  	-webkit-appearance: none;
  	appearance: none;
  	background: url("../img/icon5.png") 88% center no-repeat #fff;
  	background-size: 0.8em auto;
  	box-sizing: border-box;
	color: #000;
}


/* module
------------------------------------------------- */
.alignCenter {text-align: center;}
.alignLeft {text-align: left;}
.alignRight {text-align: right;}
.valignTop {vertical-align: top;}
.valignMiddle {vertical-align: middle;}
.valignBottom {vertical-align: bottom;}

.regular { font-weight: 400; }
.medium { font-weight: 500; }
.bold { font-weight: 700; }

.pcon { display: block; }
.spon { display: none; }
@media only screen and (max-width:750px){
.pcon { display: none; }
.spon { display: block; }
}


/* a
------------------------------------------------- */
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
	text-decoration: none;
	outline: none;
    color: #000;
}
@media only screen and (min-width:751px){
a {
    transition: 0.4s;
}
a:hover {
	text-decoration: underline;
}
a.al:hover {
    color: #000;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	text-decoration: none;
}
.telLink {
	pointer-events: none;
}
}


/* font
------------------------------------------------- */
@media only screen and (min-width:751px){
.fo10 { font-size: 10px; }
.fo11 { font-size: 11px; }
.fo12 { font-size: 12px; }
.fo13 { font-size: 13px; }
.fo14 { font-size: 14px; }
.fo15 { font-size: 15px; }
.fo16 { font-size: 16px; }
.fo17 { font-size: 17px; }
.fo18 { font-size: 18px; }
.fo20 { font-size: 20px; }
.fo21 { font-size: 21px; }
.fo22 { font-size: 22px; }
.fo23 { font-size: 23px; }
.fo24 { font-size: 24px; }
.fo25 { font-size: 25px; }
.fo26 { font-size: 26px;}
.fo28 { font-size: 28px; }
.fo29 { font-size: 29px; }
.fo30 { font-size: 30px; }
.fo31 { font-size: 31px; }
.fo32 { font-size: 32px; }
.fo33 { font-size: 33px; }
.fo34 { font-size: 34px; }
.fo35 { font-size: 35px; }
.fo38 { font-size: 38px; }
.fo40 { font-size: 40px; }
.fo48 { font-size: 48px; }
.fo50 { font-size: 50px; }
}
@media only screen and (min-width:751px) and (max-width:1280px){
.fo10 { font-size: 0.78125vw; }
.fo11 { font-size: 0.859375vw; }
.fo12 { font-size: 0.9375vw; }
.fo13 { font-size: 1.015625vw; }
.fo14 { font-size: 1.09375vw; }
.fo15 { font-size: 1.171875vw; }
.fo16 { font-size: 1.25vw; }
.fo17 { font-size: 1.328125vw; }
.fo18 { font-size: 1.40625vw; }
.fo20 { font-size: 1.5625vw; }
.fo21 { font-size: 1.640625vw; }
.fo22 { font-size: 1.71875vw; }
.fo23 { font-size: 1.796875vw; }
.fo24 { font-size: 1.875vw; }
.fo25 { font-size: 1.953125vw; }
.fo26 { font-size: 2.03125vw; }
.fo28 { font-size: 2.1875vw; }
.fo29 { font-size: 2.265625vw; }
.fo30 { font-size: 2.34375vw; }
.fo31 { font-size: 2.421875vw; }
.fo32 { font-size: 2.5vw; }
.fo33 { font-size: 2.578125vw; }
.fo34 { font-size: 2.65625vw; }
.fo35 { font-size: 2.7343vw; }
.fo38 { font-size: 2.96875vw; }
.fo40 { font-size: 3.125vw; }
.fo48 { font-size: 3.75vw; }
.fo50 { font-size: 3.90625vw; }
}


/* html
------------------------------------------------- */
html {
	font-size: 16px;
	overflow-x: hidden;
}
@media only screen and (min-width:751px) and (max-width:1280px){
html {
	font-size: 1.25vw;
}
}


/* body
------------------------------------------------- */
body {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
	font-size: 16px;
	line-height: 1.75;
	color: #000;
	-webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    position: relative;
}
body.nav-active {
    overflow: hidden;
}
.mincho {
	font-family: 'Noto Serif JP', serif;
}
.eb-garamond {
    font-family: 'EB Garamond', serif;
}
.m-plus {
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
.shippori {
    font-family: 'Shippori Mincho', serif;
}
@media only screen and (min-width:751px) and (max-width:1280px){
body {
	font-size: 1.25vw;
}
input[type="button"],input[type="text"],input[type="submit"],input[type="reset"],textarea {
	font-size: 1.171875vw;
}
}
@media only screen and (max-width:750px){
body {
	font-size: 3.466vw;
	line-height: 1.85;
}
input[type="button"],input[type="text"],input[type="submit"],input[type="reset"],textarea {
	font-size: 3.466vw;
	line-height: 1.85;
}
}


/* wrapper
------------------------------------------------- */
#wrapper {
	width: 100%;
	margin: 0 auto;
	clear: both;
    position: relative;
    transition: 0.4s ease-in-out;
	z-index: 3;
}


/* header
------------------------------------------------- */
#header {
    width: 100%;
    height: 7.25em;
	background-color: #fff;
	position: fixed;
	top: 0;
    z-index: 94;
}
#header .logo {
	width: 9.25em;
    position: absolute;
    left: 2.25em;
    top: 2em;
}
@media only screen and (max-width:750px){
#header {
    height: 19.5vw;
}
#header::before {
    content: '';
	width: 1px;
	height: 78%;
	background-color: #757575;
	position: absolute;
	right: 18.95vw;
	top: 11%;
}
#header .logo {
	width: 26vw;
    left: 5.7vw;
    top: 4.5vw;
}
}


/* #gnav
------------------------------------------------- */
#gnav {
	position: fixed;
	right: 2.25em;
	top: 0;
	z-index: 95;
}
#gnav .gnav {
	display: flex;
	justify-content: flex-end;
	padding-top: 4.3em;
}
#gnav .gnav li {
	margin-left: 3em;
}
#gnav .gnav li a {
	color: #324F5C;
	text-decoration: none;
	position: relative;
}
#gnav .gnav li a::before {
	content: '';
	width: 0;
	height: 0.15em;
	background-color: #324F5C;
	position: absolute;
	left: 50%;
	bottom: -0.5em;
	transform: translateX(-50%);
	border-radius: 1em;
	transition: 0.4s;
}
#gnav .hnav {
	display: flex;
	justify-content: flex-end;
	position: absolute;
	right: 0;
	top: 0;
}
#gnav .hnav li {
	width: 10.5em;
	margin-left: 1em;
}
#gnav .hnav li a {
	display: block;
	width: 100%;
	background: url("../img/hicon1.png") 1.8em center no-repeat #408CB4;
	background-size: 1.42em auto;
	border-radius: 0 0 0.625em 0.625em;
	line-height: 2.785;
	font-weight: 700;
	color: #fff;
	text-align: center;
	padding-left: 1.4em;
	box-sizing: border-box;
}
#gnav .hnav li:nth-child(1) {
	width: 3em;
}
#gnav .hnav li:nth-child(1) a {
	background: none;
	padding-left: 0;
}
#gnav .hnav li:nth-child(2) {
	width: 12em;
}
#gnav .hnav li:nth-child(2) a {
	background-image: url("../img/hicon3.png");
	background-position: 1.28em center;
	padding-left: 1.85em;
}
#gnav .hnav li:nth-child(3) a {
	background-image: url("../img/hicon1.png");
	background-position: 1.28em center;
	padding-left: 1.85em;
}
#gnav .hnav li:nth-child(4) a {
	background-image: url("../img/hicon2.png");
	background-position: 1.28em center;
	padding-left: 1.85em;
}
@media only screen and (min-width:751px){
#gnav .gnav li a:hover::before {
	width: 100%;
}
}
@media only screen and (max-width:750px){
#gnav {
	display: none;
	width: 100%;
	background-color: #F3FAFF;
	padding-bottom: 10vw;
	right: 0;
	top: 19.5vw;
}
#gnav .gnav {
	font-size: 5.33vw;
	display: block;
	padding-top: 0;
}
#gnav .gnav li {
	margin-left: 0;
}
#gnav .gnav li a {
	display: block;
	color: #138EB9;
	font-weight: 500;
	line-height: 17.5vw;
	border-bottom: 0.2vw solid #AAD6E6;
	padding: 0 5.6vw;
}
#gnav .gnav li a::before {
	display: none;
}
#gnav .hnav {
	display: flex;
	justify-content: center;
	position: static;
	padding: 6.5vw 0;
}
#gnav .hnav li {
	font-size: 4.8vw;
	width: 42.266vw;
	margin: 0 2.25vw;
}
#gnav .hnav li a {
	background: url("../img/hicon1.png") 5.8vw center no-repeat #408CB4;
	background-size: 1.25em auto;
	border-radius: 1.33vw;
	line-height: 18.4vw;
	font-weight: 500;
	padding-left: 1.4em;
}
#gnav .hnav li:last-child a {
	background-image: url("../img/hicon2.png");
	background-position: 2.9vw center;
	padding-left: 1.7em;
}
}


/* navtoggle
------------------------------------------------- */
#navtoggle {
    display: none;
}
@media only screen and (max-width:750px){
#navtoggle {
    width: 8.5vw;
	height: 8.5vw;
    position: fixed;
    right: 5.33vw;
    top: 5.6vw;
    cursor: pointer;
    z-index: 99;
    transition: 0.4s;
    display: block;
}
#navtoggle div {
    width: 8.5vw;
    height: 6vw;
    margin: 1.25vw auto;
    position: relative;
}
#navtoggle span {
    display: block;
    position: absolute;
    width: 100%;
    height: 0.4vw;
    background: #138EB9;
    left: 0;
    transition: 0.4s ease-in-out;
}
#navtoggle span:nth-child(1) {
    top: 0;
}
#navtoggle span:nth-child(2) {
    top: 2.933vw;
}
#navtoggle span:nth-child(3) {
    top: 5.866vw;
}
body.nav-active #navtoggle span:nth-child(1) {
	top: 2.933vw;
	transform: rotate(45deg);
}
body.nav-active #navtoggle span:nth-child(2) {
	width: 0;
}
body.nav-active #navtoggle span:nth-child(3) {
	top: 2.933vw;
	transform: rotate(-45deg);
}
}


/* hmail
------------------------------------------------- */
#hmail {
    display: none;
}
@media only screen and (max-width:750px){
#hmail {
	width: 8.8vw;
	position: fixed;
	right: 24vw;
	top: 6.66vw;
	display: block;
	z-index: 99;
}
}



/* contents
------------------------------------------------- */
#contents {
	width: 100%;
	clear: both;
    display: block;
	padding-top: 7.25em;
	position: relative;
}
.inner {
    width: 100%;
    max-width: 1280px;
	margin: 0 auto;
    padding: 0 8.75em;
	clear: both;
	position: relative;
    box-sizing: border-box;
}
.bg {
	background: url("../img/bg.png") left top repeat;
	background-size: 0.375rem auto;
}
.bg-g {
	background: url("../img/bg-g.png") left top repeat;
	background-size: 0.375rem auto;
}
.bg-r {
	background: url("../img/bg-r.png") left top repeat;
	background-size: 0.375rem auto;
}
.bg-y {
	background: url("../img/bg-y.png") left top repeat;
	background-size: 0.375rem auto;
}
@media only screen and (max-width:750px){
#contents {
	padding-top: 19.5vw;
}
.inner {
    width: 90%;
    padding: 0;
}
}


/* layout
------------------------------------------------- */
.d-flex {
    display: flex;
}
.f-wrap {
    flex-wrap: wrap;
}
.f-rev {
    flex-direction: row-reverse;
}
.just-center {
    justify-content: center;
}
.just-between {
    justify-content: space-between;
}
.just-end {
    justify-content: flex-end;
}
.align-center {
    align-items: center;
}
.align-end {
    align-items: flex-end;
}
@media only screen and (max-width:750px){
.d-flex {
    display: block;
}
}


/* mainimg
------------------------------------------------- */
.mainimg {
	width: 100%;
	height: 15em;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.mainimg h1 {
	color: #fff;
	font-weight: 400;
	position: absolute;
	left: 3.6em;
	top: 1em;
}
.mainimg h2 {
	color: #fff;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
}
.company .mainimg,
.news .mainimg {
	background-image: url("../img/mainimg1.jpg");
}
.voice .mainimg,
.sitemap .mainimg {
	background-image: url("../img/mainimg2.jpg");
}
.contact .mainimg {
	background-image: url("../img/mainimg3.jpg");
}
.strength .mainimg {
	background-image: url("../img/mainimg4.jpg");
}
@media only screen and (max-width:750px){
.mainimg {
	height: 28vw;
}
.mainimg h1 {
	display: none;
}
.mainimg h2 {
	font-size: 5.6vw;
}
.company .mainimg,
.news .mainimg {
	background-image: url("../img/mainimg1_sp.jpg");
}
.voice .mainimg,
.sitemap .mainimg {
	background-image: url("../img/mainimg2_sp.jpg");
}
.contact .mainimg {
	background-image: url("../img/mainimg3_sp.jpg");
}
.strength .mainimg {
	background-image: url("../img/mainimg4_sp.jpg");
}
}


/* path
------------------------------------------------- */
#path {
    width: 72.5em;
	margin: 1.25em auto 4em;
}
#path ul {
    display: flex;
}
#path ul li {
	padding-right: 0.5em;
}
#path ul li::after {
	content: '>';
	padding-left: 0.5em;
}
#path ul li:last-child::after {
	display: none;
}
@media only screen and (max-width:750px){
#path {
    display: none;
}
}


/* headline
------------------------------------------------- */
.headline1 {
	text-align: center;
    font-weight: 700;
	margin-bottom: 3em;
	position: relative;
}
.headline1::before {
	content: '';
	width: 3em;
	height: 0.3125em;
	background-color: #408BB3;
	position: absolute;
	left: 50%;
	margin-left: -1.5em;
	bottom: -0.75em;
}
.headline2 {
	text-align: center;
    font-weight: 700;
	color: #138EB9;
	margin-bottom: 2em;
}
@media only screen and (max-width:750px){
.headline1 {
	font-size: 5.33vw;
	margin-bottom: 2em;
}
.headline1.db {
	line-height: 1.375;
}
.headline1::before {
	width: 12.8vw;
	height: 1.35vw;
	margin-left: -6.4vw;
}
.headline2 {
	font-size: 5.066vw;
	line-height: 1.35;
}
}


/* btnst
------------------------------------------------- */
.btnst1 a,
a .btnst1 {
	display: block;
	width: 15.7em;
	line-height: 2.9;
	margin: 0 auto;
	background-color: #fff;
	color: #1E5078;
	font-weight: 700;
	text-align: center;
	border: 1px solid #1E5078;
	border-radius: 2em;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: 0.4s;
}
.btnst1 a::before,
a .btnst1::before {
	content: '';
	display: block;
	width: 120%;
	height: 120%;
	background-color: #1E5078;
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -60% 0 0 -60%;
	padding-top: 98%;
	border-radius: 9999px;
	transform: scale(0);
	transition: transform .4s, opacity .4s;
	z-index: 1;
}
.btnst1 a span,
a .btnst1 span {
	color: #1E5078;
	font-weight: 700;
	position: relative;
	z-index: 2;
}
.btnst2 a {
	display: block;
	width: 22em;
	line-height: 3;
	margin: 0 auto;
	background-color: #408BB3;
	color: #fff;
	border: 0.1em solid #408BB3;
	font-weight: 500;
	text-align: center;
	border-radius: 0.375em;
	text-decoration: none;
	box-sizing: border-box;
}
.btnst1 a.gray,
.related-btn a {
	color: #fff;
	border-color: #898989;
	background:#898989;
	margin-top:1em;
}
.btnst1 a.gray span,
.related-btn a span {
	color:#fff;
}



@media only screen and (min-width:751px){
.btnst1 a:hover,
a:hover .btnst1 {
	background-color: #1E5078;
}
.btnst1 a:hover::before,
a:hover .btnst1::before {
	opacity:1;
	transform:scale(1.1)
}
.btnst1 a:hover span,
a:hover .btnst1 span {
	color: #fff;
}
.btnst2 a:hover {
	background-color: #fff;
	color: #408BB3;
}
.btnst1 a.gray:hover {
	border-color: #1E5078;
}

}
@media only screen and (max-width:750px){
.btnst1 a {
	font-size: 4vw;
	width: 60vw;
	line-height: 2.75;
	border: 0.3vw solid #1E5078;
}
.btnst2 a {
	font-size: 3.733vw;
	width: 80vw;
	line-height: 2.875;
}
}


/* .list
------------------------------------------------- */
.list1 li {
	margin-bottom: 0.5em;
	background: url("../img/icon4.png") left 0.4em no-repeat;
	background-size: 1rem auto;
	padding-left: 1.5em;
}
@media only screen and (max-width:750px){
.list1 li {
	margin-bottom: 0;
	background: url("../img/icon4.png") left 0.5em no-repeat;
	background-size: 3.2vw auto;
}
}


/* .swipe
------------------------------------------------- */
.swipe {
	display: none;
}
@media only screen and (max-width:750px){
.swipe {
	display: block;
	width: 65.33vw;
	margin: 0 auto;
}
}


/* newsarea
------------------------------------------------- */
.newsarea .newsbox {
	width: 37.5em;
	margin: 0 auto;
}
.newsarea .newsbox dl a {
	display: flex;
	align-items: flex-start;
	padding-bottom: 0.85em;
}
.newsarea .newsbox dl a dt {
	width: 35%;
	display: flex;
	align-items: center;
	font-weight: 700;
	color: #1E5078;
}
.newsarea .newsbox dl a dt span {
	display: inline-block;
	width: 6.5em;
	line-height: 2.35;
	background-color: #3897A0;
	text-align: center;
	color: #fff;
	font-weight: 700;
	margin-right: 2.5em;
}
.newsarea .newsbox dl a dt span.information {
	background-color: #3897A0;
}
.newsarea .newsbox dl a dt span.service {
	background-color: #42B6CA;
}
.newsarea .newsbox dl a dt span.update {
	background-color: #408BB3;
}
.newsarea .newsbox dl a dd {
	width: 65%;
}
@media only screen and (max-width:750px){
.newsarea .newsbox {
	width: 76vw;
	margin: 0 auto;
}
.newsarea .newsbox dl a {
	display: block;
	padding-bottom: 1.5em;
}
.newsarea .newsbox dl a dt {
	font-size: 3.866vw;
	width: 100%;
}
.newsarea .newsbox dl a dt span {
	font-size: 2.4vw;
	width: 7em;
	margin-right: 2vw;
}
.newsarea .newsbox dl a dd {
	width: 100%;
}
}


/* .voicearea
------------------------------------------------- */
.voicearea {
	padding-bottom: 2.5em;
}
.othertit {
	color: #408BB3;
	font-weight: 700;
	text-align: center;
	padding-bottom: 1.75em;
}
.voicearea ul li {
	width: 30%;
	margin: 0 5% 4.6875em 0;
}
.voicearea ul li:nth-child(3n) {
	margin-right: 0;
}
.voicearea ul li a {
	height: 100%;
	background-color: #fff;
	box-shadow: 0.5em 0.5em 1em rgba(130,130,130,0.3);
	padding-bottom: 1.5em;
	text-decoration: none;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.voicearea ul li a .photo {
	position: relative;
}
.voicearea ul li a .photo span {
	display: inline-block;
	line-height: 2.35;
	padding: 0 1.5em;
	background-color: #4D6FAE;
	color: #fff;
	font-weight: 700;
	border-radius: 0.35em;
	position: absolute;
	left: 0.45em;
	top: 0.65em;
	z-index: 2;
}
.voicearea ul li a .photo span.uniform-rental {
	background-color: #4D6FAE;
}
.voicearea ul li a .photo span.hospitalized-set {
	background-color: #8EC085;
}
.voicearea ul li a .photo span.onemonth {
	background-color: #DFA3A9;
}
.voicearea ul li a .photo img {
	display: block;
	transition: 0.4s;
}
.voicearea ul li a .ttl {
	text-align: center;
	padding: 0.75em 1.5em;
	line-height: 1.4;
}
.voicearea ul li a p {
	width: 14em;
	margin: 0 auto 1.5em;
	line-height: 1.3;
}
.voicearea ul li a .btnst1 {
	width: 11.25em;
	line-height: 3;
	border-color: #3A7FA2;
	color: #3A7FA2;
}
.voicearea ul li a .btnst1::before {
	background-color: #3A7FA2;
	padding-top: 90%;
}
.voicearea ul li a .btnst1 span {
	color: #3A7FA2;
}
@media only screen and (min-width:751px){
.voicearea ul li a:hover .photo img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
.voicearea ul li a:hover .btnst1 {
	background-color: #3A7FA2;
}
.voicearea ul li a:hover .btnst1 span {
	color: #fff;
}
}
@media only screen and (max-width:750px){
.voicearea {
	padding-bottom: 1em;
}
.othertit {
	font-size: 4.6vw;
	padding-bottom: 1.5em;
}
.voicearea ul {
	width: 80vw;
	margin: 0 auto;
}
.voicearea ul li {
	width: 100%;
	margin: 0 0 10.5vw;
}
.voicearea ul li a .photo span {
	font-size: 3.733vw;
	line-height: 2.5;
	padding: 0 1.25em;
}
.voicearea ul li a .ttl {
	font-size: 4.8vw;
}
.voicearea ul li a p {
	width: 61.5vw;
	margin: 0 auto 1.75em;
	line-height: 1.6;
}
}


/* pagination
------------------------------------------------- */
.pagination {
	padding-bottom: 10em;
}
.voice .pagination {
	padding-bottom: 5em;
}
.pagination .wp-pagenavi {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.pagination a,
.pagination span {
	display: block;
    text-align: center;
	line-height: 2;
	padding: 0 0.55em;
	font-weight: 500;
	color: #408BB3;
	border: 1px solid #408BB3;
	margin-left: -1px;
}
.pagination span.current {
	color: #fff;
	background-color: #408BB3;
}
.pagination span.extend {
	border: none;
}
.pagination a.previouspostslink {
	margin-right: 1em;
}
.pagination a.nextpostslink {
	margin-left: 1em;
}
@media only screen and (min-width:751px){
.pagination a:hover {
	color: #fff;
	background-color: #408BB3;
	text-decoration: none;
}
}
@media only screen and (max-width:750px){
.pagination {
	font-size: 4vw;
	padding-bottom: 14vw;
}
.voice .pagination {
	padding-bottom: 14vw;
}
}


/* contact
------------------------------------------------- */
#contact {
	width: 58.75em;
	background: url("../img/bg.png") left top repeat;
	background-size: 0.375rem auto;
	margin: 0 auto;
	padding: 1.8em 0 1.8em 4em;
	box-sizing: border-box;
}
#contact h3 {
	text-align: center;
	font-weight: 700;
	color: #178BB6;
	padding-bottom: 0.75em;
}
#contact .logo {
	width: 11.25em;
	margin-right: 3.75em;
}
#contact .info h5 {
	font-weight: 700;
}
#contact .info address img {
	width: 21.7em;
	vertical-align: middle;
	padding-right: 0.5em;
}
#contact .info .tel a {
	font-weight: 700;
	color: #178BB6;
}
#contact .info dl {
	display: flex;
	align-items: center;
	line-height: 2;
}
#contact .info dl dt {
	margin-right: 0.5em;
}
#contact .info dl dt span {
	display: inline-block;
	background-color: #178BB6;
	color: #fff;
	font-weight: 500;
	padding: 0 0.5em;
	margin-right: 0.5em;
}
#contact .info dl dt i {
	font-weight: 700;
}
@media only screen and (max-width:750px){
#contact {
	width: 86.66vw;
	padding: 7.2vw 4vw;
}
#contact h3 {
	font-size: 4.266vw;
	padding-bottom: 0.75em;
}
#contact .logo {
	width: 46.4vw;
	margin: 0 auto 7vw;
}
#contact .info h5 {
	font-size: 4.133vw;
}
#contact .info address {
	font-size: 3.2vw;
}
#contact .info address img {
	display: block;
	width: 70vw;
	padding: 2.5vw 0 1.5vw;
}
#contact .info .tel a {
	font-size: 8vw;
	line-height: 1.6;
}
#contact .info dl {
	display: block;
}
#contact .info dl dt {
	margin-right: 0;
}
#contact .info dl dt span {
	font-size: 3.33vw;
	padding: 0 0.5em;
	margin-right: 0.5em;
}
#contact .info dl dt i {
	font-size: 4.933vw;
}
#contact .info dl dd {
	font-size: 3.2vw;
}
}


/* footer
------------------------------------------------- */
#footer {
	width: 75em;
	margin: 0 auto;
	border-top: 1px solid #818181;
	padding: 1.5em 0;
	margin-top: 3.875em;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#footer .info {
	width: 50%;
	position: relative;
}
#footer .info h4 {
	width: 20em;
}
#footer .info p {
	margin-left:2em;
}
#footer .info p a {
	color: #333;
	background: url("../img/icon1.png") left center no-repeat;
	background-size: 0.45em auto;
	padding-left: 1em;
}
#footer ul {
    display: flex;
    justify-content: flex-end;
}
#footer ul li {
    width: 4.3125em;
    margin-left: 1em;
}
#footer ul li:last-child {
    width: 8.5em;
}
#footer ul li:last-child {
    width: 8.5em;
}
#footer .info .subinfo{
	display:flex;
	position: absolute;
	left: 20em;
	bottom: 0.2em;
}

@media only screen and (max-width:750px){
#footer {
	width: 89%;
	padding: 3.5vw 0;
	margin-top: 17.5vw;
}
#footer .info {
	width: auto;
	height: 5em;
}
#footer .info h4 {
	width: 45vw;
}
#footer .info p {
	position: static;
}
#footer .info small {
	font-size: 2.133vw;
	white-space: nowrap;
}
#footer .info p {
	font-size: 2.266vw;
	padding-left: 0;
}
#footer .info p a {
	color: #333;
	background: url("../img/icon1.png") left center no-repeat;
	background-size: 0.45em auto;
	padding-left: 1em;
}
#footer ul {
    display: flex;
    justify-content: flex-end;
}
#footer ul li {
    width: 9.6vw;
    margin-left: 1.85vw;
}
#footer ul li:last-child {
    width: 18vw;
}
#footer .info .subinfo{
	display:flex;
	left: -1em;
	
}
}


/* idPad
------------------------------------------------- */
.idPad {
    padding-top: 7.25em;
    margin-top: -7.25em;
}
@media only screen and (max-width:750px){
.idPad {
    padding-top: 19.5vw;
    margin-top: -19.5vw;
}

}


/* animation
------------------------------------------------- */
.fade-in {
    opacity: 0;
}
.fade-in.isAnimate {
    animation: fadeIn 0.7s ease 0.1s 1 forwards;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


/* slick-slider
------------------------------------------------- */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
    width: 100%;
}
.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus {
    outline: none;
}
.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}
.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
    opacity: 0;
}
.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}
.slick-track:after{
    clear: both;
}
.slick-loading .slick-track{
    visibility: hidden;
}
.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
.slick-slide.slick-loading img {
    display: none;
}
.slick-slide.dragging img {
    pointer-events: none;
}
.slick-initialized .slick-slide {
    display: block;
}
.slick-loading .slick-slide {
    visibility: hidden;
}
.slick-prev, .slick-next {
    position: absolute;
    display: block;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    z-index: 20;
    transition: 0.4s;
}


/* フッターナビゲーション修正（テキスト変更なし）
------------------------------------------------- */

/* 全体のレイアウト調整 */
#gnav .hnav {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    right: 0;
    top: 0;
    align-items: stretch; /* 高さを揃える */
}

/* Instagramアイコンの調整（上余白追加・画像縮小） */
#gnav .hnav li:nth-child(1) {
    width: 3em;
    display: flex;
    align-items: flex-start; /* 上寄せにして余白制御 */
}

#gnav .hnav li:nth-child(1) a {
    display: flex;
    align-items: flex-start;
    padding-top: 0.3em; /* 上に余白を追加 */
    height: 2.785em; /* 全体の高さを維持 */
    box-sizing: border-box;
}

#gnav .hnav li:nth-child(1) img {
    height: 2.2em; /* 画像自体を少し小さく（2.785em → 2.2em） */
    width: auto;
    object-fit: cover;
    object-position: 70% center; /* 左側の緑部分をカット */
    display: block;
    border-radius: 0 0 0.625em 0.625em;
}

/* 「導入希望の声、大募集！」の1行表示 */
#gnav .hnav li:nth-child(2) {
    width: 15em; /* 幅を拡張（12em → 15em） */
    margin-left: 0.5em; /* 左側の余白を少し減らす */
}

#gnav .hnav li:nth-child(2) a {
    line-height: 0.8; /* 行間を詰める */
    padding-left: 3.4em; /* アイコン分の余白を維持 */
    padding-top: 1em;
    padding-bottom: 0.9em;
    white-space: nowrap; /* 絶対に改行しない */
    overflow: hidden; /* はみ出し部分を隠す */

    background-color: #fff !important;   /* 背景色 */
    background-image: url("../img/hicon3.png");
    background-repeat: no-repeat;
    background-position: 1.2em center;   /* アイコン位置 */
    background-size: 1.8em auto;         /* アイコンサイズ */

    border-left: 2px solid #408CB4;   /* 左の線 */
    border-right: 2px solid #408CB4;  /* 右の線 */
    border-bottom: 2px solid #408CB4; /* 下の線 */
    border-top: none;                 /* 上の線なし */
    color: #408CB4;

    box-sizing: border-box;
    display: flex;
    align-items: center;
}

/* 他の要素の間隔調整 */
#gnav .hnav li:nth-child(3),
#gnav .hnav li:nth-child(4) {
    margin-left: 0.8em; /* 間隔を少し詰める */
}

/* スマートフォン版の調整
------------------------------------------------- */
@media only screen and (max-width:750px){
    
    /* ヘッダーアイコンコンテナの調整 */
    #hmail {
        display: flex;
        align-items: center;
        gap: 4vw; /* Instagram と メールアイコンの間隔 */
        position: fixed;
        top: 6.66vw;
        z-index: 99;
        width: auto; /* 幅を自動調整 */
    }
    
    /* 各アイコンリンクのサイズ統一 */
    #hmail a {
        width: 8.8vw;
        height: 8.8vw;
        display: block;
        flex-shrink: 0; /* サイズ固定 */
    }
    
    /* 画像サイズの統一 */
    #hmail img {
        width: 8.8vw;
        height: 8.8vw;
        object-fit: scale-down;
        display: block;
    }
    
    /* Instagramアイコンの調整（左側の緑部分カット） */
    #hmail .instagram-icon img {
        object-position: 70% center;
    }
    
    /* メールアイコンの調整 */
    #hmail a:not(.instagram-icon) img {
        object-position: center center; /* メールアイコンは中央 */
    }
    
    /* #gnavのInstagramアイコンを非表示（重複回避） */
    #gnav .hnav li:first-child {
        display: none !important;
    }
    
 
  
    /* フッターナビゲーションコンテナ */
    #gnav .hnav {
        position: static;
        padding: 6.5vw 0;
        background: none;
        height: 44vw; /* 全体の高さを指定 */
        position: relative; /* 子要素のabsolute配置の基準 */
    }
    
    /* 運営会社を上段左に配置 */
    #gnav .hnav li:nth-child(3) {
        position: absolute;
        left: 0;
        width: 42.266vw;
    }
    
    /* お問い合わせを上段右に配置 */
    #gnav .hnav li:nth-child(4) {
        position: absolute;
        right: 0;
        width: 42.266vw;
        margin-right: 1em;
    }
    
    /* 導入希望の声を下段に配置 */
    #gnav .hnav li:nth-child(2) {
        position: absolute;
        bottom: -10px;
        left: 0;
        width: 86.66vw;
        margin: 0 6vw;
    }
    
    /* 運営会社・お問い合わせのボタンスタイル */
    #gnav .hnav li:nth-child(3) a,
    #gnav .hnav li:nth-child(4) a {
        background: url("../img/hicon1.png") 5.8vw center no-repeat #408CB4;
        background-size: 1.25em auto;
        border-radius: 1.33vw;
        line-height: 18.4vw;
        font-weight: 500;
        color: #fff;
        text-align: center;
        padding-left: 1.4em;
        box-sizing: border-box;
        font-size: 4.8vw;
        display: block;
        width: 100%;
    }
    
    #gnav .hnav li:nth-child(4) a {
        background-image: url("../img/hicon2.png");
        background-position: 2.9vw center;
        padding-left: 1.7em;
    }
    
    
/* 導入希望の声のスタイル（一行記述版） */
#gnav .hnav li:nth-child(2) a {
    background-color: #fff !important; /* 背景色は別で指定 */
    background-image: url("../img/hicon3.png");
    background-repeat: no-repeat;
    background-position: 5vw center;
    background-size: 9.5vw auto; /* ← アイコンの大きさが効くようになる */
    
    border: 0.8vw solid #408CB4;
    border-radius: 2vw;
    color: #408CB4;
    font-weight: 500;
    line-height: 1.4;
    padding: 4vw 17vw;
    text-align: center;
    box-sizing: border-box;
    position: relative;
    display: block;
    width: 100%;
}
}
/* フッター用Instagramアイコン（新構造対応）
------------------------------------------------- */

/* PC版でのフッター調整 */
@media only screen and (min-width: 751px) {
    #footer {
        width: 75em;
        margin: 0 auto;
        border-top: 1px solid #818181;
        padding: 1.5em 0;
        margin-top: 3.875em;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    #footer .info {
        width: 50%;
        position: relative;
    }
    
    #footer .privacy {
        width: 50%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 1em; /* Instagramアイコンとプライバシーマーク間の間隔 */
    }
    
    #footer .privacy .f-sns {
        order: 1; /* Instagramアイコンを左側に */
    }
    
    #footer .privacy ul {
        order: 2; /* プライバシーマークを右側に */
        display: flex;
        justify-content: flex-end;
    }
    
    .f-sns img {
        width: 3em; /* PC版サイズ */
        height: 3em;
        object-fit: cover;
        object-position: 70% center; /* 左側の緑部分をカット */
    }
}

/* スマホ版でのフッター調整（左右分割レイアウト） */
@media only screen and (max-width:750px){
    #footer {
        width: 89%;
        padding: 3.5vw 0;
        margin-top: 17.5vw;
        display: flex;
        justify-content: space-between;
        align-items: flex-start; /* 上寄せ */
    }
    
    /* 左側: info部分 */
    #footer .info {
        width: 55%; /* 左側の幅を調整 */
        height: auto;
        margin-bottom: 0;
    }
    
    #footer .info h4 {
        width: 100%;
        margin-bottom: 2vw;
    }
    
    #footer .info small {
        font-size: 2.133vw;
        white-space: normal; /* 改行を許可 */
        line-height: 1.4;
        display: block;
        margin-bottom: 2vw;
    }
    
    #footer .info .subinfo {
        display: flex;
        flex-direction: column; /* 縦並びに */
        gap: 1vw;
        position: static;
        left: auto;
    }
    
    #footer .info .subinfo p {
        font-size: 2.266vw;
        padding-left: 0;
        margin: 0;
    }
    
    #footer .info .subinfo p a {
        color: #333;
        background: url("../img/icon1.png") left center no-repeat;
        background-size: 0.45em auto;
        padding-left: 1em;
    }
    
    /* 右側: privacy部分 */
    #footer .privacy {
        width: 42%; /* 右側の幅を調整 */
        display: flex;
        flex-direction: column;
        align-items: flex-end; /* プライバシーマーク用に右寄せ */
    }
    
    /* Instagramアイコンを右上に */
    #footer .privacy .f-sns {
        width: 100%; /* 右エリアの全幅を使用 */
        display: flex;
        justify-content: center; /* センター配置 */
        margin-bottom: 3vw;
        padding-right: 0;
        padding-left: 0; /* 左の余白をリセット */
    }
    
    .f-sns img {
        width: 8vw; /* 少し大きめに */
        height: 8vw;
        object-fit: cover;
        object-position: 70% center;
    }
    
    /* プライバシーマーク部分を右下に */
    #footer .privacy ul {
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        align-self: flex-end; /* プライバシーマークのみ右寄せ */
    }
    
    #footer .privacy ul li {
        width: 15vw; /* スマホサイズに調整 */
        margin-left: 2vw;
    }
    
    #footer .privacy ul li:last-child {
        width: 20vw; /* SSL証明書のサイズ */
    }
}




