@charset "UTF-8";
.l-footer__inner, .p-top--service__inner { max-width: 1120px; margin: auto; }
@media only screen and (min-width: 1025px) and (max-width: 1120px) { .l-footer__inner, .p-top--service__inner { width: 96%; } }
@media print { .l-footer__inner, .p-top--service__inner { width: 96%; } }
.ie8 .l-footer__inner, .ie8 .p-top--service__inner { width: 96%; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .l-footer__inner, .p-top--service__inner { width: 92%; } }
@media only screen and (max-width: 767px) { .l-footer__inner, .p-top--service__inner { width: 89.3%; } }

.c-pagetitle__inner, .p-top--message__inner, .p-company--company, .p-company--other__txt, .p-contact--contact, .p-privacy--privacy { max-width: 960px; margin: auto; }

html { overflow-y: scroll; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, figure, fieldset, input, textarea, p, blockquote, th, td { margin: 0; padding: 0; }

address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; }

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

caption, th { text-align: left; }

q:before, q:after { content: ''; }

object, embed { vertical-align: top; }

hr, legend { display: none; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; }

img, abbr, acronym, fieldset { border: 0; }

li { list-style-type: none; }

sup { vertical-align: super; font-size: 0.5em; }

img { vertical-align: top; }

i { font-style: normal; }

/* -----------------------------------------------------------
	基本設定、リンクカラーなど
----------------------------------------------------------- */
html { line-height: 1.444; }
@media only screen and (max-width: 767px) { html { line-height: 1.571; } }

body { color: #383838; -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 1.125rem; overflow: hidden; }
@media only screen and (max-width: 767px) { body { font-size: 0.875rem; } }
body a { color: #383838; }
body a:link, body a:visited, body a:active, body a:hover, body a.touchstart { text-decoration: none; }
body img { max-width: 100%; -webkit-touch-callout: none; image-rendering: -webkit-optimize-contrast; }

body, pre, input, textarea, select { font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }

input, select, textarea { font-size: 100%; }

@media only screen and (min-width: 1025px) { body .view_tab-sp, body .view_tab { display: none !important; } }
@media print { body .view_tab-sp, body .view_tab { display: none !important; } }
.ie8 body .view_tab-sp, .ie8 body .view_tab { display: none !important; }
@media only screen and (min-width: 768px) { body .view_sp { display: none !important; } }
@media print { body .view_sp { display: none !important; } }
.ie8 body .view_sp { display: none !important; }
@media only screen and (max-width: 1024px) { body .view_pc { display: none !important; } }
@media only screen and (max-width: 767px) { body .view_pc-tab, body .view_tab { display: none !important; } }

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

.visually-hidden { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); padding: 0 !important; border: 0 !important; height: 1px !important; width: 1px !important; overflow: hidden; }

/*Animate */
/* -----------------------------------------------------------
	header
----------------------------------------------------------- */
.l-header { position: absolute; top: 0; left: 0; z-index: 2; width: 100%; }
.l-header__wrap { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; width: 100%; }
.l-header__inner { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; width: 100%; }
.l-header__inner-logo { max-width: 140px; width: 26.7%; }
.l-header__inner-logo a { display: inline-block; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
.l-header__inner-logo a:hover { opacity: 0.7; }
.l-header__inner-gnav { width: 73.3%; }
@media only screen and (max-width: 1024px) { .l-header__inner-gnav { display: none; height: 0; overflow: hidden; }
  .l-header__inner-gnav.open { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: center; justify-content: center; -webkit-align-items: flex-start; align-items: flex-start; background: rgba(0, 138, 205, 0.95); position: fixed; top: 0; left: 0; width: 100%; z-index: 900; height: 100%; padding: 9.6% 10% 0; margin-top: 0; }
  .l-header__inner-gnav.open ul { text-align: center; width: 100%; }
  .l-header__inner-gnav.open ul li { display: block; margin: 4em auto; } }
@media only screen and (max-width: 1024px) and (max-width: 767px) { .l-header__inner-gnav.open ul li { margin: 1.25em auto; } }
@media only screen and (max-width: 1024px) { body#top .l-header__inner-gnav.open ul li.l-header__gnavlist-item--top a, body#company .l-header__inner-gnav.open ul li.l-header__gnavlist-item--company a, body#contact .l-header__inner-gnav.open ul li.l-header__gnavlist-item--contact a, body#privacy .l-header__inner-gnav.open ul li.l-header__gnavlist-item--privacy a { color: #fff; opacity: 0.7; }
  body#top .l-header__inner-gnav.open ul li.l-header__gnavlist-item--top a:after, body#company .l-header__inner-gnav.open ul li.l-header__gnavlist-item--company a:after, body#contact .l-header__inner-gnav.open ul li.l-header__gnavlist-item--contact a:after, body#privacy .l-header__inner-gnav.open ul li.l-header__gnavlist-item--privacy a:after { opacity: 0; }
  .l-header__inner-gnav.open ul li a { color: #fff; font-weight: bold; } }
.l-header__inner-gnav-list { text-align: right; padding: 30px; }
.l-header__inner-gnav-list-item { display: inline-block; }
.l-header__inner-gnav-list-item:not(:last-child) { padding-right: 1.5em; }
body#company .l-header__inner-gnav-list-item.l-header__gnavlist-item--company a, body#contact .l-header__inner-gnav-list-item.l-header__gnavlist-item--contact a, body#privacy .l-header__inner-gnav-list-item.l-header__gnavlist-item--privacy a { color: #008acd; pointer-events: none; }
body#company .l-header__inner-gnav-list-item.l-header__gnavlist-item--company a:after, body#contact .l-header__inner-gnav-list-item.l-header__gnavlist-item--contact a:after, body#privacy .l-header__inner-gnav-list-item.l-header__gnavlist-item--privacy a:after { opacity: 1; }
.l-header__inner-gnav-list-item a { position: relative; color: #383838; font-size: 1rem; letter-spacing: 0.08em; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .l-header__inner-gnav-list-item a { font-size: 1.125rem; } }
.l-header__inner-gnav-list-item a:after { content: ""; background: #008acd; width: 8px; height: 8px; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; position: absolute; bottom: -10px; left: 0; right: 0; margin: 0 auto; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; opacity: 0; }
.l-header__inner-gnav-list-item a:hover { color: #008acd; }
.l-header__inner-gnav-list-item a:hover:after { opacity: 1; }
.l-header__button-menu { top: 0; right: 20px; transition: all .4s; position: relative; width: 35px; height: 60px; cursor: pointer; z-index: 1000; margin-left: auto; cursor: pointer; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .l-header__button-menu { right: 30px; } }
.l-header__button-menu:after { content: "Menu"; font-weight: bold; font-family: "Josefin Sans", sans-serif; font-size: 0.75rem; position: absolute; text-align: center; right: 0; left: 0; bottom: 0; margin: 0 auto; color: #383838; }
.l-header__button-menu span { display: inline-block; font-size: 1.4rem; transition: all .4s; position: absolute; right: 0; left: 0; margin: 0 auto; width: 32px; height: 2px; background: #383838; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
.l-header__button-menu span:nth-of-type(1) { top: 20px; }
.l-header__button-menu span:nth-of-type(2) { top: 30px; }
.l-header__button-menu.btn-open { background: none; }
@media only screen and (max-width: 1024px) { .l-header__button-menu.btn-open { top: 0; position: fixed !important; }
  .l-header__button-menu.btn-open:after { content: "Close"; color: #fff; } }
@media only screen and (max-width: 767px) { .l-header__button-menu.btn-open { top: 0; } }
.l-header__button-menu.btn-open span { background: #fff; }
.l-header__button-menu.btn-open span:nth-of-type(1) { top: 30px; transform: rotate(45deg); }
.l-header__button-menu.btn-open span:nth-of-type(2) { transform: rotate(-45deg); }

/* -----------------------------------------------------------
	footer
----------------------------------------------------------- */
.l-footer { border-top: 1px solid #dedede; margin-top: 180px; }
@media only screen and (max-width: 767px) { .l-footer { margin-top: 100px; } }
@media only screen and (min-width: 768px) { .l-footer__inner { padding: 30px 0; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; } }
@media print { .l-footer__inner { padding: 30px 0; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; } }
.ie8 .l-footer__inner { padding: 30px 0; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
@media only screen and (max-width: 767px) { .l-footer__inner { padding: 20px 0; } }
@media only screen and (min-width: 768px) { .l-footer__inner-gnav { order: 2; } }
@media print { .l-footer__inner-gnav { order: 2; } }
.ie8 .l-footer__inner-gnav { order: 2; }
.l-footer__inner-gnav-list { text-align: right; }
@media only screen and (max-width: 767px) { .l-footer__inner-gnav-list { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; text-align: left; } }
.l-footer__inner-gnav-list-item { display: inline-block; }
@media only screen and (min-width: 768px) { .l-footer__inner-gnav-list-item:not(:last-child) { padding-right: 1em; } }
@media print { .l-footer__inner-gnav-list-item:not(:last-child) { padding-right: 1em; } }
.ie8 .l-footer__inner-gnav-list-item:not(:last-child) { padding-right: 1em; }
@media only screen and (max-width: 767px) { .l-footer__inner-gnav-list-item { width: 50%; padding: 0.25em 0; } }
.l-footer__inner-gnav-list-item a { font-size: 0.875rem; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
.l-footer__inner-gnav-list-item a:hover { color: #008acd; }
.l-footer__inner-copylight { font-family: "Josefin Sans", sans-serif; font-size: 0.75rem; font-weight: 300; }
@media only screen and (min-width: 768px) { .l-footer__inner-copylight { order: 1; } }
@media print { .l-footer__inner-copylight { order: 1; } }
.ie8 .l-footer__inner-copylight { order: 1; }
@media only screen and (max-width: 767px) { .l-footer__inner-copylight { padding-top: 40px; } }

/* -----------------------------------------------------------
	#page
----------------------------------------------------------- */
#page { overflow: hidden; position: relative; background: url(../images/common/deco_circle.png) right -466px bottom -800px no-repeat; background-size: 1331px 1666px; }
@media only screen and (max-width: 767px) { #page { background: url(../images/common/deco_circle.png) right -333px bottom -400px no-repeat; background-size: 798px 1000px; } }

/* -----------------------------------------------------------
	ボタンパーツ
----------------------------------------------------------- */
/* -----------------------------------------------------------
	タイトルパーツ
----------------------------------------------------------- */
.c-pagetitle { position: relative; }
.c-pagetitle:before { content: ""; background: url(../images/common/deco_circle.png) 0 0 no-repeat; background-size: contain; width: 1331px; height: 1666px; position: absolute; right: -466px; top: -800px; z-index: -1; }
@media only screen and (max-width: 767px) { .c-pagetitle:before { width: 798px; height: 1000px; right: -333px; top: -500px; } }
.c-pagetitle__inner { padding: 230px 0 100px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .c-pagetitle__inner { width: 92%; } }
@media only screen and (max-width: 767px) { .c-pagetitle__inner { width: 89.3%; padding: 160px 0 80px; } }
.c-pagetitle__inner-title { color: #008acd; font-size: 1.25rem; letter-spacing: 0.1em; }
@media only screen and (max-width: 767px) { .c-pagetitle__inner-title { font-size: 1.125rem; } }
.c-pagetitle__inner-title span { display: block; font-family: "Josefin Sans", sans-serif; font-size: 5.625rem; line-height: 1; font-weight: 600; letter-spacing: 0; }
@media only screen and (max-width: 767px) { .c-pagetitle__inner-title span { font-size: 3.125rem; } }
.c-pagetitle__inner-intro { margin-top: 40px; letter-spacing: 0.04em; }
@media only screen and (max-width: 767px) { .c-pagetitle__inner-intro { margin-top: 16px; } }

.c-title { color: #008acd; font-size: 1.25rem; }
@media only screen and (max-width: 767px) { .c-title { font-size: 0.9375rem; } }
.c-title span { display: block; font-family: "Josefin Sans", sans-serif; font-size: 4.5rem; line-height: 1; font-weight: 500; }
@media only screen and (max-width: 767px) { .c-title span { font-size: 2.8125rem; } }

/* -----------------------------------------------------------
	アニメーションパーツ
----------------------------------------------------------- */
.anime-fade-in { opacity: 0; }
.anime-fade-in.js-inview-in { -webkit-animation-duration: 2s; animation-duration: 2s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-name: fade-in; animation-name: fade-in; transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1); }

@-webkit-keyframes fade-in { from { opacity: 0; }
  to { opacity: 1; } }
@keyframes fade-in { from { opacity: 0; }
  to { opacity: 1; } }
.fade-in-stairs > * { opacity: 0; }
.fade-in-stairs.js-inview-in > * { -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-name: fade-in; animation-name: fade-in; transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1); }
.fade-in-stairs.js-inview-in > *:nth-child(2) { animation-delay: .2s; }
.fade-in-stairs.js-inview-in > *:nth-child(3) { animation-delay: .4s; }
.fade-in-stairs.js-inview-in > *:nth-child(4) { animation-delay: .6s; }
.fade-in-stairs.js-inview-in > *:nth-child(5) { animation-delay: .8s; }
.fade-in-stairs.js-inview-in > *:nth-child(6) { animation-delay: 1s; }
.fade-in-stairs.js-inview-in > *:nth-child(7) { animation-delay: 1.2s; }
.fade-in-stairs.js-inview-in > *:nth-child(8) { animation-delay: 1.4s; }
.fade-in-stairs.js-inview-in > *:nth-child(9) { animation-delay: 1.6s; }
.fade-in-stairs.js-inview-in > *:nth-child(10) { animation-delay: 1.8s; }
.fade-in-stairs.js-inview-in > *:nth-child(11) { animation-delay: 2s; }
.fade-in-stairs.js-inview-in > *:nth-child(12) { animation-delay: 2.2s; }
.fade-in-stairs.js-inview-in > *:nth-child(13) { animation-delay: 2.4s; }
.fade-in-stairs.js-inview-in > *:nth-child(14) { animation-delay: 2.6s; }
.fade-in-stairs.js-inview-in > *:nth-child(15) { animation-delay: 2.8s; }
.fade-in-stairs.js-inview-in > *:nth-child(16) { animation-delay: 3s; }
.fade-in-stairs.js-inview-in > *:nth-child(17) { animation-delay: 3.2s; }
.fade-in-stairs.js-inview-in > *:nth-child(18) { animation-delay: 3.4s; }
.fade-in-stairs.js-inview-in > *:nth-child(19) { animation-delay: 3.6s; }
.fade-in-stairs.js-inview-in > *:nth-child(20) { animation-delay: 3.8s; }
.fade-in-stairs.js-inview-in > *:nth-child(21) { animation-delay: 4s; }
.fade-in-stairs.js-inview-in > *:nth-child(22) { animation-delay: 4.2s; }
.fade-in-stairs.js-inview-in > *:nth-child(23) { animation-delay: 4.4s; }
.fade-in-stairs.js-inview-in > *:nth-child(24) { animation-delay: 4.6s; }
.fade-in-stairs.js-inview-in > *:nth-child(25) { animation-delay: 4.8s; }
.fade-in-stairs.js-inview-in > *:nth-child(26) { animation-delay: 5s; }
.fade-in-stairs.js-inview-in > *:nth-child(27) { animation-delay: 5.2s; }
.fade-in-stairs.js-inview-in > *:nth-child(28) { animation-delay: 5.4s; }
.fade-in-stairs.js-inview-in > *:nth-child(29) { animation-delay: 5.6s; }
.fade-in-stairs.js-inview-in > *:nth-child(30) { animation-delay: 5.8s; }

/* -----------------------------------------------------------
	.p-top--mainvisual
----------------------------------------------------------- */
body#top .l-header__inner-logo { max-width: 200px; }
body#top .l-header__inner-gnav-list-item a { color: #fff; font-weight: bold; }
body#top .l-header__button-menu:after { color: #fff; }
body#top .l-header__button-menu span { background: #fff; }

/* -----------------------------------------------------------
	.p-top--mainvisual
----------------------------------------------------------- */
.p-top--mainvisual { position: relative; }
.p-top--mainvisual-img { text-align: center; width: 100%; display: block; }
.p-top--mainvisual-img img { width: 100%; }
.p-top--mainvisual h1 { position: absolute; left: 5.9%; bottom: 19.8%; z-index: 1; width: 474px; height: 223px; }
@media only screen and (max-width: 767px) { .p-top--mainvisual h1 { left: 4.7%; bottom: 35.5%; width: 237px; height: 112px; } }

/* -----------------------------------------------------------
	.p-top--service
----------------------------------------------------------- */
.p-top--service { position: relative; margin: 80px auto 120px; }
.p-top--service:before { content: ""; background: url(../images/common/deco_circle.png) 0 0 no-repeat; background-size: contain; width: 1331px; height: 1666px; position: absolute; right: -466px; top: -800px; z-index: -1; }
@media only screen and (max-width: 767px) { .p-top--service:before { width: 798px; height: 1000px; right: -433px; top: -250px; } }
.p-top--service__inner .c-title { text-align: center; margin-bottom: 48px; }
@media only screen and (max-width: 767px) { .p-top--service__inner .c-title { margin-bottom: 24px; } }
.p-top--service__inner-intro_txt { text-align: center; margin-bottom: 48px; }
@media only screen and (max-width: 767px) { .p-top--service__inner-intro_txt { margin-bottom: 24px; } }
@media only screen and (min-width: 768px) { .p-top--service__inner-list { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
@media print { .p-top--service__inner-list { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
.ie8 .p-top--service__inner-list { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
.p-top--service__inner-list-item { background: #fff; -moz-box-shadow: 0px 10px 50px #c1d6e7; -webkit-box-shadow: 0px 10px 50px #c1d6e7; box-shadow: 0px 10px 50px #c1d6e7; position: relative; }
@media only screen and (min-width: 768px) { .p-top--service__inner-list-item { width: 32.1%; } }
@media print { .p-top--service__inner-list-item { width: 32.1%; } }
.ie8 .p-top--service__inner-list-item { width: 32.1%; }
@media only screen and (max-width: 767px) { .p-top--service__inner-list-item:not(:last-child) { margin-bottom: 30px; } }
.p-top--service__inner-list-item-img { width: 100%; text-align: center; }
.p-top--service__inner-list-item-number { position: absolute; top: 55%; left: 7.5%; color: #008acd; font-family: "Josefin Sans", sans-serif; font-size: 4.5rem; line-height: 1; font-weight: 500; }
@media only screen and (max-width: 767px) { .p-top--service__inner-list-item-number { top: 60vw; font-size: 2.8125rem; } }
.p-top--service__inner-list-item-txt { padding: 11.1%; }
@media only screen and (max-width: 767px) { .p-top--service__inner-list-item-txt { padding: 10% 6%; } }

/* -----------------------------------------------------------
	.p-top--message
----------------------------------------------------------- */
.p-top--message { background: #f2fafe; padding: 100px 0; }
@media only screen and (max-width: 767px) { .p-top--message { padding: 60px 0; } }
@media only screen and (min-width: 768px) { .p-top--message__inner { display: -webkit-flex; display: flex; } }
@media print { .p-top--message__inner { display: -webkit-flex; display: flex; } }
.ie8 .p-top--message__inner { display: -webkit-flex; display: flex; }
@media only screen and (max-width: 767px) { .p-top--message__inner { text-align: center; } }
@media only screen and (min-width: 768px) { .p-top--message__inner .c-title { width: 50%; } }
@media print { .p-top--message__inner .c-title { width: 50%; } }
.ie8 .p-top--message__inner .c-title { width: 50%; }
@media only screen and (max-width: 767px) { .p-top--message__inner .c-title { margin-bottom: 30px; } }
.p-top--message__inner-txt { letter-spacing: 0.1em; line-height: 2.667; }
@media only screen and (min-width: 768px) { .p-top--message__inner-txt { width: 50%; } }
@media print { .p-top--message__inner-txt { width: 50%; } }
.ie8 .p-top--message__inner-txt { width: 50%; }
@media only screen and (max-width: 767px) { .p-top--message__inner-txt { line-height: 2; } }

/* -----------------------------------------------------------
	.p-top--philosophy
----------------------------------------------------------- */
.p-top--philosophy { position: relative; margin: 120px auto 180px; }
@media only screen and (max-width: 767px) { .p-top--philosophy { margin: 80px auto 100px; } }
.p-top--philosophy:before { content: ""; background: url(../images/common/deco_circle.png) 0 0 no-repeat; background-size: contain; width: 1331px; height: 1666px; position: absolute; right: -666px; top: -1000px; z-index: -1; }
@media only screen and (max-width: 767px) { .p-top--philosophy:before { width: 798px; height: 1000px; right: -633px; top: -800px; } }
.p-top--philosophy:after { content: ""; background: url(../images/common/deco_circle.png) 0 0 no-repeat; background-size: contain; width: 1331px; height: 1666px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; }
@media only screen and (max-width: 767px) { .p-top--philosophy:after { width: 798px; height: 1000px; right: -333px; top: -400px; } }
.p-top--philosophy__main { padding-bottom: 323px; position: relative; }
@media only screen and (max-width: 767px) { .p-top--philosophy__main { padding-bottom: 50px; } }
.p-top--philosophy__main:before { content: ""; background: url(../images/top/img_philosophy1.png) 0 0 no-repeat; background-size: contain; position: absolute; right: calc(50% - 150px); top: -80px; width: 882px; height: 685px; }
@media only screen and (max-width: 767px) { .p-top--philosophy__main:before { top: 50px; right: calc(50% - 40px); width: 352px; height: 274px; } }
.p-top--philosophy__main .c-title { width: 50%; margin-left: auto; padding-left: 70px; margin-bottom: 60px; }
@media only screen and (max-width: 767px) { .p-top--philosophy__main .c-title { width: 60.7%; padding-left: 0; margin-bottom: 40px; } }
.p-top--philosophy__main-txt { width: 50%; margin-left: auto; padding-left: 100px; font-weight: bold; font-size: 1.875rem; letter-spacing: 0.05em; line-height: 1.8; }
@media only screen and (max-width: 767px) { .p-top--philosophy__main-txt { font-size: 1.125rem; padding-left: 0; } }
.p-top--philosophy__img { display: -webkit-flex; display: flex; }
@media only screen and (max-width: 767px) { .p-top--philosophy__img { -webkit-flex-direction: column; flex-direction: column; position: relative; } }
.p-top--philosophy__img-item:first-child { margin-left: 11.1%; width: 34.7%; }
@media only screen and (max-width: 767px) { .p-top--philosophy__img-item:first-child { order: 2; margin-left: 4.7%; width: 66.7%; position: relative; z-index: 1; margin-top: -20px; } }
.p-top--philosophy__img-item:last-child { margin-left: 6.9%; width: 43.4%; margin-top: -180px; }
@media only screen and (max-width: 767px) { .p-top--philosophy__img-item:last-child { order: 1; margin-left: auto; width: 83.3%; margin-top: 0; position: relative; z-index: -1; } }

/* -----------------------------------------------------------
	.p-top--other
----------------------------------------------------------- */
@media only screen and (min-width: 1025px) { .p-top--other { display: -webkit-flex; display: flex; } }
@media print { .p-top--other { display: -webkit-flex; display: flex; } }
.ie8 .p-top--other { display: -webkit-flex; display: flex; }
.p-top--other__item { position: relative; }
@media only screen and (min-width: 768px) { .p-top--other__item { width: 50%; }
  .p-top--other__item:not(:first-child):after { content: ""; position: absolute; top: 0; left: 0; background: #fff; width: 1px; height: 100%; } }
@media print { .p-top--other__item { width: 50%; }
  .p-top--other__item:not(:first-child):after { content: ""; position: absolute; top: 0; left: 0; background: #fff; width: 1px; height: 100%; } }
.ie8 .p-top--other__item { width: 50%; }
.ie8 .p-top--other__item:not(:first-child):after { content: ""; position: absolute; top: 0; left: 0; background: #fff; width: 1px; height: 100%; }
@media only screen and (max-width: 767px) { .p-top--other__item { width: 96%; }
  .p-top--other__item:not(:first-child) { margin-top: 4.7%; margin-left: auto; text-align: right; }
  .p-top--other__item:not(:first-child) .p-top--other__item-txt_arrow { margin-left: auto; } }
.p-top--other__item a { display: block; }
.p-top--other__item a:hover .p-top--other__item-img img { transform: scale(1.1); }
.p-top--other__item a:hover .p-top--other__item-img:after { background: rgba(0, 0, 0, 0.3); }
.p-top--other__item-img { width: 100%; overflow: hidden; }
.p-top--other__item-img:after { content: ""; background: rgba(0, 0, 0, 0.5); width: 100%; height: 100%; position: absolute; top: 0; left: 0; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
.p-top--other__item-img img { width: 100%; -webkit-transition: 5s; -moz-transition: 5s; -ms-transition: 5s; -o-transition: 5s; transition: 5s; }
.p-top--other__item-txt { position: absolute; top: 50%; left: 11.1%; transform: translate(0, -50%); z-index: 1; color: #fff; }
.p-top--other__item-txt .c-title { color: #fff; }
.p-top--other__item-txt_intro { font-size: 1rem; letter-spacing: 0.04em; margin: 36px 0; }
@media only screen and (max-width: 767px) { .p-top--other__item-txt_intro { font-size: 0.875rem; margin: 20px 0; } }
.p-top--other__item-txt_arrow { background: #008acd; width: 80px; height: 80px; text-align: center; line-height: 80px; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
@media only screen and (max-width: 767px) { .p-top--other__item-txt_arrow { width: 40px; height: 40px; line-height: 40px; } }
.p-top--other__item-txt_arrow img { width: 8px; height: 15px; }
@media only screen and (max-width: 767px) { .p-top--other__item-txt_arrow img { width: 4px; height: 8px; } }

/* -----------------------------------------------------------
	.p-company--philosophy
----------------------------------------------------------- */
@media only screen and (min-width: 768px) { .p-company--philosophy { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; } }
@media print { .p-company--philosophy { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; } }
.ie8 .p-company--philosophy { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.p-company--philosophy__img { position: relative; }
@media only screen and (min-width: 768px) { .p-company--philosophy__img { width: 50%; } }
@media print { .p-company--philosophy__img { width: 50%; } }
.ie8 .p-company--philosophy__img { width: 50%; }
.p-company--philosophy__img-item:nth-child(1) { width: 94.4%; position: relative; z-index: -1; }
.p-company--philosophy__img-item:nth-child(2) { width: 40.3%; margin-top: -72px; }
.p-company--philosophy__img-item:nth-child(3) { width: 52.4%; position: absolute; right: 0; bottom: 46px; }
@media only screen and (min-width: 768px) { .p-company--philosophy__txt { width: 50%; padding-left: 12.8%; } }
@media print { .p-company--philosophy__txt { width: 50%; padding-left: 12.8%; } }
.ie8 .p-company--philosophy__txt { width: 50%; padding-left: 12.8%; }
@media only screen and (min-width: 768px) and (max-width: 1439px) { .p-company--philosophy__txt { padding-left: 5%; } }
@media print { .p-company--philosophy__txt { padding-left: 5%; } }
.ie8 .p-company--philosophy__txt { padding-left: 5%; }
@media only screen and (max-width: 767px) { .p-company--philosophy__txt { width: 89.3%; margin: 0 auto; padding: 60px 0 0; } }
.p-company--philosophy__txt-title { color: #008acd; font-size: 1.25rem; letter-spacing: 0.14em; margin-bottom: 30px; }
@media only screen and (max-width: 767px) { .p-company--philosophy__txt-title { font-size: 1.125rem; margin-bottom: 15px; } }
.p-company--philosophy__txt-catchcopy { font-size: 2.5rem; letter-spacing: 0.05em; line-height: 1.4; font-weight: bold; margin-bottom: 70px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .p-company--philosophy__txt-catchcopy { font-size: 2.25rem; margin-bottom: 40px; } }
@media only screen and (max-width: 767px) { .p-company--philosophy__txt-catchcopy { font-size: 1.875rem; margin-bottom: 20px; } }
.p-company--philosophy__txt-message { letter-spacing: 0.1em; line-height: 2; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .p-company--philosophy__txt-message { padding-right: 3%; }
  .p-company--philosophy__txt-message br { display: none; } }

/* -----------------------------------------------------------
	.p-company--company
----------------------------------------------------------- */
.p-company--company { padding: 150px 0; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .p-company--company { width: 92%; } }
@media only screen and (max-width: 767px) { .p-company--company { width: 89.3%; padding: 80px 0; } }
.p-company--company__table { margin-top: 40px; width: 100%; }
@media only screen and (max-width: 767px) { .p-company--company__table { margin-top: 20px; } }
.p-company--company__table tr th, .p-company--company__table tr td { letter-spacing: 0.04em; border-bottom: 1px solid #dedede; padding: 30px 0; }
@media only screen and (max-width: 767px) { .p-company--company__table tr th, .p-company--company__table tr td { display: block; padding: 20px 0; } }
.p-company--company__table tr th { color: #008acd; font-size: 0.9375rem; width: 25%; }
@media only screen and (max-width: 767px) { .p-company--company__table tr th { width: 100%; padding-bottom: 0; border-bottom: none; } }
.p-company--company__table tr td { width: 75%; }
@media only screen and (max-width: 767px) { .p-company--company__table tr td { width: 100%; padding-top: 0; } }
.p-company--company__table tr:last-child th, .p-company--company__table tr:last-child td { border-bottom: none; }

/* -----------------------------------------------------------
	.p-company--other
----------------------------------------------------------- */
.p-company--other { position: relative; }
.p-company--other a { display: block; }
.p-company--other a:hover .p-company--other__img img { -webkit-transform: translate(-50%, -50%) scale(1.1); -ms-transform: translate(-50%, -50%) scale(1.1); transform: translate(-50%, -50%) scale(1.1); }
.p-company--other a:hover .p-company--other__img:after { background: rgba(0, 0, 0, 0.3); }
.p-company--other__img { width: 100%; height: 300px; overflow: hidden; position: relative; }
@media only screen and (max-width: 767px) { .p-company--other__img { height: 200px; } }
.p-company--other__img:after { content: ""; background: rgba(0, 0, 0, 0.5); width: 100%; height: 100%; position: absolute; top: 0; left: 0; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
.p-company--other__img img { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: auto; height: 100%; max-width: none; -webkit-transition: 5s; -moz-transition: 5s; -ms-transition: 5s; -o-transition: 5s; transition: 5s; }
@media only screen and (min-width: 1441px) { .p-company--other__img img { width: 100%; height: auto; } }
@media print { .p-company--other__img img { width: 100%; height: auto; } }
.ie8 .p-company--other__img img { width: 100%; height: auto; }
.p-company--other__txt { width: 100%; position: absolute; top: 50%; left: 0; right: 0; margin: 0 auto; transform: translate(0, -50%); z-index: 1; color: #fff; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .p-company--other__txt { width: 92%; } }
@media only screen and (max-width: 767px) { .p-company--other__txt { width: 89.3%; } }
.p-company--other__txt .c-title { color: #fff; }
.p-company--other__txt_intro { font-size: 1rem; letter-spacing: 0.04em; margin: 36px 0; }
@media only screen and (max-width: 767px) { .p-company--other__txt_intro { font-size: 0.875rem; margin: 20px 0; } }
.p-company--other__txt_arrow { position: absolute; right: 0; top: 50%; transform: translate(0, -50%); background: #008acd; width: 80px; height: 80px; text-align: center; line-height: 80px; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
@media only screen and (max-width: 767px) { .p-company--other__txt_arrow { width: 40px; height: 40px; line-height: 40px; } }
.p-company--other__txt_arrow img { width: 8px; height: 15px; }
@media only screen and (max-width: 767px) { .p-company--other__txt_arrow img { width: 4px; height: 8px; } }

/* -----------------------------------------------------------
	.p-contact--contact
----------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 1024px) { .p-contact--contact { width: 92%; } }
@media only screen and (max-width: 767px) { .p-contact--contact { width: 89.3%; margin-top: -40px; } }
.p-contact--contact__block { background: #fff; -moz-box-shadow: 0 10px 50px #c1d6e7; -webkit-box-shadow: 0 10px 50px #c1d6e7; box-shadow: 0 10px 50px #c1d6e7; margin-bottom: 30px; }
.p-contact--contact__block a { position: relative; display: block; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; }
.p-contact--contact__block a:before { content: ""; background: #008acd; width: 40px; height: 40px; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%; position: absolute; right: 20px; top: calc(50% - 20px); }
@media only screen and (max-width: 767px) { .p-contact--contact__block a:before { width: 30px; height: 30px; top: auto; bottom: 16px; } }
.p-contact--contact__block a:after { content: ""; background: url(../images/common/icon_arrow.svg) center center no-repeat; background-size: contain; width: 7px; height: 13px; position: absolute; top: calc(50% - 6px); right: 35px; }
@media only screen and (max-width: 767px) { .p-contact--contact__block a:after { width: 5px; height: 10px; top: auto; right: 32px; bottom: 26px; } }
.p-contact--contact__block a:hover { opacity: 0.7; }
.p-contact--contact__block-title { color: #008acd; letter-spacing: 0.04em; position: relative; padding: 30px 0 40px 20px; }
@media only screen and (max-width: 767px) { .p-contact--contact__block-title { padding-bottom: 20px; } }
.p-contact--contact__block-title:before { content: ""; background: #008acd; width: 4px; height: 20px; position: absolute; top: 30px; left: 0; }
.p-contact--contact__block-txt { font-family: "Josefin Sans", sans-serif; font-size: 2.25rem; font-weight: 500; text-align: center; padding-bottom: 60px; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .p-contact--contact__block-txt { font-size: 1.875rem; } }
@media only screen and (max-width: 767px) { .p-contact--contact__block-txt { font-size: 1.25rem; } }
.p-contact--contact__block-txt em { font-size: 3.75rem; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .p-contact--contact__block-txt em { font-size: 3.375rem; } }
@media only screen and (max-width: 767px) { .p-contact--contact__block-txt em { font-size: 2.25rem; } }
.p-contact--contact__block-txt span { font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-size: 1.125rem; display: inline-block; padding-left: 1em; }
@media only screen and (max-width: 767px) { .p-contact--contact__block-txt span { display: block; text-align: center; font-size: 0.875rem; padding-left: 0; } }
.p-contact--contact__block:last-child .p-contact--contact__block-txt em { font-size: 3rem; }
@media only screen and (min-width: 768px) and (max-width: 1024px) { .p-contact--contact__block:last-child .p-contact--contact__block-txt em { font-size: 2.5rem; } }
@media only screen and (max-width: 767px) { .p-contact--contact__block:last-child .p-contact--contact__block-txt em { font-size: 1.5rem; } }

/* -----------------------------------------------------------
	.p-privacy--privacy
----------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 1024px) { .p-privacy--privacy { width: 92%; } }
@media only screen and (max-width: 767px) { .p-privacy--privacy { width: 89.3%; margin-top: -40px; } }
.p-privacy--privacy__intro { margin-bottom: 80px; letter-spacing: 0.04em; line-height: 1.667; }
@media only screen and (max-width: 767px) { .p-privacy--privacy__intro { letter-spacing: 0; margin-bottom: 40px; } }
.p-privacy--privacy__list { counter-reset: item; }
.p-privacy--privacy__list-item { letter-spacing: 0.04em; line-height: 1.667; position: relative; padding-left: 30px; margin-bottom: 36px; }
@media only screen and (max-width: 767px) { .p-privacy--privacy__list-item { letter-spacing: 0; padding-left: 24px; margin-bottom: 16px; } }
.p-privacy--privacy__list-item:before { counter-increment: item; content: counter(item) "."; font-family: "Josefin Sans", sans-serif; color: #008acd; font-weight: 500; font-size: 1.25rem; position: absolute; top: 0; left: 0; }
@media only screen and (max-width: 767px) { .p-privacy--privacy__list-item:before { font-size: 1rem; } }
.p-privacy--privacy__list-item-sublist-item { position: relative; padding-left: 1em; margin-top: 16px; }
@media only screen and (max-width: 767px) { .p-privacy--privacy__list-item-sublist-item { margin-top: 8px; } }
.p-privacy--privacy__list-item-sublist-item:before { content: "・"; position: absolute; top: 0; left: 0; }
