@charset "UTF-8";
/* font
----------------------------------------------- */
:root {
--gothic: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
--mincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", serif;
}

/* default sp */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, section, summary, time, mark, audio, video { padding: 0; margin: 0; font: inherit; word-wrap: break-word; border: 0; vertical-align: baseline; outline: none; }
body { padding: 0; margin: 0; color: #000; font-size: 3.6vw; font-weight: 400; font-family: var(--gothic); font-optical-sizing: auto; -webkit-text-size-adjust: 100%; font-style: normal; line-height: 1; }
article, aside, canvas, details, figcaption, figure, header, footer, hgroup, main, menu, nav, section, summary { display: block; }
blockquote, q { quotes: none; }
strong, b { font-weight: bold; }
ul, ol, li { list-style: none; }
table { border-spacing: 0; border-collapse: collapse; }
img, video, object { height: auto; border: none; display: block; }
ins { background: none; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
hr { height: 1px; padding: 0; margin: 1em 0; border: 0; border-top: 1px solid #ccc; display: block; }
*:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
a { color: #000; text-decoration: none; display: block; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
a:hover { opacity: 0.6; }

.clearfix:after { content: ''; display: block; clear: both; }
.pc { display: none; }
.sp { display: block; }

/* common sp
----------------------------------------------- */
.wrapper { width: 100%; overflow: hidden; z-index: 1; position: relative; }
.container { padding-top: 15vw; position: relative; -moz-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); }

.shake { z-index: 0; position: relative; -moz-animation: shake 2s infinite; -webkit-animation: shake 2s infinite; animation: shake 2s infinite; }
@keyframes shake { 0% { -moz-transform: translate(0px, 2px); -ms-transform: translate(0px, 2px); -webkit-transform: translate(0px, 2px); transform: translate(0px, 2px); }
  5% { -moz-transform: translate(0px, -2px); -ms-transform: translate(0px, -2px); -webkit-transform: translate(0px, -2px); transform: translate(0px, -2px); }
  10% { -moz-transform: translate(0px, 2px); -ms-transform: translate(0px, 2px); -webkit-transform: translate(0px, 2px); transform: translate(0px, 2px); }
  15% { -moz-transform: translate(0px, -2px); -ms-transform: translate(0px, -2px); -webkit-transform: translate(0px, -2px); transform: translate(0px, -2px); }
  20% { -moz-transform: translate(0px, 2px); -ms-transform: translate(0px, 2px); -webkit-transform: translate(0px, 2px); transform: translate(0px, 2px); }
  25% { -moz-transform: translate(0px, -2px); -ms-transform: translate(0px, -2px); -webkit-transform: translate(0px, -2px); transform: translate(0px, -2px); }
  30% { -moz-transform: translate(0px, 0px); -ms-transform: translate(0px, 0px); -webkit-transform: translate(0px, 0px); transform: translate(0px, 0px); } }
.cv-button { width: 80vw; margin: 0 auto; }
.cv-button img { width: 100%; }

.midashi01 {background: #101f73;color: #fff;font-weight: bold;font-size: 4.5vw;padding: 2% 2% 2% 6%;position: relative;margin-bottom: 5%;}
.midashi01:before {content: "";width: 3px;height: 60%;top: 20%;left: 3%;background: #5f78ff;position: absolute;}

.midashi02{color:#fff;text-align:center;margin-bottom:5vw;}
.midashi02 span{display:block;line-height:1.2;font-weight:bold;}
.midashi02 .en{font-family: "Lato";font-weight: 700;font-size: 10vw;}


/* header sp
----------------------------------------------- */
.header { width: 100%; height: 15vw; background: #fff; z-index: 10; position: fixed; top: 0; left: 0; }
.header-content { width: 100%; height: 100%; padding: 0 2.5vw; position: relative; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: center; align-items: center; }
.header-logo { width: 35vw; margin-right: auto; }
.header-logo img { width: 100%; }
.header-cv {padding: 3vw 3vw 3vw;margin-right: 11vw;color: #fff;font-size: 3.68vw;font-weight: bold;background: #b30002;-moz-border-radius: 15vw;-webkit-border-radius: 15vw;border-radius: 15vw;}
.header-navi-button { width: 15vw; height: 15vw; cursor: pointer; z-index: 11; position: fixed; top: 0; right: 0; -moz-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-button .line { width: 7vw; height: 2px; background: #2d2e2d; position: absolute; left: 4vw; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-button .line-top { top: 4vw; }
.header-navi-button .line-bottom { top: 6.5vw; }
.header-navi-button .line-title { width: 100%; color: #2d2e2d; font-size: 3.16vw; font-family: "Lato"; font-weight: 700; text-align: center; text-indent: 0.2vw; letter-spacing: 0.2vw; position: absolute; bottom: 3vw; left: 0; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi { width: 60vw; height: 100%; background: #071569; z-index: 10; position: fixed; top: 0; right: -60vw; -moz-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-inner { width: 100%; height: 100%; overflow-y: auto; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.header-navi-inner::-webkit-scrollbar { display: none; }
.header-navi-scroll { width: 100%; height: 100%; overflow-y: auto; position: relative; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.header-navi-scroll::-webkit-scrollbar { display: none; }
.header-navi-content { padding: 5vw 5vw 100px; position: relative; }
.header-navi-items { width: 100%; margin: 0 auto; }
.header-navi-items li { border-bottom: 1px dotted #9599a9; position: relative; }
.header-navi-items li:after { content: '\f105'; color: #fff; font-family: 'icon'; pointer-evens: none; position: absolute; top: 50%; right: 1vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-navi-items a { padding: 5vw 0; }
.header-navi-items .jp { margin-bottom: 1.5vw; color: #fff; font-size: 3.95vw; font-weight: bold; display: block; }
.header-navi-items .en { color: #9eaaf3; font-size: 3.16vw; font-family: "Lato"; font-weight: 700; letter-spacing: 0.2vw; display: block; }
.header-navi-open { width: 100%; height: 100%; position: fixed; }
.header-navi-open .container { -moz-transform: translateX(-50vw); -ms-transform: translateX(-50vw); -webkit-transform: translateX(-50vw); transform: translateX(-50vw); }
.header-navi-open .header-navi-button { background: #071569; right: calc(60vw - 1px); }
.header-navi-open .line { background: #fff; }
.header-navi-open .line-top { top: 7.5vw; -moz-transform: rotate(40deg); -ms-transform: rotate(40deg); -webkit-transform: rotate(40deg); transform: rotate(40deg); }
.header-navi-open .line-bottom { top: 7.5vw; -moz-transform: rotate(-40deg); -ms-transform: rotate(-40deg); -webkit-transform: rotate(-40deg); transform: rotate(-40deg); }
.header-navi-open .line-title { opacity: 0; visibility: hidden; bottom: 4vw; }
.header-navi-open .header-navi { right: 0; }

/* hero sp
----------------------------------------------- */
.hero { width: 100%; position: relative; }
.top-hero-image { width: 100%; }
.top-hero-image img { width: 100%; }
.top-hero-button { z-index: 1; position: absolute; bottom: 8vw; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.second-hero .second-hero-title{background:#0d1f6d;color:#fff;font-weight:bold;font-size: 6vw;padding: 4% 0;text-align:center;position:relative;}
.second-hero .second-hero-title:before{content: "";position: absolute;top: 100%;left: 50%;margin-left: -40px;border: 40px solid transparent;border-top: 10px solid #0d1f6d;}
.second-hero .subitem{background: url(../images/subhero.jpg) top right -115vw;background-size:cover;padding: 8% 0;}
.second-hero .sub{display:table;background:#df600f;color:#fff;font-weight:bold;text-align:center;font-size: 3.8vw;padding: 2% 6%;line-height:1.4;border-radius:50px;margin:0 auto 2vw;}
.second-hero .tit{font-family:var(--mincho);font-weight:bold;color:#0d1f6d;font-size: 6.8vw;line-height:1.4;text-align:center;}

/* footer sp
----------------------------------------------- */
.footer { position: relative; }
.footer-cv { padding: 12vw 0; background: url(../images/footer-cv-bg.jpg) no-repeat center bottom; background-size: cover; }
.footer-cv-title { width: 85vw; margin: 0 auto 4vw; }
.footer-cv-title img { width: 100%; }
.footer-cv-comment { margin-bottom: 5vw; color: #fff; font-size: 3.95vw; font-weight: bold; text-align: center; }
.footer-content { padding: 12vw 0 8vw; position: relative; }
.footer-logo { width: 65vw; margin: 0 auto 8vw; position: relative; }
.footer-logo img { width: 100%; }
.footer-social-items { margin-bottom: 8vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; }
.footer-social-items li { margin: 0 3.5vw; }
.footer-social-items img { width: auto; height: 5.5vw; }
.footer-navi-items { width: 100%; margin: 0 auto; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; }
.footer-navi-items li { margin-bottom: 4vw; font-size: 3.68vw; }
.footer-navi-items li:first-child:before { display: none; }
.footer-navi-items li:before { content: '|'; margin: 0 3vw 0 4.5vw; display: inline-block; }
.footer-navi-items a { display: inline-block; }

.pagetop { width: 18vw; z-index: 1; position: absolute; top: -8vw; right: 0; }
.pagetop img { width: 100%; }
.copyright { padding: 2.5vw 0 2vw; color: #fff; font-size: 3.16vw; font-family: "Lato"; font-weight: 700; text-align: center; letter-spacing: 0.2vw; background: #132375; display: block; }

/* second
----------------------------------------------- */
.second {z-index: 1;position: relative;min-height: 100vw;margin: 0 auto;position: relative;font-size: 3.5vw;line-height: 1.8;font-feature-settings: "palt";letter-spacing: .04em;text-justify: auto;z-index: 1;}
.second-text {padding: 6vw 0  0;margin: 0 auto;}
.second-text .inner{width: 88vw;margin:0 auto;}
.second p { margin-bottom: 4vw; }

/* =============================================
pc-size
================================================*/
@media screen and (min-width: 736px) {
/* default pc ----------------------------------------------- */
body { font-size: 18px; }
.sp { display: none; }
.pc { display: block; }

.midashi01{font-size:25px;padding: 8px 0 8px 35px;margin-bottom: 40px;}
.midashi01:before{width:5px;left: 16px;}

.midashi02 {margin-bottom:50px;}
.midashi02 .en{font-size:50px;}

/* common pc ----------------------------------------------- */
.container { padding-top: 70px; }
.cv-button { width: 400px; }

/* header pc ----------------------------------------------- */
.header { height: 70px; }
.header-content { width: 960px; padding: 1px 0; margin: auto; }
.header-logo { width: 200px; }
.header-global-items { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.header-global-items li { margin-right: 25px; font-size: 16px; font-weight: bold; background: url(../images/arrow01.png) no-repeat center right; background-size: 16px; }
.header-global-items a { padding: 4px 20px 4px 0; }
.header-cv { padding: 15px 20px; margin: 0; font-size: 16px; }

/* hero pc ----------------------------------------------- */
.top-hero { margin-bottom: -1vw; }
.top-hero-image { min-width: 2000px; position: relative; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top-hero-button { bottom: 80px; }
.second-hero .subitem{padding: 40px 0 50px 0;background: url(../images/subhero.jpg) top center;background-size: cover;}
.second-hero .second-hero-title{font-size:25px;padding: 25px;}
.second-hero .second-hero-title:before{border-top: 15px solid #0d1f6d;}
.second-hero .sub{font-size:20px;padding: 10px 20px;margin-bottom: 10px;}
.second-hero .tit{font-size:45px;}

/* footer pc ----------------------------------------------- */
.footer-cv { padding: 75px 0 70px; background: url(../images/footer-cv-bg-pc.jpg) no-repeat center bottom; background-size: cover; }
.footer-cv-title { width: 480px; margin-bottom: 20px; }
.footer-cv-comment { margin-bottom: 20px; font-size: 16px; }
.footer-content { width: 960px; padding: 75px 0; margin: 0 auto; position: relative; }
.footer-logo { width: 275px; margin-bottom: 35px; }
.footer-social-items { margin-bottom: 40px; }
.footer-social-items li { margin: 0 16px; }
.footer-social-items img { height: 25px; }
.footer-navi { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; }
.footer-navi-items li { margin: 0; font-size: 16px; }
.footer-navi-items li:before { margin: 0 18px 0 23px; }
.pagetop { width: 95px; top: -40px; }
.copyright { padding: 10px 0; font-size: 12px; letter-spacing: 1px; }

/* second pc
----------------------------------------------- */
.second{min-height: 500px;font-size: 16px; }
.second p{margin-bottom: 24px;}
.second-text{padding: 50px 0 0 0;}
.second-text .inner{width:960px;}

/* retina用 ----------------------------------------------- */ }
@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) {
.header-global-items li { background: url(../images/arrow01@2x.png) no-repeat center right; background-size: 16px; }
.footer-cv { background: url(../images/footer-cv-bg-pc@2x.jpg) no-repeat center bottom; background-size: cover; }
.second-hero .subitem{background: url(../images/subhero@2x.jpg) top center;background-size: cover;}
}

