@charset "utf-8";
/* =======================================
	Browser Reset
========================================== */
* { outline: 0; padding: 0; margin: 0; font: inherit; font-family: inherit; font-size: 100%; font-style: inherit; font-weight: inherit; border: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; box-sizing: border-box; text-decoration: none; vertical-align: baseline; }
article, aside, dialog, figure, footer, header, main, menu, nav, section { display: block; }
audio, canvas, video { display: inline-block; }
br, hr { display: block; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; content: none; }
input, select { vertical-align: middle; }
input[type=text], input[type=email], input[type=tel], input[type=password], textarea { outline: none; background: none; border: none; }
input[type=submit], input[type=reset], input[type=button], button[type=submit], button[type=button], button[type=reset] { background: none; border: none; cursor: pointer; }
select { border: none; }
select::-ms-expand {
display: none;
}
table { border-collapse: collapse; border-spacing: 0; empty-cells: show; }
th, td { font-weight: normal; text-align: left; }
img { height: auto; max-width: 100%; vertical-align: top; }
address { font-style: normal; }
strong { font-weight: bold; }
/* base-set
--------------------------------------------------------- */
html { font-size: 62.5%; height: 100%; width: 100%; }
body { display: flex; flex-direction: column; min-height: 100%; height: 100%; width: 100%; color: #333; font-size: 10px; background: #fff; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -o-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; word-wrap : break-word; overflow-wrap : break-word; }
body, input, select, textarea { font: 1.0rem/1 "-apple-system", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", Verdana, sans-serif; }
body, input, select, textarea { font-weight: 500; }
/* -------------------------------------
	box-sizing
------------------------------------- */
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
/* =======================================
	Others
========================================== */
/*link
--------------------------------------------------------- */
a { }
a:hover, a:focus { }
/* -------------------------------------
	blockskip
------------------------------------- */
.blockskip { overflow: hidden; height: 0; text-indent: 100%; white-space: nowrap; }
/* =======================================
	Structure
========================================== */
/* header
--------------------------------------------------------- */
header { position: relative; padding: 1vw 2.6% 0; }
header section { display: flex; flex-direction: column; max-width: 1024px; margin: 0 auto; }
header h1 a { display: flex; align-content: center; flex-wrap: wrap; position: relative; height: 21.3vw; width: calc(100% - 50px); padding-left: 22.13vw; color: #4b4b4b; }
header h1 a::before { content: ''; position: absolute; top: 0; left: 0; height: 21.3vw; width: 22.13vw; background: url("../images/common/logo.png"); background-size: cover; }
header h1 a:hover, header h1 a:focus { opacity: .7; }
header h1 a span { width: 100%; }
header h1 a span:first-child { font-size: 4.05vw; line-height: 1.42; }
header h1 a span:last-child { font-size: 5.3vw; font-weight: 600; line-height: 1; }

/*---- min-width478px ----*/
@media print, screen and (min-width: 478px) {
header h1 a { height: 100px; padding-left: 104px; }
header h1 a::before { height: 100px; width: 104px; }
header h1 a span:first-child { font-size: 1.9rem; }
header h1 a span:last-child { font-size: 2.5rem; }
}

/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
header { padding: 0 5px; }
header section { flex-direction: row; justify-content: space-between; }
header h1 a { width: 330px; margin-top: 50px; }
}
/* -------------------------------------
	btn-toggle
------------------------------------- */
.btn-toggle { position: absolute; top: 8vw; right: 2.6vw; z-index: 999; height: 20px; width: 32px; margin-left: auto; cursor: pointer; }
.btn-toggle span { display: inline-block; position: absolute; left: 0; height: 4px; width: 100%; background: #0f43af; border-radius: 4px; transition: .4s; }
.btn-toggle span:nth-of-type(1) { top: 0; }
.btn-toggle span:nth-of-type(2) { top: 50%; margin-top: -2px; }
.btn-toggle span:nth-of-type(3) { bottom: 0; }
.open .btn-toggle { height: 30px; width: 30px; }
.open .btn-toggle span { background: #fff; }
.open .btn-toggle span:nth-of-type(1) { transform: translateY(13px) rotate(45deg); }
.open .btn-toggle span:nth-of-type(2) { opacity: 0; }
.open .btn-toggle span:nth-of-type(3) { transform: translateY(-13px) rotate(-45deg); }

/*---- min-width478px ----*/
@media print, screen and (min-width: 478px) {
.btn-toggle { top: 45px; }
}

/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.btn-toggle { display: none; }
}
/* -------------------------------------
head-box
------------------------------------- */
.head-box p { margin-bottom: 12px; font-size: 4.26vw; font-weight: 600; text-align: center; }
.head-box p span { margin-right: 1em; font-size: 2.6vw; font-weight: 500; }

/*---- min-width478px ----*/
@media print, screen and (min-width: 478px) {
.head-box p { font-size: 2rem; }
.head-box p span { font-size: 1.3rem; }
}

/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.head-box { display: flex; justify-content: flex-end; flex-wrap: wrap; width: 67%; margin-top: 48px; }
.head-box p { width: 100%; text-align: right; }
}
/*---- g-nav ----*/
.g-nav { position: fixed; top: 0; right: -89.3%; z-index: 998; overflow-y: auto; height: 100vh; width: 89.3%; transition: .5s; }
.open .g-nav { right: 0; background: rgba(0,0,0,0.8); }
.g-nav ul { padding: 54px 0 0 5%; font-size: 1.6rem; line-height: 2.75; }
.open .g-nav > ul > li { border-bottom: 2px solid #0f43af; }
.g-nav li a { display: none; padding: 0 .625em; color: #fff; text-decoration: none; }
.open .g-nav li a { display: block; }
.open .g-nav ul ul { padding: 0 0 0 1em; }

@media only print{
	.g-nav{display: none;}
}
/*---- min-width375px ----*/
@media print, screen and (min-width: 375px) {
.g-nav { right: -300px; width: 300px; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.g-nav { position: static; top: auto; right: auto; overflow-y: visible; height: auto; max-width: 613px; width: 100%; transition: 0s; }
.g-nav li a { display: block; padding: 0; color: #4b4b4b; }
.g-nav > ul { display: flex; justify-content: space-between; padding: 0; margin-top: 30px; font-size: 1.5rem; }
.g-nav > ul > li { position: relative; height: 2.666em; width: calc(100% / 5); }
.g-nav > ul > li span { display: flex; justify-content: center; align-items: center; height: 1.866em; width: 100%; border-right: 1px solid #c8c8c8; }
 _:-ms-lang(x)::-ms-backdrop, .g-nav > ul > li span {
padding-top: .3em;
}
.g-nav > ul > li:hover::after, .g-nav > ul > .active:after, .g-nav > ul > .focused::after { content: ''; position: absolute; bottom: 0; left: 0; height: 3px; width: 100%; background: #f59221; }
.g-nav > ul > li > a:focus::after { content: ''; position: absolute; bottom: 0; left: 0; height: 3px; width: 100%; background: #f59221; }
.g-nav > ul > li:first-child span { border-left: 1px solid #c8c8c8; }
.g-nav > ul > li > ul { position: absolute; top: 100%; left: 0; z-index: 9999; visibility: visible; opacity: 1; width: 100%; padding: 0; font-size: 1.5rem; }
.g-nav > ul > li > ul > li { overflow: hidden; height: 0; padding: 0; margin: 0; transition: .2s; }
.g-nav > ul > li:hover > ul > li { overflow: visible; height: 38px; padding: 0; background: #fff; }
.g-nav > ul > li > ul > li > a { display: flex; justify-content: center; align-items: center; height: 38px; width: 100%; }
_:-ms-lang(x)::-ms-backdrop, .g-nav > ul > li > ul > li > a { padding-top: .3em; }
.g-nav > ul > li > ul > li > a:hover, .g-nav > ul > li > ul > li > a:focus, .g-nav > ul > li > ul > li > .active { background: #ebebeb; }
.g-nav > ul > .focused > ul > li { overflow: visible; height: 38px; padding: 0; background: #fff; }
}
/*main
--------------------------------------------------------- */
main { flex: 1 0 auto; border-top: 3.7vw solid #0f43af; }

/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
main { border-width: 38px; }
}
/* footer
--------------------------------------------------------- */
footer { background: #007cd2; }
footer section { display: flex; justify-content: center; max-width: 1024px; padding: 3.07em 2.6%; margin: 0 auto; color: #fff; font-size: 3.2vw; font-weight: 600; }
.foot-inner h2 { display: flex; }
.foot-inner h2 span { display: block; }
.foot-inner h2 > span:first-child { margin: .41em .82em 0 0; font-size: 3.62vw; }
.foot-inner h2 > span:last-child { font-size: 5.3vw; }
.foot-inner h2 > span:last-child span { font-size: 2.6vw; line-height: 1.4; }
.foot-inner p { margin-top: .71em; line-height: 1.57; }
.copyright { padding: .865em 2.6%; color: #646464; font-size: 2.6vw; background: #e3ebeb; text-align: center; line-height: 1.5; }
_:-ms-lang(x)::-ms-backdrop, .copyright {
padding: 1.015em 0 .715em;
}

@media only print{
	footer .page-top{ display: none; }
}
/* -------------------------------------
	page-top
------------------------------------- */
.page-top { position: relative; max-width: 1025px; width: 100%; margin: 0 auto; }
.page-top a { position: absolute; top: -40px; right: 2.6%; display: block; height: 40px; width: 40px; font-size: 0; background: url(../images/common/page_top.png); }
.page-top a:hover, .page-top a:focus { opacity: .7; }

/*---- min-width375px ----*/
@media print, screen and (min-width: 375px) {
.foot-inner h2 > span:last-child span { letter-spacing: .05em; }
}

/*---- min-width478px ----*/
@media print, screen and (min-width: 478px) {
footer section { font-size: 1.4rem; }
.foot-inner h2 > span:first-child { font-size: 1.7rem; }
.foot-inner h2 > span:last-child { font-size: 2.5rem; }
.foot-inner h2 > span:last-child span { margin-top: .4em; font-size: 1.3rem; letter-spacing: .04em; line-height: 1; }
.copyright { font-size: 1.3rem; }
}
/*---- min-width650px ----*/
@media print, screen and (min-width: 650px) {
.page-top a { top: -68px; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.page-top a { right: 0; }
}
/* =======================================
	home
========================================== */
/* top-intro
--------------------------------------------------------- */
.top-intro { height: 30.73vw; padding: .87vw 0; background: url("../images/top/bg_top-intro.png") no-repeat 50% 50% / cover; border-bottom: 3.7vw solid #0f43af; }
.top-intro h1 { display: flex; align-items: center; height: 100%; max-width: 1025px; padding-left: 21vw; margin: 0 auto; color: #fff; font-size: 2.8vw; font-weight: bold; background: url("../images/common/bg_mark.png") no-repeat 7px 50% / contain; text-shadow: 6px 6px 4px rgba(0,91,172,0.85); line-height: 1.86; }
/*---- min-width768px ----*/
@media print, screen and (min-width: 768px) {
.top-intro h1 { font-size: 2.2rem; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.top-intro { height: 315px; padding: 9px 0; border-width: 38px; }
.top-intro h1 { padding-left: 215px; }
}
/* top-service
--------------------------------------------------------- */
.top-service { max-width: 1025px; padding: 5.36vw 2.6% 9.95vw; margin: 0 auto; }
.top-service h2 { padding-bottom: .38em; margin-bottom: .78vw; color: #005bac; font-size: 5.546vw; font-weight: bold; border-bottom: 1px solid #c8c8c8; text-align: center; letter-spacing: .1em }
_:-ms-lang(x)::-ms-backdrop, .top-service h2 { padding-bottom: .18em; }
.top-service h2 span { margin-left: .3em; color: #afafaf; font-size: 3.62vw; letter-spacing: 0; }
.top-service p { font-size: 2.8vw; font-weight: 600; text-align: center; line-height: 1.6875; }
.top-service ul { padding-top: 1.26vw; }
.top-service li { margin-top: 2.43vw; border: 1px solid #c8c8c8; }
.top-service li a { position: relative; display: flex; align-items: center; height: 5em; width: 100%; padding: 0 15% 0 34%; color: #005bac; font-size: 3.73vw; font-weight: 600; background: #fff; }
_:-ms-lang(x)::-ms-backdrop, .top-service li a { padding-top: .2em; }
.top-service li a::before { content: ''; position: absolute; top: -2px; left: -8px; height: 0; width: 0; border-style: solid; border-width: 0 12px 12px 12px; border-color: transparent transparent #70a3d1 transparent; transform: rotate(-45deg); }
.top-service li a::after { content: ''; position: absolute; top: 50%; right: 13.5%; height: 1.277em; width: .833em; background: url("../images/common/list_mark01.png"); background-size: cover; transform: translateY(-50%); }
.top-service li a:hover, .top-service li a:focus { background: #f0f0f0; }
.top-service li a:hover::before, .top-service li a:focus::before { border-color: transparent transparent #4d8cc5 transparent;}
/*---- min-width469px ----*/
@media print, screen and (min-width: 469px) {
.top-service h2 { font-size: 2.6rem; }
.top-service h2 span { font-size: 1.7rem; }
.top-service li a { font-size: 1.8rem; }
}
/*---- min-width572px ----*/
@media print, screen and (min-width: 572px) {
.top-service p { font-size: 1.6rem; }
}
/*---- min-width768px ----*/
@media print, screen and (min-width: 768px) {
.top-service ul { display: flex; justify-content: space-between; flex-wrap: wrap; }
.top-service li { width: 48.4%; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.top-service { padding: 55px 5px 102px; }
.top-service h2 { margin-bottom: 8px; }
.top-service ul { padding-top: 13px; }
.top-service li { margin-top: 25px; }
}
/* top-about
--------------------------------------------------------- */
.top-about { padding: 5.36vw 2.6% 9.95vw; background: url("../images/top/bg_top-about.png") no-repeat 50% 50% / cover; }
.top-about .inner { max-width: 1025px; margin: 0 auto; }
.top-about h2 { padding-bottom: .38em; margin-bottom: .78vw; color: #005bac; font-size: 5.546vw; font-weight: bold; border-bottom: 1px solid #c8c8c8; text-align: center; letter-spacing: .1em }
_:-ms-lang(x)::-ms-backdrop, .top-about h2 { padding-bottom: .18em; }
.top-about h2 span { margin-left: .3em; color: #afafaf; font-size: 3.62vw; letter-spacing: 0; }
.top-about p { font-size: 2.8vw; font-weight: 600; text-align: center; line-height: 1.6875; }
.top-about ul { padding-top: 1.26vw; }
.top-about li { margin-top: 2.43vw; border: 1px solid #c8c8c8; }
.top-about li a { position: relative; display: flex; align-items: center; height: 5em; width: 100%; padding: 0 15% 0 34%; color: #005bac; font-size: 3.73vw; font-weight: 600; background: #fff; }
_:-ms-lang(x)::-ms-backdrop, .top-about li a { padding-top: .2em; }
.top-about li a::before { content: ''; position: absolute; top: -2px; left: -8px; height: 0; width: 0; border-style: solid; border-width: 0 12px 12px 12px; border-color: transparent transparent #70a3d1 transparent; transform: rotate(-45deg); }
.top-about li a::after { content: ''; position: absolute; top: 50%; right: 13.5%; height: 1.277em; width: .833em; background: url("../images/common/list_mark01.png"); background-size: cover; transform: translateY(-50%); }
.top-about li a:hover, .top-about li a:focus { opacity: .7; }
/*.top-about li a:hover, .top-about li a:focus { background: #f0f0f0; }*/
.top-about li a:hover::before, .top-about li a:focus::before { border-color: transparent transparent #4d8cc5 transparent;}
/*---- min-width469px ----*/
@media print, screen and (min-width: 469px) {
.top-about h2 { font-size: 2.6rem; }
.top-about h2 span { font-size: 1.7rem; }
.top-about li a { font-size: 1.8rem; }
}
/*---- min-width572px ----*/
@media print, screen and (min-width: 572px) {
.top-about p { font-size: 1.6rem; }
}
/*---- min-width768px ----*/
@media print, screen and (min-width: 768px) {
.top-about ul { display: flex; justify-content: space-between; flex-wrap: wrap; }
.top-about li { width: 48.4%; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.top-about { padding: 55px 5px 102px; }
.top-about h2 { margin-bottom: 8px; }
.top-about ul { padding-top: 13px; }
.top-about li { margin-top: 25px; }
}
/* top-others
--------------------------------------------------------- */
.top-others { max-width: 1025px; padding: 7.42vw 2.6% 12.195vw; margin: 0 auto; }
.top-others li { margin-top: 2.43vw; border: 1px solid #c8c8c8; }
.top-others li h2 { padding: .37em 0; color: #fff; font-size: 4.9vw; font-weight: bold; text-align: center; }
_:-ms-lang(x)::-ms-backdrop, .top-others li h2 { padding: .57em 0 .17em; }
.top-others li h2 span { margin-left: 1em; font-size: 3.198vw; }
.top-others li p { display: flex; align-items: center; position: relative; height: 5.81em; padding: 0 18% 0 8%; color: #4b4b4b; font-size: 3.41vw; line-height: 1.6875; }
_:-ms-lang(x)::-ms-backdrop, .top-others li p { padding: .2em 18% 0 8%; }
.top-others li p::after { content: ''; position: absolute; top: 50%; right: 13.5%; height: 1.277em; width: .833em; background: url("../images/common/list_mark01.png"); background-size: cover; transform: translateY(-50%); }
.top-others li a h2 { background: #70a3d1; }
.top-others li a:hover h2, .top-others li a:focus h2 { background: #5995c9; }
.top-others li a p { background: #fff; }
.top-others li a:hover p, .top-others li a:focus p { background: #f0f0f0; }
/*---- min-width469px ----*/
@media print, screen and (min-width: 469px) {
.top-others li h2 { font-size: 2.3rem; }
.top-others li h2 span { font-size: 1.5rem; }
.top-others li p { font-size: 1.6rem; }
}
/*---- min-width768px ----*/
@media print, screen and (min-width: 768px) {
.top-others ul { display: flex; justify-content: space-between; flex-wrap: wrap; }
.top-others li { width: 48.4%; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.top-others { padding: 76px 5px 125px; }
.top-others li { margin-top: 25px; }
}
/* =======================================
	common
========================================== */
/* tit-box
--------------------------------------------------------- */
.tit-box { height: 24.26vw; padding: 0 2.6%; background: url("../images/common/bg_tit-box.png") no-repeat 50% 50% / cover; }
.tit-box h1 { display: flex; align-items: center; height: 100%; max-width: 845px; margin: 0 auto; color: rgba(75,75,75,1.00); font-size: 6.9vw; }
_:-ms-lang(x)::-ms-backdrop, .tit-box h1 { padding-top: .2em; }
/*---- min-width478px ----*/
@media print, screen and (min-width: 478px) {
.tit-box { height: 116px; }
.tit-box h1 { font-size: 3.3rem; }
}
/* text
--------------------------------------------------------- */
.contents p { font-size: 1.4rem; line-height: 1.8; }
.contents .txt-center { text-align: center; }
@media print, screen and (min-width: 478px) {
.contents p { font-size: 1.6rem; line-height: 2; }
}
/* list
--------------------------------------------------------- */
.contents ol, .contents ul { font-size: 1.4rem; line-height: 1.6875; }
@media print, screen and (min-width: 478px) {
.contents ol, .contents ul { font-size: 1.6rem; }
}
/* =======================================
	project
========================================== */
/* aboutus
--------------------------------------------------------- */
.aboutus { position: relative; max-width: 917px; padding: 6.34vw 2.6% 12.97vw; margin: 0 auto; }
.aboutus::after { content: ''; position: absolute; bottom: -5vw; right: 2.6%; z-index: -1; height: 33.8vw; width: 32.715vw; background: url("../images/aboutus/bg_aboutus.png") no-repeat 50% 50% / cover; }
.aboutus .box-row { display: flex; flex-direction: column-reverse; max-width: 845px; margin: 0 auto; }
.aboutus .box-txt { font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
.aboutus h2 { margin-bottom: .5em; color: #004aa0; font-size: 4.61vw; font-weight: 600; line-height: 1.5; }
.contents .aboutus .box-pho p { margin: 1em 0; font-size: 3.75vw; line-height: 1.64; }
.aboutus .box-pho { width: 224px; margin: 0 auto; }
.aboutus .box-pho p span { font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-size: 5.97vw; font-weight: 600; }
/* -------------------------------------
	overview
------------------------------------- */
.overview { position: relative; max-width: 1025px; padding: 6.34vw 2.6% 12.97vw; margin: 0 auto; }
.overview::after { content: ''; position: absolute; top: 5vw; right: 2.6%; z-index: -1; height: 39.7vw; width: 38.43vw; background: url("../images/aboutus/bg_aboutus.png") no-repeat 50% 50% / cover; }
.overview .inner { max-width: 845px; margin: 0 auto; }
.overview h2 { margin-bottom: .5em; color: #004aa0; font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-size: 4.61vw; font-weight: 600; line-height: 1.5; }
.overview h3 { padding-bottom: 1.53vw; margin: 8.29vw 0 1.46vw; color: #005bac; font-size: 4vw; border-bottom: 1px solid #c8c8c8; }
.overview .intro { margin-bottom: 9.76vw; }
/*---- list ----*/
/*outline*/
.lst-outline li { display: flex; align-items: baseline; margin: .3125em 0; }
.lst-outline li::before { content: '■'; color: #005bac; }
/*history*/
.lst-history li { padding-bottom: 1.46vw; border-bottom: 1px solid #c8c8c8; }
.lst-history li:not(:first-child) { margin-top: 1.46vw; }
.lst-history li div:first-child { color: #005bac; font-size: 4.3vw; font-weight: bold; }
.lst-history li div:first-child span { font-size: 3.38vw; }
/*---- min-width385px ----*/
@media print, screen and (min-width: 385px) {
.contents .aboutus .box-pho p { font-size: 1.4rem; }
.aboutus .box-pho p span { font-size: 2.3rem; }
}
/*---- min-width650px ----*/
@media print, screen and (min-width: 650px) {
.aboutus h2, .overview h2 { font-size: 3rem; }
.overview h3 { padding-bottom: 10px; font-size: 2.6rem; }
.lst-history li div:first-child { font-size: 2.8rem; }
.lst-history li div:first-child span { font-size: 2.2rem; }
}
/*---- min-width768px ----*/
@media print, screen and (min-width: 768px) {
.aboutus .box-row { flex-direction: row-reverse; justify-content: space-between; }
.aboutus .box-txt { width: 68%; }
.aboutus .box-pho { width: 26.5%; margin: 0; }
.lst-history li { display: flex; }
.lst-history li div:last-child { flex: 1; margin-left: 1.5625em; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.aboutus { padding: 65px 0 133px; }
.aboutus::after { bottom: -6%; right: 0; height: 310px; width: 300px; }
.overview { padding: 65px 2.6% 133px; }
.overview::after { top: 45px; right: 8px; height: 372px; width: 360px; }
.overview h3 { margin: 85px 0 15px; }
.lst-history li { padding-bottom: 15px; }
.lst-history li:not(:first-child) { margin-top: 15px; }
.overview .intro { width: 650px; margin-bottom: 100px; }
}

@media only print{
	.overview { padding-bottom: 20px; }
}

/* works
--------------------------------------------------------- */
.works { max-width: 845px; padding: 220px 2.6% 12.97vw; margin: 0 auto; background: url("../images/works/bg_works.png") no-repeat 50% 6.34vw; }
.works h2 { display: flex; align-items: center; height: 2.44em; padding: 0 1em; margin: 1.388em 0 .8em; color: #005bac; font-size: 4.266vw; font-weight: 600; border: 1px solid #c8c8c8; }
_:-ms-lang(x)::-ms-backdrop, .works h2 { padding-top: .3em; }
.works h3 { margin: .5em 0; color: #005bac; font-size: 4.266vw; font-weight: 600; }
.works h2 + h3 { margin-top: 1.5em; }
.works ul + h2 { margin-top: 1.8em; }
.works li { display: flex; align-items: baseline; }
.works li::before { content: '・'; color: #ea5519; }
/* -------------------------------------
	specialized
------------------------------------- */
.specialized { max-width: 845px; padding: 6.34vw 2.6% 12.97vw; margin: 0 auto; }
.specialized li { width: 210px; margin: 2.56em auto 0; color: #4b4b4b; }
.specialized li div { height: 210px; padding: .625em; margin-bottom: .8em; color: #fff; font-size: 4.18vw; font-weight: bold; background: #36bdef; text-align: center; }
.specialized li span { display: block; }
.specialized li span:last-child { display: flex; justify-content: center; align-items: center; height: 70%; }
.specialized li span:last-child img { max-height: 120px; max-width: 113px; }
/* -------------------------------------
	country
------------------------------------- */
.country { max-width: 845px; padding: 6.34vw 2.6% 12.97vw; margin: 0 auto; }
.country h2 { margin-top: 2.69em; color: #005bac; font-size: 6vw; font-weight: bold; }
.contents .instance { width: 90%; margin: 0 auto; font-size: 3.2vw; line-height: 1.5; }
/* -------------------------------------
	flow
------------------------------------- */
.flow { max-width: 845px; padding: 220px 2.6% 12.97vw; margin: 0 auto; background: url("../images/works/bg_flow.png") no-repeat 50% 6.34vw; }
.flow h2 { display: flex; align-items: center; counter-increment: decimal; position: relative; height: 2.5em; padding: .1em .5em 0 1.15em; margin: 1.8em 0 .5em; color: #005bac; font-size: 4.266vw; font-weight: 600; background: #c7e3f3; }
_:-ms-lang(x)::-ms-backdrop, .flow h2 { padding-top: .3em; }
.flow h2::before { content: counter(decimal); margin-right: .7em; font-family: 'Arial',sans-serif; font-size: 11.1vw; font-weight: normal; }
.flow h2 span { margin-right: 1em; color: #4b4b4b; font-size: 3.25vw; font-weight: 500; }
.lst-square li { display: flex; align-items: baseline; }
.lst-square li::before { content: '・'; color: #ea5519;  }
.lst-row li { margin: 1em 0; }
.lst-row h3 { display: flex; justify-content: center; align-items: center; height: 2.75em; margin-bottom: .5em; font-size: 3.72vw; font-weight: 600; border: 1px solid #c8c8c8; }
_:-ms-lang(x)::-ms-backdrop, .lst-row h3 { padding-top: .3em; }
/*---- min-width430px ----*/
@media print, screen and (min-width: 430px) {
.works h2, .works h3, .flow h2 { font-size: 1.8rem; }
.country h2 { font-size: 2.6rem; }
.contents .instance { width: 80%; font-size: 1.3rem; line-height: 1.8; }
.flow h2::before { font-size: 4rem; }
.flow h2 span { font-size: 1.4rem; }
.lst-row h3 { font-size: 1.6rem; }
}
/*---- min-width478px ----*/
@media print, screen and (min-width: 478px) {
.specialized li div { font-size: 2rem; }
}
/*---- min-width600px ----*/
@media print, screen and (min-width: 600px) {
.specialized ul { display: flex; justify-content: center; flex-wrap: wrap; }
.specialized li { margin: 2.56em 5% 0; }
}
/*---- min-width768px ----*/
@media print, screen and (min-width: 768px) {
.works { padding: 6.34vw 2.6% 12.97vw; background-position: 97.4% 8vw; }
.works h2:nth-of-type(1) { margin-top: 6em; }
.works .intro, .flow .intro { width: 67.5%; }
.specialized ul { justify-content: space-between; }
.specialized li { margin: 2.56em 0 0; }
.contents .instance { width: 66%; }
.flow h2:nth-of-type(1) { margin-top: 7em; }
.lst-row { display: flex; justify-content: space-between; }
.lst-row li { width: 45.9%; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.works { padding: 65px 0 133px; background-position: 100% 65px; }
.works .intro, .flow .intro { width: 570px; }
.specialized { padding: 65px 0 133px; }
.specialized ul { margin-left: -10.29%; }
.specialized li { margin-left: 10.29%; }
.country { padding: 65px 0 133px; }
.contents .instance { margin: 20px 0 0 90px; }
.flow { padding: 65px 0 133px; background-position: 100% 65px; }
}

@media only print{
	.specialized li { width: 180px; }
	.specialized ul { margin-left: -5.29%; }
	.specialized li { margin-left: 5.29%; }
	.flow { padding-bottom: 20px; }
}

/* staff
--------------------------------------------------------- */
.staff { position: relative; max-width: 1024px; padding: 6.34vw 2.6% 12.97vw; margin: 0 auto; }
.staff::after { content: ''; position: absolute; top: 5px; right: 4.2%; height: 26.1vw; width: 25.1vw; background: url("../images/staff/bg_staff.png") no-repeat 0 0 / cover; }
.staff h2 { padding-bottom: .2em; margin-top: 1.5em; color: #646464; font-size: 6vw; font-weight: bold; border-bottom: 1px solid #c8c8c8; }
.staff h2:nth-of-type(2) { margin-top: 3em; }
.staff h3 { margin-bottom: .2em; color: #005bac; font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-size: 4.88vw; font-weight: 600; }
.staff h4 { color: #4b4b4b; font-size: 3.25vw; font-weight: 600; line-height: 1.8; }
.staff-row { display: flex; flex-direction: column-reverse; position: relative; padding-bottom: 2em; margin: 2em 0; border-bottom: 1px solid #c8c8c8; }
.staff-col:last-child { margin-bottom: 2em; text-align: center; }
.staff-col:last-child img { max-width: none; width: 146px; }
.associate { position: relative; padding-bottom: 2em; margin: 2em 0; border-bottom: 1px solid #c8c8c8; }
.contents .staff-row p { padding-right: 12%; font-size: 1.4rem; line-height: 1.7; }
.contents .staff-row ul { font-size: 1.4rem; line-height: 1.7; }
.staff .btn { position: absolute; bottom: 3em; right: 3%; }
.staff .btn a { display: block; height: 24px; width: 24px; font-size: 0; background: url("../images/staff/btn_staff.png"); }
.staff .btn a:hover, .staff .btn a:focus { opacity: .7; }
/* -------------------------------------
	staff detail
------------------------------------- */
.s-detail { max-width: 845px; padding: 6.34vw 2.6% 12.97vw; margin: 0 auto; }
.detail-row { display: flex; flex-direction: column-reverse; margin-bottom: 4em; }
.detail-row h2 { margin-bottom: .2em; color: #005bac; font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-size: 5.81vw; font-weight: 600; }
.detail-row h2 span { display: block; color: #4b4b4b; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", Verdana, sans-serif;  font-size: 3.72vw; font-weight: 600; margin-bottom: .6875em; }
.detail-row h3 { display: inline-flex; justify-content: center; align-items: center; height: 1.625em; width: 10.625em; margin: 1.25em 0 .2em 5px; color: #fff; font-size: 3.72vw; background: #007cd2; }
.detail-row h3:nth-of-type(2) { padding-left: 1em; letter-spacing: 1em; }
_:-ms-lang(x)::-ms-backdrop, .detail-row h3 { padding-top: .3em; }
.detail-row h4 { margin: .5em 0; color: #4b4b4b; font-size: 3.72vw; font-weight: 600; }
.detail-col:last-child { margin-bottom: 2em; text-align: center; }
.detail-col:last-child img { box-shadow: 2px 2px 2px rgba(0,0,0,.2); }
.lst-qualification { padding-bottom: .8em; border-bottom: 1px solid #7d7d7d; }
.comment { padding: 2em 2em 2.8em; margin-bottom: 1em; font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; background: #ebf8ff; }
.comment h2 { margin-bottom: .8em; color: #004aa0; font-size: 5.81vw; font-weight: 600; line-height: 1.64; }
.comment br { display: none; }
.associate-col { width: 100%; padding-bottom: .8em; border-bottom: 1px solid #7d7d7d; }
.associate-col h3 { margin-left: 0; }
.s-detail .btn { position: relative; padding-left: 1em; }
.s-detail .btn-associate { margin-top: -2em; }
.s-detail .btn::before { content: ''; position: absolute; top: .3em; left: 0; height: 1em; width: .625em; background: url("../images/common/list_mark01.png") no-repeat 0 0 / cover; transform: rotate(180deg); }
.s-detail .btn a { color: #4b4b4b; }
.s-detail .btn a:hover, .s-detail .btn a:focus { text-decoration: underline; }

/*---- min-width430px ----*/
@media print, screen and (min-width: 430px) {
.staff h2 { font-size: 2.6rem; }
.staff h3 { font-size: 2.1rem; }
.staff h4 { font-size: 1.4rem; }
.detail-row h2 { font-size: 2.5rem; }
.detail-row h2 span { font-size: 1.6rem; }
.detail-row h3 { font-size: 1.6rem; }
.detail-row h4 { font-size: 1.6rem; }
.comment h2 { font-size: 2.5rem; }
}
/*---- min-width768px ----*/
@media print, screen and (min-width: 768px) {
.staff-row { flex-direction: row-reverse; }
.staff-col:first-child { flex: 1; }
.staff-col:last-child { width: 146px; margin: 0 2.4em 0 0; text-align: center; }
.detail-row { flex-direction: row-reverse; justify-content: space-between; }
.detail-col:first-child { width: 63%; }
.detail-col:last-child { width: 35%; margin: -.6em 0 0; }
.lst-career li { display: flex; }
.lst-career li div:first-child { width: 8.5em; }
.lst-career li div:last-child { flex: 1; }
.comment br { display: block; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.staff { padding: 65px 0 133px; }
.staff::after { right: 44px; height: 268px; width: 258px; }
.staff .intro { margin-left: 136px; }
.staff h2 { padding-left: 136px; }
.staff-row { padding: 0 104px 2em 136px; }
.associate { padding: 0 104px 2em 136px; }
.staff .btn { right: 104px; }
.s-detail { padding: 65px 0 133px; }
.detail-col:first-child { width: 58.9%; }
.detail-col:last-child { width: 43%; }
.comment .inner { width: 70%; margin: 0 auto; }
}

@media only print{
	.staff h2 { padding-left: 0; }
	.staff-row,.associate { padding: 0 0 2em 0; }
	.staff .btn { display: none;}
	.contents .staff-row p { padding-right: 0;}
	.detail-col:last-child { width: 35%; }
	.s-detail .btn { display: none; }
	.staff { padding-bottom: 20px; }
}


/* recruit
--------------------------------------------------------- */
.recruit { max-width: 845px; padding: 6.34vw 2.6% 12.97vw; margin: 0 auto; }
.recruit h2 { display: flex; align-items: center; height: 2.44em; padding: 0 1em; margin: 1.388em 0 .8em; color: #005bac; font-size: 4.266vw; font-weight: 600; border: 1px solid #c8c8c8; }
_:-ms-lang(x)::-ms-backdrop, .recruit h2 { padding-top: .3em; }
/*---- min-width430px ----*/
@media print, screen and (min-width: 430px) {
.recruit h2 { font-size: 1.8rem; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.recruit { padding: 65px 0 133px; }
}

@media only print{
	.recruit { padding-bottom: 20px; }
}
/* access
--------------------------------------------------------- */
.access { max-width: 845px; padding: 6.34vw 2.6% 12.97vw; margin: 0 auto; }
.access h2 { margin-top: 1em; font-size: 3.72vw; font-weight: 600; }
.access h2 span { font-weight: 500; }
.access .row { display: flex; flex-direction: column-reverse; }
.contents .access p { line-height: 1.5; }
.access .col:last-child p { margin-top: .5em; text-align: right; }
.access .col:last-child p a { color: #4b4b4b; }
.access .col:last-child p a:hover, .access .col:last-child p a:focus { text-decoration: underline; }
/*---- min-width430px ----*/
@media print, screen and (min-width: 430px) {
.access h2 { font-size: 1.6rem; }
}
/*---- min-width768px ----*/
@media print, screen and (min-width: 768px) {
.access .row { flex-direction: row; justify-content: space-between; }
.access .col:first-child { width: 37%; }
.access .col:last-child { width: 56.5%; }
}
/*---- min-width1025px ----*/
@media print, screen and (min-width: 1025px) {
.access { padding: 65px 0 133px; }
}

@media only print{
	.access { padding-bottom: 20px; }
}

