@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/* Normalization */
:root { -ms-overflow-style: -ms-autohiding-scrollbar; overflow-y: scroll; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

audio:not([controls]) { display: none; }

details { display: block; }

input[type="number"] { width: auto; }

input[type="search"] { -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

main { display: block; }

summary { display: block; }

pre { overflow: auto; }

progress { display: inline-block; }

small { font-size: 75%; }

template { display: none; }

textarea { overflow: auto; }

[hidden] { display: none; }

[unselectable] { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

/* Universal inheritance */
*, ::before, ::after { box-sizing: inherit; }

* { font-size: inherit; line-height: inherit; }

::before, ::after { text-decoration: inherit; vertical-align: inherit; }

/* Opinionated defaults */
*, ::before, ::after { border-style: solid; border-width: 0; }

* { margin: 0; padding: 0; }

:root { box-sizing: border-box; cursor: default; font: 16px / 1.5 sans-serif; text-rendering: optimizeLegibility; }

html { background-color: #FFFFFF; }

a { text-decoration: none; }

audio, canvas, iframe, img, svg, video { vertical-align: middle; }

button, input, select, textarea { background-color: transparent; }

button, input, select, textarea { color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; }

button, [type="button"], [type="date"], [type="datetime"], [type="datetime-local"], [type="email"], [type="month"], [type="number"], [type="password"], [type="reset"], [type="search"], [type="submit"], [type="tel"], [type="text"], [type="time"], [type="url"], [type="week"], select, textarea { min-height: 1.5em; }

code, kbd, pre, samp { font-family: monospace, monospace; }

nav ol, nav ul { list-style: none; }

select { -moz-appearance: none; -webkit-appearance: none; }

select::-ms-expand { display: none; }

select::-ms-value { color: currentColor; }

table { border-collapse: collapse; border-spacing: 0; }

textarea { resize: vertical; }

::-moz-selection { background-color: #B3D4FC; text-shadow: none; }

::selection { background-color: #B3D4FC; text-shadow: none; }

@media screen { [hidden~="screen"] { display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) { clip: rect(0 0 0 0) !important; position: absolute !important; } }

/*
#styleguide
基本スタイル

```
<p>特に何も指定しないときの状態</p>
```
*/
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-smoothing: antialiased; text-rendering: auto; font-size: 14rem; font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; color: #000001; background-color: #fff; }

.clr { zoom: 1; }

.clr:before, .clr:after { content: " "; display: table; }

.clr:after { clear: both; }

.icon { display: inline-block; background-repeat: no-repeat; }

.icon.icon-web-navigation-line-craft-1-109681 { background-image: url("../images/icon.png"); background-position: 0px 0px; background-size: 1536px 1024px; width: 512px; height: 512px; }

.icon.icon-web-navigation-line-craft-2-109682 { background-image: url("../images/icon.png"); background-position: -512px 0px; background-size: 1536px 1024px; width: 512px; height: 512px; }

.icon.icon-web-navigation-line-craft-3-109688 { background-image: url("../images/icon.png"); background-position: 0px -512px; background-size: 1536px 1024px; width: 512px; height: 512px; }

.icon.icon-web-navigation-line-craft-4-109689 { background-image: url("../images/icon.png"); background-position: -512px -512px; background-size: 1536px 1024px; width: 512px; height: 512px; }

.icon.icon-web-navigation-line-craft-5-109690 { background-image: url("../images/icon.png"); background-position: -1024px 0px; background-size: 1536px 1024px; width: 512px; height: 512px; }

:root { font-size: 1px; }

body { padding-top: 84px; }

* { box-sizing: border-box; }

* a { transition: all ease .3s; }

* img { display: block; max-width: 100%; height: auto; }

* ul { list-style: none; }

.en { font-family: "Nunito Sans", sans-serif; text-transform: uppercase; }

.light-bg { background: #f6f1f0; }

.sp { display: none !important; }

.container { width: 1100px; margin-left: auto; margin-right: auto; }

.home-title { text-align: center; margin-bottom: 40px; }

.home-title span { font-size: 38rem; font-weight: 900; line-height: 1; letter-spacing: .1em; }

.home-title h3 { padding-top: 15px; }

.btn { position: relative; display: flex; align-items: center; justify-content: center; width: 190px; height: 50px; background: #000001; }

.btn:before { display: block; content: ""; position: absolute; top: 0; left: 0; width: 0; height: 100%; background: #fb2e62; z-index: 1; transition: all ease .3s; }

.btn:hover:before { width: 100%; }

.btn span { position: relative; color: #fff; font-size: 20rem; font-weight: 900; letter-spacing: .1em; z-index: 2; }

/* .header */
.header { position: fixed; top: 0; left: 0; width: 100%; height: 84px; background: #000001; z-index: 999; }

.header-col { display: flex; flex-wrap: wrap; align-items: center; }

.header-col .sitename { width: 120px; }

.header-col .sitename a { display: block; }

.global-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; width: calc(100% - 120px); }

.global-menu ul { display: flex; flex-wrap: wrap; justify-content: flex-end; }

.global-menu ul li { width: 130px; height: 84px; }

.global-menu ul li a { color: #fff; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 100%; height: 84px; text-align: center; }

.global-menu ul li a:hover { background: #fb2e62; }

.global-menu ul li a p { display: block; width: 100%; font-size: 13rem; font-weight: bold; letter-spacing: .1em; }

.global-menu ul li a p span { display: block; width: 100%; font-size: 18rem; font-weight: 900; letter-spacing: .1em; }

/* .kv */
.kv { width: 100%; height: 550px; overflow: hidden; }

#kv-movie { width: 100%; }

/* .home-news */
.home-news { padding-top: 70px; padding-bottom: 80px; }

.home-news-pickup { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin-bottom: 40px; }

.home-news-pickup .col { position: relative; display: flex; flex-wrap: wrap; justify-content: center; width: calc(50% - 30px); padding: 35px 30px; border: 2px solid #000001; overflow: hidden; }

.home-news-pickup .col:hover { opacity: .5; }

.home-news-pickup .col:first-child { margin-right: 60px; }

.home-news-pickup .col .icon-pickup { position: absolute; top: -46px; right: -46px; width: 90px; height: 90px; background: #000001; transform: rotate(45deg); }

.home-news-pickup .col .icon-pickup span { position: absolute; left: 50%; bottom: 0; color: #fff; font-size: 11rem; font-weight: bold; transform: translateX(-50%); }

.home-news-pickup .col .thumb { width: 192px; margin-right: 38px; }

.home-news-pickup .col .content { width: calc(100% - (192px + 38px)); }

.home-news-pickup .col .content .date { margin-bottom: 15px; }

.home-news-pickup .col .content .date span { color: #000001; font-size: 14rem; font-weight: 900; }

.home-news-pickup .col .content .title h4 { color: #000001; font-size: 16rem; line-height: 1.8; }

.home-news-pickup .col.full { width: 100%; margin-right: 0; }

.home-news-pickup .col.full .thumb { width: 380px; }

.home-news-pickup .col.full .content { width: calc(100% - (381px + 40px)); }

.home-news-list dl { display: flex; flex-wrap: wrap; align-items: center; }

.home-news-list dl:not(:last-child) { padding-bottom: 17px; margin-bottom: 17px; border-bottom: 2px solid #000001; }

.home-news-list dl dt { width: 100px; }

.home-news-list dl dt span { font-weight: bold; letter-spacing: .1em; }

.home-news-list dl dd { width: calc(100% - 100px); }

.home-news-list dl dd a h4 { color: #000001; font-size: 16rem; font-weight: normal; transition: all ease .3s; }

.home-news-list dl dd a:hover h4 { opacity: .5; }

.home-news-list .btn { margin-top: 45px; margin-left: auto; margin-right: auto; }

/* .home-service */
.home-service { padding-top: 60px; padding-bottom: 80px; }

.home-service .btn { margin-left: auto; margin-right: auto; }

.home-service-cols .col { display: flex; flex-wrap: wrap; align-items: center; padding: 40px 110px; margin-bottom: 50px; background: #fff; border: 2px solid #000001; }

.home-service-cols .col .content { width: 400px; padding-right: 90px; }

.home-service-cols .col .content .title { margin-bottom: 30px; }

.home-service-cols .col .content .title img { margin-bottom: 10px; }

.home-service-cols .col .content .title span { display: block; font-size: 16rem; text-align: center; }

.home-service-cols .col .content .text { margin-bottom: 45px; }

.home-service-cols .col .content .text p { line-height: 1.8; }

.home-service-cols .col .content .links { display: flex; flex-wrap: wrap; justify-content: center; }

.home-service-cols .col .content .links.half { margin-left: -15px; margin-right: -15px; }

.home-service-cols .col .content .links.half li:first-child { padding-right: 15px; }

.home-service-cols .col .content .links.half li:last-child { padding-left: 15px; }

.home-service-cols .col .content .links.full li a { display: flex; flex-wrap: wrap; align-items: center; color: #fb2e62; }

.home-service-cols .col .content .links.full li a i { font-size: 40rem; margin-right: 10px; }

.home-service-cols .col .content .links.full li a span { font-size: 20rem; font-weight: bold; letter-spacing: .1em; padding-top: 3px; }

.home-service-cols .col .content .links li a { display: inline-block; }

.home-service-cols .col .content .links li a:hover { opacity: .5; }

.home-service-cols .col .thumb { width: calc(100% - 400px); }

.home-service-research { display: flex; flex-wrap: wrap; align-items: center; background: #fff; margin-bottom: 50px; border: 2px solid #000001; }

.home-service-research .content { width: 550px; padding-left: 125px; }

.home-service-research .content .title { margin-bottom: 15px; }

.home-service-research .content .title h4 { color: #fb2e62; font-size: 28rem; letter-spacing: .1em; }

.home-service-research .content .text p { font-weight: bold; letter-spacing: .1em; }

.home-service-research .thumb { width: calc(100% - 550px); }

.home-brand { padding-top: 80px; }

.home-brand a img { transition: all ease .3s; }

.home-brand a:hover img { opacity: .5; }

.home-company { display: flex; flex-wrap: wrap; padding-top: 80px; }

.home-company .thumb { width: 700px; }

.home-company .content { width: calc(100% - 700px); padding-top: 50px; padding-left: 50px; }

.home-company .content .title { margin-bottom: 50px; }

.home-company .content .title span { font-size: 38rem; font-weight: 900; letter-spacing: .1em; margin-bottom: 10px; }

.home-company .content .title h3 { padding-top: 10px; }

.home-company .content .text { margin-bottom: 60px; }

.home-company .content .text p { font-size: 16rem; line-height: 1.8; }

.home-recruit { display: flex; flex-wrap: wrap; padding-top: 80px; padding-bottom: 100px; }

.home-recruit .thumb { order: 2; width: 700px; }

.home-recruit .content { order: 1; width: calc(100% - 700px); padding-top: 50px; padding-right: 50px; }

.home-recruit .content .title { margin-bottom: 50px; }

.home-recruit .content .title span { font-size: 38rem; font-weight: 900; letter-spacing: .1em; margin-bottom: 10px; }

.home-recruit .content .title h3 { padding-top: 10px; }

.home-recruit .content .text { margin-bottom: 60px; }

.home-recruit .content .text p { font-size: 16rem; line-height: 1.8; }

.common-contact { position: relative; padding-top: 70px; padding-bottom: 70px; background: #fb2e62; }

.common-contact .totop { position: absolute; top: -34px; right: 45px; }

.common-contact-col { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }

.common-contact-col .title { padding-left: 65px; padding-right: 65px; }

.common-contact-col .title h3 { color: #fff; font-size: 38rem; font-weight: 900; letter-spacing: .1em; }

.common-contact-col .content { padding-left: 65px; padding-right: 65px; }

.common-contact-col .content .btn { width: 320px; background: #fff; border: 2px solid rgba(255, 255, 255, 0); }

.common-contact-col .content .btn span { color: #fb2e62; }

.common-contact-col .content .btn:hover { background: #fb2e62; border: 2px solid white; }

.common-contact-col .content .btn:hover span { color: #fff; }

.footer { padding-top: 70px; padding-bottom: 60px; background: #000001; }

.footer .title { margin-bottom: 50px; }

.footer .title h3 { text-align: center; }

.footer .title h3 a { display: inline-block; }

.footer .title h3 a:hover { opacity: .5; }

.footer .title h3 a img { margin-left: auto; margin-right: auto; }

.footer .links { margin-bottom: 70px; }

.footer .links ul { display: flex; flex-wrap: wrap; justify-content: center; }

.footer .links ul li { margin-left: 20px; margin-right: 20px; }

.footer .links ul li a { color: #fff; font-size: 35rem; }

.footer .links ul li a:hover { color: #fb2e62; }

.footer .menu { margin-bottom: 50px; }

.footer .menu ul { display: flex; flex-wrap: wrap; justify-content: center; }

.footer .menu ul li { padding-left: 35px; padding-right: 35px; }

.footer .menu ul li a { color: #fff; font-size: 18rem; font-weight: 900; letter-spacing: .1em; }

.footer .menu ul li a:hover { color: #fb2e62; }

.footer .copyright { text-align: center; color: #fff; font-size: 16rem; font-weight: 900; }

.page-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 100%; height: 180px; background: url(../images/page-title.jpg) center center no-repeat; background-size: cover; }

.page-title h2 { width: 100%; padding-left: 20px; padding-right: 20px; color: #fb2e62; font-size: 38rem; font-weight: bold; letter-spacing: .1em; text-align: center; }

.breadcrumb { padding-top: 15px; padding-bottom: 15px; }

.breadcrumb ul { display: flex; flex-wrap: wrap; }

.breadcrumb ul li { font-weight: bold; }

.breadcrumb ul li:not(:last-child) { margin-right: 10px; }

.breadcrumb ul li a { color: #000001; }

.page-content { padding-top: 60px; padding-bottom: 110px; }

.page-news-col { display: flex; flex-wrap: wrap; margin-bottom: 80px; }

.page-news-col:hover { opacity: .5; }

.page-news-col .thumb { position: relative; width: 400px; overflow: hidden; }

.page-news-col .thumb .pickup { position: absolute; top: -46px; right: -46px; width: 90px; height: 90px; background: #000001; transform: rotate(45deg); }

.page-news-col .thumb .pickup span { position: absolute; left: 50%; bottom: 0; color: #fff; font-size: 11rem; font-weight: bold; transform: translateX(-50%); }

.page-news-col .content { width: calc(100% - 400px); padding-top: 50px; padding-left: 50px; }

.page-news-col .content .date { margin-bottom: 10px; }

.page-news-col .content .date span { color: #000001; font-size: 14rem; font-weight: 900; }

.page-news-col .content .title { padding-bottom: 25px; margin-bottom: 30px; border-bottom: 2px solid #000001; }

.page-news-col .content .title h3 { color: #000001; font-size: 16rem; line-height: 1.8; }

.page-news-col .content .text p { color: #000001; line-height: 1.8; }

.pagenavi .wp-pagenavi { display: flex; flex-wrap: wrap; justify-content: center; }

.pagenavi .wp-pagenavi .pages, .pagenavi .wp-pagenavi .first, .pagenavi .wp-pagenavi .last, .pagenavi .wp-pagenavi .extend { display: none; }

.pagenavi .wp-pagenavi span, .pagenavi .wp-pagenavi a { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; font-size: 20rem; font-weight: 900; width: 50px; height: 50px; padding-top: 1px; margin-left: 5px; margin-right: 5px; }

.pagenavi .wp-pagenavi span { border: 2px solid #000001; }

.pagenavi .wp-pagenavi a { color: #fff; background: #000001; }

.pagenavi .wp-pagenavi a:hover { background: #fb2e62; }

.page-single { max-width: 800px; }

.page-single-col .title { padding-bottom: 30px; margin-bottom: 40px; border-bottom: 2px solid #000001; }

.page-single-col .title .date { color: #000001; font-size: 14rem; font-weight: 900; }

.page-single-col .title h3 { color: #000001; font-size: 22rem; line-height: 1.8; }

.page-single-col .thumb { margin-bottom: 45px; }

.page-single-col .thumb img { margin-left: auto; margin-right: auto; }

.page-single-col .content { margin-bottom: 110px; }

.page-single-col .content p { font-size: 18rem; line-height: 1.8; }

.page-single-col .content p:not(:last-child) { margin-bottom: 35px; }

.page-single-col .content p a { color: #000001; text-decoration: underline; }

.page-single-col .content p a:hover { opacity: .5; }

.page-single-col .content .alignleft { float: left; margin: 0 20px 20px 0; }

.page-single-col .content .aligncenter { margin: 20px auto; }

.page-single-col .content .alignright { float: right; margin: 0 0 20px 20px; }

.page-single-col .page-links ul { display: flex; flex-wrap: wrap; justify-content: center; }

.page-single-col .page-links ul li a { color: #fff; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 50px; height: 50px; font-size: 20rem; font-weight: 900; margin-left: 5px; margin-right: 5px; background: #000001; }

.page-single-col .page-links ul li a:hover { background: #fb2e62; }

.page-single-col .page-links ul li a.back { width: 190px; letter-spacing: .1em; }

.page-service-col:not(:last-child) { margin-bottom: 80px; }

.page-service-col .main-title { text-align: center; padding-bottom: 20px; margin-bottom: 50px; border-bottom: 2px solid #000001; }

.page-service-col .main-title h3 { font-size: 28rem; font-weight: bold; letter-spacing: .2em; text-transform: none; }

.page-service-col .col { display: flex; flex-wrap: wrap; align-items: flex-start; }

.page-service-col .col .thumb { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 500px; }

.page-service-col .col .thumb .thumb-inner { border: 2px solid #000001; padding: 45px; }

.page-service-col .col .thumb .thumb-inner.research { padding: 0; }

.page-service-col .col .content { width: calc(100% - 500px); padding-top: 30px; padding-left: 50px; }

.page-service-col .col .content .title { margin-bottom: 30px; }

.page-service-col .col .content .title h4 { font-size: 18rem; }

.page-service-col .col .content .text p { font-size: 16rem; line-height: 1.8; }

.page-service-col .col .content .links { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 30px; margin-bottom: 50px; }

.page-service-col .col .content .links.half { margin-left: -15px; margin-right: -15px; }

.page-service-col .col .content .links.half li:first-child { padding-right: 15px; }

.page-service-col .col .content .links.half li:last-child { padding-left: 15px; }

.page-service-col .col .content .links.full li a { display: flex; flex-wrap: wrap; align-items: center; color: #fb2e62; }

.page-service-col .col .content .links.full li a i { font-size: 40rem; margin-right: 10px; }

.page-service-col .col .content .links.full li a span { font-size: 20rem; font-weight: bold; letter-spacing: .1em; padding-top: 3px; }

.page-service-col .col .content .links li a { display: inline-block; }

.page-service-col .col .content .links li a:hover { opacity: .5; }

.page-service-col .col .content .description { margin-top: 40px; }

.page-service-col .col .content .description img { margin-left: auto; margin-right: auto; }

.page-service-col .col .content .description p { font-size: 13rem; line-height: 1.8; }

.page-service-col .thumb-list { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 50px; margin-left: -17px; margin-right: -17px; }

.page-service-col .thumb-list li { width: calc(100% / 6); padding-left: 17px; padding-right: 17px; }

.page-service-col .thumb-list li img { border: 1px solid #000001; }

.page-company { padding-top: 80px; padding-bottom: 160px; }

.page-company-col:not(:last-child) { margin-bottom: 80px; }

.page-company-col .philosophy { position: relative; max-width: 710px; margin-left: auto; margin-right: auto; margin-bottom: 35px; }

.page-company-col .philosophy:before { display: block; content: ""; position: absolute; top: 0; left: 0; width: 50px; height: 70px; border-top: 1px solid #fb2e62; border-left: 1px solid #fb2e62; }

.page-company-col .philosophy:after { display: block; content: ""; position: absolute; bottom: 0; right: 0; width: 50px; height: 70px; border-right: 1px solid #fb2e62; border-bottom: 1px solid #fb2e62; }

.page-company-col .philosophy h3 { color: #fb2e62; font-size: 18rem; text-align: center; letter-spacing: .2em; }

.page-company-col .philosophy p { color: #fb2e62; font-size: 30rem; font-weight: bold; text-align: center; letter-spacing: .2em; padding-top: 30px; padding-bottom: 35px; }

.page-company-col .guidelines { max-width: 710px; margin-left: auto; margin-right: auto; margin-bottom: 60px; }

.page-company-col .guidelines h3 { font-size: 20rem; text-align: center; letter-spacing: .2em; margin-bottom: 20px; }

.page-company-col .guidelines ol { list-style: none; margin-left: 0; }

.page-company-col .guidelines ol li { display: flex; justify-content: center; align-items: center; font-size: 18rem; font-weight: bold; }

.page-company-col .guidelines ol li:not(:last-child) { margin-bottom: 12px; }

.page-company-col .guidelines ol li span { display: inline-block; padding-right: 20px; }

.page-company-col .message { padding: 45px 60px; }

.page-company-col .message .title { text-align: center; margin-bottom: 40px; }

.page-company-col .message .title h3 { font-size: 22rem; letter-spacing: .1em; }

.page-company-col .message .text .inner { position: relative; padding-left: 30px; padding-right: 30px; padding-top: 15px; padding-bottom: 15px; }

.page-company-col .message .text .inner:before { display: block; content: ""; position: absolute; top: 0; left: 0; width: 50px; height: 70px; border-top: 1px solid #000001; border-left: 1px solid #000001; }

.page-company-col .message .text .inner:after { display: block; content: ""; position: absolute; bottom: 0; right: 0; width: 50px; height: 70px; border-right: 1px solid #000001; border-bottom: 1px solid #000001; }

.page-company-col .message .text .inner p { max-width: 670px; line-height: 1.8; margin-left: auto; margin-right: auto; }

.page-company-col .message .text .signature { font-size: 18rem; text-align: center; letter-spacing: .05em; margin-top: 20px; }

.page-company-col .members .main-title { text-align: center; padding-bottom: 20px; margin-bottom: 50px; border-bottom: 2px solid #000001; }

.page-company-col .members .main-title h3 { font-size: 28rem; font-weight: bold; letter-spacing: .2em; text-transform: none; }

.page-company-col .members .col { display: flex; flex-wrap: wrap; }

.page-company-col .members .col:not(:last-child) { margin-bottom: 30px; }

.page-company-col .members .col .thumb { width: 500px; }

.page-company-col .members .col .content { width: calc(100% - 500px); padding-top: 15px; padding-left: 75px; }

.page-company-col .members .col .content .position { margin-bottom: 15px; }

.page-company-col .members .col .content .position p { font-size: 16rem; font-weight: bold; letter-spacing: .05em; }

.page-company-col .members .col .content .name { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 30px; }

.page-company-col .members .col .content .name h4 { font-size: 22rem; letter-spacing: .05em; }

.page-company-col .members .col .content .name span { color: #d5d5d5; font-size: 18rem; font-weight: bold; margin-left: 20px; letter-spacing: .1em; text-transform: none; }

.page-company-col .members .col .content .text p { font-size: 16rem; line-height: 1.8; }

.page-company-col .detail { display: flex; flex-wrap: wrap; margin-bottom: 50px; }

.page-company-col .detail .half { width: 50%; }

.page-company-col .detail .half dl { display: table; width: 100%; margin-bottom: 10px; }

.page-company-col .detail .half dl dt { display: table-cell; width: 120px; color: #fb2e62; font-size: 16rem; font-weight: bold; }

.page-company-col .detail .half dl dd { display: table-cell; width: calc(100% - 120px); }

.page-company-col .detail .half dl dd p { font-size: 16rem; line-height: 1.8; }

.page-company-col .map { margin-bottom: 50px; }

.page-company-col .map iframe { max-width: 100%; }

.page-company-col .history { padding: 45px 55px; }

.page-company-col .history h3 { font-size: 20rem; text-align: center; letter-spacing: .2em; margin-bottom: 20px; }

.page-company-col .history .col { display: flex; flex-wrap: wrap; }

.page-company-col .history .col dl { display: table; width: 50%; margin-bottom: 10px; }

.page-company-col .history .col dl dt { display: table-cell; font-size: 16rem; font-weight: bold; width: 110px; }

.page-company-col .history .col dl dd { display: table-cell; width: calc(100% - 110px); }

.page-company-col .history .col dl dd p { font-size: 16rem; line-height: 1.8; }

.page-contact { max-width: 800px; padding-top: 35px; padding-bottom: 120px; }

.page-contact-col .main-title { text-align: center; padding-bottom: 20px; margin-bottom: 50px; border-bottom: 2px solid #000001; }

.page-contact-col .main-title h3 { font-size: 28rem; font-weight: bold; letter-spacing: .2em; text-transform: none; }

.page-contact-col .note p { text-align: center; font-size: 16rem; line-height: 1.8; }

.page-contact-col .note p a { color: #000001; text-decoration: underline; }

.page-contact-col .note p a:hover { opacity: .5; }

.page-contact-col .require { color: #fb2e62; font-size: 16rem; line-height: 1.8; padding-top: 20px; }

.page-contact-col .contact-form { margin-top: 40px; }

.page-contact-col .contact-form dl { display: table; width: 100%; }

.page-contact-col .contact-form dl:not(:last-child) { margin-bottom: 20px; }

.page-contact-col .contact-form dl dt { display: table-cell; width: 180px; color: #fb2e62; font-size: 16rem; font-weight: bold; vertical-align: top; padding-top: 8px; }

.page-contact-col .contact-form dl dd { position: relative; display: table-cell; width: 620px; font-size: 16rem; }

.page-contact-col .contact-form dl dd input[type="text"] { width: 100%; height: 40px; padding: 5px 10px; border: 2px solid #000001; }

.page-contact-col .contact-form dl dd input[type="email"] { width: 100%; height: 40px; padding: 5px 10px; border: 2px solid #000001; }

.page-contact-col .contact-form dl dd select { width: 100%; height: 40px; padding: 5px 10px; border: 2px solid #000001; border-radius: 0; }

.page-contact-col .contact-form dl dd .select-wrap { position: relative; }

.page-contact-col .contact-form dl dd .select-wrap:after { position: absolute; top: 8px; right: 20px; display: block; content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; pointer-events: none; }

.page-contact-col .contact-form dl dd textarea { width: 100%; height: 210px; padding: 5px 10px; border: 2px solid #000001; }

.page-contact-col .contact-form dl dd p:not(:last-child) { margin-bottom: 20px; }

.page-contact-col .contact-form dl dd p small { font-size: 14rem; }

.page-contact-col .contact-form .accept { font-size: 16rem; text-align: center; }

.page-contact-col .contact-form .accept input[type="checkbox"] { margin-right: 5px; }

.page-contact-col .contact-form .accept a { color: #000001; text-decoration: underline; }

.page-contact-col .contact-form .accept a:hover { opacity: .5; }

.page-contact-col .contact-form .accept .mwform-checkbox-field-text { display: none; }

.page-contact-col .contact-form button[type="submit"] { position: relative; display: flex; align-items: center; justify-content: center; width: 190px; height: 50px; margin-left: auto; margin-right: auto; background: #000001; }

.page-contact-col .contact-form button[type="submit"]:before { display: block; content: ""; position: absolute; top: 0; left: 0; width: 0; height: 100%; background: #fb2e62; z-index: 1; transition: all ease .3s; }

.page-contact-col .contact-form button[type="submit"].confirm { margin-top: 55px; }

.page-contact-col .contact-form button[type="submit"].submit { margin-top: 35px; }

.page-contact-col .contact-form button[type="submit"].backtoform { background: #999; }

.page-contact-col .contact-form button[type="submit"]:hover { cursor: pointer; }

.page-contact-col .contact-form button[type="submit"]:hover:before { width: 100%; }

.page-contact-col .contact-form button[type="submit"] span { position: relative; color: #fff; font-size: 20rem; font-weight: 900; letter-spacing: .1em; z-index: 2; }

.page-confirm .contact-form dl dt { padding-top: 0; }

.page-confirm .contact-form dl dd { width: calc(800px - 180px); }

.page-confirm .contact-form dl dd small { display: none; }

.page-confirm .contact-form dl dd .select-wrap:after { display: none; }

.page-confirm .contact-form .accept { display: none; }

.page-thanks { max-width: 800px; padding-top: 35px; padding-bottom: 120px; }

.page-thanks-col .main-title { text-align: center; padding-bottom: 20px; margin-bottom: 50px; border-bottom: 2px solid #000001; }

.page-thanks-col .main-title h3 { font-size: 28rem; font-weight: bold; letter-spacing: .2em; text-transform: none; }

.page-thanks-col p { text-align: center; font-size: 16rem; line-height: 1.8; }

.page-thanks-col p a { color: #000001; text-decoration: underline; }

.page-thanks-col p a:hover { opacity: .5; }

.page-thanks-col .btn { margin-top: 50px; margin-left: auto; margin-right: auto; }

.page-privacy { max-width: 800px; padding-top: 35px; padding-bottom: 120px; }

.page-privacy .main-title { text-align: center; padding-bottom: 20px; margin-bottom: 50px; border-bottom: 2px solid #000001; }

.page-privacy .main-title h3 { font-size: 28rem; font-weight: bold; letter-spacing: .2em; text-transform: none; }

.page-privacy .page-privacy-col:not(:last-child) { margin-bottom: 35px; }

.page-privacy .page-privacy-col h4 { font-size: 20rem; margin-bottom: 10px; }

.page-privacy .page-privacy-col p { font-size: 16rem; line-height: 1.8; }

.page-privacy .page-privacy-col p:not(:last-child) { margin-bottom: 30px; }

.page-privacy .page-privacy-col ul { font-size: 16rem; line-height: 1.8; }

.page-privacy .page-privacy-col-indent { padding: 0 10px 5px 2.5em; font-size: 16rem; line-height: 1.8; }

.page-brand { padding-top: 80px; padding-bottom: 160px; }

.page-brand-col .col { color: #000001; }

.page-brand-col .col:hover { opacity: .5; }

.page-brand-col .col:not(:last-child) { margin-bottom: 40px; }

.page-brand-col .col:last-child { margin-bottom: 110px; }

.page-brand-col .col .content .title { display: flex; align-items: center; }

.page-brand-col .col .content .title i { color: #fb2e62; font-size: 22rem; margin: -3px 0 0 10px; }

.page-recruit-col .main-title { text-align: center; padding-bottom: 20px; margin-bottom: 50px; border-bottom: 2px solid #000001; }

.page-recruit-col .main-title h3 { font-size: 28rem; font-weight: bold; letter-spacing: .2em; text-transform: none; }

.page-recruit-col .col { position: relative; display: block; padding: 35px 105px 35px 65px; margin-bottom: 20px; background: #f6f1f0; }

.page-recruit-col .col:last-child { margin-bottom: 100px; }

.page-recruit-col .col:after { position: absolute; top: 50%; right: 65px; transform: translateY(-50%); display: block; content: ""; background: url(../images/arrow-recruit.png) 0 0 no-repeat; width: 18px; height: 34px; background-size: 100%; }

.page-recruit-col .col h4, .page-recruit-col .col p, .page-recruit-col .col:before { transition: all ease .3s; }

.page-recruit-col .col:hover h4, .page-recruit-col .col:hover p, .page-recruit-col .col:hover:before { opacity: .5; }

.page-recruit-col .col h4 { display: block; color: #fb2e62; font-size: 22rem; margin-bottom: 10px; }

.page-recruit-col .col p { color: #000001; font-size: 16rem; }

.page-recruit-col .employee-list { display: flex; flex-wrap: wrap; }

.page-recruit-col .employee-list li { width: 340px; flex: 0 1 339px; }

.page-recruit-col .employee-list li:not(:last-child) { margin-right: 40px; }

.page-recruit-col .employee-list li a { display: block; }

.page-recruit-col .employee-list li a:hover { opacity: .5; }

.page-recruit-col .employee-list li a .thumb { margin-bottom: 25px; }

.page-recruit-col .employee-list li a .title h4 { color: #000001; font-size: 22rem; letter-spacing: .05em; }

.page-recruit-col .employee-list li a .title span { color: #d5d5d5; font-size: 16rem; font-weight: bold; letter-spacing: .1em; text-transform: none; }

.page-recruit-col .employee-list li a .title p { color: #000001; font-size: 16rem; font-weight: bold; margin-top: 10px; }

.page-employee { max-width: 800px; padding-top: 80px; padding-bottom: 160px; margin-left: auto; margin-right: auto; }

.page-employee-top { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 60px; }

.page-employee-top .thumb { width: 340px; flex: 0 1 339px; }

.page-employee-top .text { width: calc(100% - 340px); padding-left: 60px; }

.page-employee-top .text .title { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 20px; }

.page-employee-top .text .title h4 { font-size: 22rem; letter-spacing: .05em; margin-left: 10px; margin-right: 35px; }

.page-employee-top .text .title span { color: #d5d5d5; font-size: 18rem; font-weight: bold; letter-spacing: .1em; text-transform: none; }

.page-employee-top .text .position span { font-size: 18rem; letter-spacing: .05em; }

.page-employee-col:not(:last-child) { margin-bottom: 80px; }

.page-employee-col .main-title { text-align: center; padding-bottom: 20px; margin-bottom: 50px; border-bottom: 2px solid #000001; }

.page-employee-col .main-title h3 { font-size: 28rem; font-weight: bold; letter-spacing: .2em; text-transform: none; }

.page-employee-col .col { margin-bottom: 80px; }

.page-employee-col .col:last-child { margin-bottom: 100px; }

.page-employee-col .col .thumb { margin-bottom: 25px; }

.page-employee-col .col .text { padding: 45px; background: #f6f1f0; }

.page-employee-col .col .text p { font-size: 16rem; line-height: 1.9; }

.page-employee-col .page-links ul { display: flex; flex-wrap: wrap; justify-content: center; }

.page-employee-col .page-links ul li .back { color: #fff; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; height: 50px; font-size: 20rem; font-weight: 900; margin-left: 5px; margin-right: 5px; background: #000001; width: 190px; letter-spacing: .1em; }

.global-menu-sp { display: none; }

@media screen and (max-width: 1100px) { body { padding-top: 70px; }
  .pc { display: none !important; }
  .sp { display: block !important; }
  .container { width: 100%; }
  .header { height: 70px; }
  .header-col .sitename { padding-left: 30px; }
  .header-col .header-toggle { display: flex; flex-wrap: wrap; justify-content: flex-end; width: calc(100% - 120px); }
  .header-col .header-toggle .col { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 70px; height: 70px; }
  .header-col .header-toggle .header-tel { color: #fff; font-size: 28rem; }
  .header-col .header-toggle .header-tel:hover { opacity: .5; }
  .header-col .header-toggle .menu-toggle { background: #fb2e62; }
  .header-col .header-toggle .menu-toggle i { color: #fff; font-size: 28rem; }
  .header-col .header-toggle .menu-toggle i.close { display: none; }
  .header-col .header-toggle .menu-toggle.active i.open { display: none; }
  .header-col .header-toggle .menu-toggle.active i.close { display: block; }
  .global-menu-sp { position: fixed; top: 70px; left: 0; width: 100%; display: none; background: #000001; z-index: 999; }
  .global-menu-sp.active { display: block; }
  .global-menu-sp ul li { border-bottom: 1px solid #fff; }
  .global-menu-sp ul li a { color: #fff; display: flex; flex-wrap: wrap; align-items: center; font-weight: bold; padding: 30px; }
  .global-menu-sp ul li a span { font-size: 26rem; letter-spacing: .1em; margin-right: 30px; }
  .global-menu-sp ul li a p { font-size: 16rem; font-weight: bold; letter-spacing: .2em; }
  .home-service { padding-left: 30px; padding-right: 30px; }
  .home-news-pickup { padding-left: 30px; padding-right: 30px; }
  .home-news-pickup .col { width: 100% !important; }
  .home-news-pickup .col:first-child { margin-right: 0; margin-bottom: 30px; }
  .home-news-list { padding-left: 30px; padding-right: 30px; }
  .home-news-list dl dt { width: 100%; margin-bottom: 5px; }
  .home-news-list dl dd { width: 100%; }
  .home-service-cols .col { padding-left: 80px; padding-right: 80px; margin-bottom: 30px; }
  .home-service-cols .col .content { width: 100%; padding-right: 0; }
  .home-service-cols .col .content .text { text-align: center; }
  .home-service-cols .col .content .text p { font-size: 16rem; }
  .home-service-cols .col .thumb { width: 100%; }
  .home-service-cols .col .links { width: 100%; display: flex !important; flex-wrap: wrap; }
  .home-service-cols .col .links.links-pc { display: none !important; }
  .home-service-cols .col .links.half li { width: 49%; text-align: center; }
  .home-service-cols .col .links.full { margin-top: 20px; }
  .home-service-cols .col .links.full li a { display: flex; flex-wrap: wrap; align-items: center; color: #fb2e62; }
  .home-service-cols .col .links.full li a i { font-size: 40rem; margin-right: 10px; }
  .home-service-cols .col .links.full li a span { font-size: 20rem; font-weight: bold; letter-spacing: .1em; padding-top: 3px; }
  .home-service-cols .col .links li a { display: inline-block; }
  .home-service-cols .col .links li a:hover { opacity: .5; }
  .home-service-research .content { width: 50%; padding: 30px 50px; }
  .home-service-research .thumb { width: 50%; }
  .home-company { padding: 50px 30px; }
  .home-company .thumb { width: 100%; order: 2; }
  .home-company .content { width: 100%; order: 1; padding-top: 0; padding-left: 0; }
  .home-company .content .title { text-align: center; margin-bottom: 20px; }
  .home-company .content .title h3 { padding-top: 0; }
  .home-company .content .text { margin-bottom: 20px; }
  .home-company .content .text p { text-align: center; }
  .home-company .content .btn { display: none !important; }
  .home-company .btn { display: flex !important; order: 3; margin-top: 35px; margin-left: auto; margin-right: auto; }
  .home-brand { padding-left: 30px; padding-right: 30px; }
  .home-recruit { padding: 0 30px 50px; }
  .home-recruit .thumb { width: 100%; order: 2; }
  .home-recruit .content { width: 100%; order: 1; padding-top: 0; padding-right: 0; }
  .home-recruit .content .title { text-align: center; margin-bottom: 20px; }
  .home-recruit .content .title h3 { padding-top: 0; }
  .home-recruit .content .text { margin-bottom: 20px; }
  .home-recruit .content .text p { text-align: center; }
  .home-recruit .content .btn { display: none !important; }
  .home-recruit .btn { display: flex !important; order: 3; margin-top: 35px; margin-left: auto; margin-right: auto; }
  .common-contact-col .title { text-align: center; width: 100%; padding-left: 0; padding-right: 0; }
  .common-contact-col .content { width: 100%; margin-top: 20px; }
  .common-contact-col .content a { margin-left: auto; margin-right: auto; }
  .footer { padding-top: 50px; padding-bottom: 40px; }
  .footer .title { margin-bottom: 30px; }
  .footer .links { margin-bottom: 40px; }
  .footer .menu ul { border-top: 1px solid #fff; border-left: 1px solid #fff; }
  .footer .menu ul li { width: 50%; padding: 0; border-right: 1px solid #fff; border-bottom: 1px solid #fff; }
  .footer .menu ul li a { display: block; font-size: 16rem; padding: 20px; text-align: center; }
  .breadcrumb { padding-left: 30px; padding-right: 30px; }
  .page-content { padding-left: 30px; padding-right: 30px; }
  .page-news-col .thumb { width: 100%; }
  .page-news-col .content { width: 100%; padding-top: 30px; padding-left: 0; }
  .page-service-col .col .thumb { width: 100%; }
  .page-service-col .col .content { width: 100%; padding-top: 30px; padding-left: 0; }
  .page-service-col .thumb-list li { width: 33.3%; margin-bottom: 34px; }
  .page-company-col .members .col:not(:last-child) { margin-bottom: 60px; }
  .page-company-col .members .col .thumb { width: 100%; }
  .page-company-col .members .col .content { width: 100%; padding-top: 20px; padding-left: 0; }
  .page-company-col .members .col .content .name { margin-bottom: 15px; }
  .page-company-col .detail .half { width: 100%; }
  .page-company-col .history .col dl { width: 100%; }
  .page-contact-col .contact-form dl { display: block; }
  .page-contact-col .contact-form dl dt { display: block; width: 100%; padding-top: 0; margin-bottom: 5px; }
  .page-contact-col .contact-form dl dd { display: block; width: 100%; }
  .page-recruit-col .employee-list li { width: 31%; flex: 0 1 31%; }
  .page-recruit-col .employee-list li:not(:last-child) { margin-right: 3.4%; }
  .page-employee-top .thumb { width: 50%; flex: 1 1 49.9%; padding-right: 10px; }
  .page-employee-top .text { width: 50%; flex: 1 1 49.9%; padding-left: 10px; } }

@media screen and (max-width: 468px) { .global-menu-sp ul li a span { font-size: 20rem; }
  .kv { height: 300px; }
  .home-news-pickup .col .thumb { width: 100%; margin-right: 0; margin-bottom: 20px; }
  .home-news-pickup .col .content { width: 100% !important; }
  .home-news-pickup .col .content .date { margin-bottom: 5px; }
  .home-service-cols .col { padding: 30px 0; }
  .home-service-cols .col .content { padding-left: 30px; padding-right: 30px; }
  .home-service-cols .col .thumb { padding-left: 30px; padding-right: 30px; }
  .home-service-cols .col .thumb img { margin-left: auto; margin-right: auto; }
  .home-service-cols .col .links { padding-left: 15px; padding-right: 15px; }
  .home-service-cols .col .links.half { margin-left: 0; margin-right: 0; }
  .home-service-cols .col .links.half li { text-align: center; padding: 10px 0 !important; }
  .home-service-cols .col .links.half li a { display: inline-block; }
  .home-service-cols .col .links.half li a img { height: 40px; margin-left: auto; margin-right: auto; }
  .home-service-cols .col .links.full li a i { font-size: 32rem; }
  .home-service-cols .col .links.full li a span { font-size: 18rem; }
  .home-service-research .content { width: 100%; padding: 30px; }
  .home-service-research .content .title { margin-bottom: 10px; }
  .home-service-research .content .title h4 { font-size: 22rem; }
  .home-service-research .thumb { width: 100%; }
  .page-content .main-title h3 { font-size: 22rem; }
  .page-service-col .col .thumb .thumb-inner { padding: 20px; }
  .page-service-col .thumb-list li { width: 50%; }
  .page-company-col .philosophy { padding-left: 20px; padding-right: 20px; }
  .page-company-col .philosophy:before, .page-company-col .philosophy:after { height: 50px; }
  .page-company-col .philosophy p { font-size: 20rem; }
  .page-company-col .message { padding: 30px 15px; }
  .page-company-col .message .text .inner { padding-left: 15px; padding-right: 15px; }
  .page-company-col .message .text .inner p { font-size: 13rem; line-height: 2; }
  .page-company-col .guidelines ol li { font-size: 15rem; }
  .page-company-col .detail .half dl { display: block; width: 100%; }
  .page-company-col .detail .half dl dt { display: block; width: 100%; }
  .page-company-col .detail .half dl dd { display: block; width: 100%; }
  .page-company-col .history { padding: 30px; }
  .page-company-col .history .col dl { display: block; width: 100%; }
  .page-company-col .history .col dl dt { display: block; width: 100%; }
  .page-company-col .history .col dl dd { display: block; width: 100%; }
  .page-thanks-col p br { display: none; }
  .common-contact { padding-left: 30px; padding-right: 30px; }
  .common-contact-col .content { padding-left: 0; padding-right: 0; }
  .common-contact-col .content .btn { width: 100%; padding-left: 20px; padding-right: 20px; }
  .btn span { font-size: 16rem; }
  .page-single-col .page-links ul li { width: 100%; }
  .page-single-col .page-links ul li:not(:last-child) { margin-bottom: 15px; }
  .page-single-col .page-links ul li a { width: 100%; }
  .page-single-col .page-links ul li a.back { width: 100%; }
  .page-recruit-col .col { padding: 25px 40px 25px 25px; }
  .page-recruit-col .col h4 { font-size: 18rem; margin-bottom: 5px; }
  .page-recruit-col .col:after { right: 20px; width: 12px; height: 22px; }
  .page-recruit-col .employee-list li { width: 100%; flex: 0 1 100%; }
  .page-recruit-col .employee-list li:not(:last-child) { margin-right: 0; margin-bottom: 40px; }
  .page-recruit-col .employee-list li a .thumb { margin-bottom: 15px; }
  .page-employee-top .thumb { width: 100%; flex: 1 1 100%; padding: 0 0 20px 0; }
  .page-employee-top .text { width: 100%; flex: 1 1 100%; padding: 0; }
  .page-employee-col .col .text { padding: 20px; }
  .page-employee-col .col .text p { font-size: 14rem; } }

@media screen and (max-width: 348px) { .home-service-cols .col .links.half { padding-left: 2px; padding-right: 2px; }
  .page-content .main-title { padding-bottom: 10px !important; }
  .page-content .main-title h3 { font-size: 18rem !important; }
  .page-company-col .guidelines h3 { font-size: 18rem; }
  .page-company-col .message .title h3 { font-size: 18rem; }
  .page-company-col .message .text .signature { font-size: 16rem; }
  .page-company-col .members .col .content .name span { display: block; width: 100%; font-size: 16rem; margin-left: 0; }
  .page-privacy .page-privacy-col h4 { font-size: 18rem; }
  .page-contact-col .contact-form dl dd input { font-size: 14rem; }
  .page-recruit-col .col { padding: 15px; }
  .page-recruit-col .col h4 { font-size: 18rem; margin-bottom: 5px; } }

/* IE */
@media all and (-ms-high-contrast: none) { .home-news-list dl dd { padding-top: 3px; }
  .common-contact-col .content .btn span { padding-top: 7px; }
  .breadcrumb ul li:not(:first-child) { margin-top: 2px; }
  .page-contact-col .contact-form dl dd input { padding-top: 8px !important; }
  .page-service-col .col .thumb .thumb-inner { width: 100%; }
  .page-brand-col .col .content .title i { margin-top: -10px; }
  .page-employee-top .text .title img { margin-top: -7px; } }

@media screen and (min-width: 1100px) { /* Safari */
  _::-webkit-full-page-media, _:future, :root .header-col .global-menu { width: calc(100% - 145px); }
  _::-webkit-full-page-media, _:future, :root .home-news-pickup .col { width: calc(50% - 31px); }
  _::-webkit-full-page-media, _:future, :root .home-news-pickup .col.full { width: 100%; }
  _::-webkit-full-page-media, _:future, :root .home-news-pickup .col .content { width: calc(100% - (192px + 39px)); }
  _::-webkit-full-page-media, _:future, :root .home-news-pickup .col.full .content { width: calc(100% - (381px + 39px)); }
  _::-webkit-full-page-media, _:future, :root .home-service-cols .col .thumb { width: calc(100% - 401px); }
  _::-webkit-full-page-media, _:future, :root .home-company .content { width: calc(100% - 701px); }
  _::-webkit-full-page-media, _:future, :root .home-recruit .thumb { width: calc(100% - 402px); }
  _::-webkit-full-page-media, _:future, :root .page-news-col .content { width: calc(100% - 401px); } }

@media screen and (max-width: 1100px) { /* Safari */
  _::-webkit-full-page-media, _:future, :root .header-col .global-menu { width: calc(100% - 146px); }
  _::-webkit-full-page-media, _:future, :root .header-col .header-toggle { width: calc(100% - 121px); }
  _::-webkit-full-page-media, _:future, :root .home-news-pickup .col .content { width: calc(100% - (193px + 39px)); }
  _::-webkit-full-page-media, _:future, :root .home-news-pickup .col.full .thumb { width: 100%; margin-right: 0; margin-bottom: 20px; }
  _::-webkit-full-page-media, _:future, :root .home-news-pickup .col.full .thumb img { margin-left: auto; margin-right: auto; }
  _::-webkit-full-page-media, _:future, :root .home-news-pickup .col.full .content { width: 100%; }
  _::-webkit-full-page-media, _:future, :root .footer .menu ul li { width: 49.8%; } }

/* サービスリンク追加 */
.footer .service {
  margin-bottom: 25px;
  display: flex;
  justify-content: center;
}

.footer .service > li {
  padding: 0 15px;
  flex: none;
}

.footer .service > li:not(:first-child) {
  border-left: solid 1px white;
}

.footer .service > li > a {
  display: block;
  color: white;
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
}

.footer .menu {
  margin-bottom: 30px;
}

.page-service-col .col .content .links {
  justify-content: flex-start;
  margin-top: 20px;
}

.page-service-col .col .content .links.half {
  margin-left: -10px;
  margin-right: 0;
}

.page-service-col .col .content .links.half.clr > li {
  padding: 10px 10px 0;
}

.home-service-cols .col .content .links.half {
  margin-left: -110px;
  margin-right: -110px;
}

.home-service-cols .col .content .links {
  flex-wrap: nowrap;
}

@media screen and (max-width: 1100px) {
  .page-service-col .col .content .links.half {
      justify-content: center;
      margin-left: 0;
  }
  .home-service-cols .col .links {
      flex-wrap: wrap;
      justify-content: center;
  }
  .home-service-cols .col .links.half > li {
      width: auto;
      margin: 10px 10px 0;
  }
}

@media screen and (max-width: 468px) {
  .home-service-cols .col .links {
      padding-left: 0;
      padding-right: 0;
  }
  .home-service-cols .col .links.half > li {
      padding: 5px 0 !important;
      margin-top: 0;
  }
}
