@charset "UTF-8";
/* CSS Document */

html {
font-size: 62.5%;
}
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 16px;
font-size: 1.6rem;
color: #111;
font-family: "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
background: #FFF;
margin: 0;
}
img{
width:100%;
max-width: 100%;
height: auto;
vertical-align: bottom;
}
video, iframe {
width: 100%;
vertical-align: bottom;
}
a, a:hover {
text-decoration: none;
color: #111;
}
i {
font-size: 0.8em;
padding-right: 5px;
}
p {
line-height: 180%;
word-break: break-all;
}
.box {
width: 90%;
max-width: 1280px;
margin: 0 auto;
}
.object-fit-img {
object-fit: cover;
font-family: 'object-fit: cover;'
}

#header {
width: 100%;
top: 0;
left: 0;
z-index: 100;
}
.header__inner {
display: flex;
justify-content: space-between;
align-items: center;
}

#main > section {
position: relative;
}

h2.head-en, h4.head-en {
font-family: "Gabarito", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
position: absolute;
top: 0;
z-index: -1;
line-height: 0.8em;
}
h2.head-en {
color: #E8EFF8;
}
h3.head3 {
position: relative;
padding-left: 22px;
}
h3.head3:before {
content: "";
display: block;
width: 10px;
height: 100%;
position: absolute;
top: 0;
left: 0;
background: #003395;
transform: rotate(10deg);
}
h4.head-en {
color: #fdf9e0;
}

a.more2 {
display: table;
font-weight: 200;
position: relative;
}
a.more2 span {
position: relative;
display: block;
z-index: 2;
border-bottom: 1px solid #333;
}
a.more2:after {
content: "";
display: block;
background: #fff;
position: absolute;
bottom: -5px;
left: 50%;
width: 90%;
height: 150%;
z-index: 1;
transform: translateX(-50%);
clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
}

.hero, .hero > img {
position: relative;
}
.hero h1 {
position: absolute;
z-index: 2;
}
.hero > img {
z-index: 1;
}
.hero h1 {
width: 90%;
left: 5%;
}

#interview {
background: #ECF6FA;
}
#interview h2.head-en {
z-index: 1;
right: 0;
color: #fff;
}
#interview .box {
position: relative;
z-index: 3;
}

#link {
width: 90%;
max-width: 800px;
margin: 0 auto;
}
#link li a {
text-align: center;
display: block;
position: relative;
color: #fff;
font-weight: 900;
}
#link li a div {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
background-color: rgba(0, 0, 0, .5);
display: grid;
place-items: center;
}
#link li a span {
font-weight: 700;
}
#link li a span.en {
font-family: "Gabarito", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
display: block;
}
#link li a img {
position: relative;
}

#contact {
position: relative;
}
#contact h3.head3:before {
background: #F3CA00;
}
#contactInner2 {
background: #3C64A5;
color: #fff;
text-align: center;
}
#contactInner2 a {
color: #fff;
}
#contactInner2 a[href^="tel:"] {
font-weight: 900;
}
#contactInner2 a[href^="tel:"] i {
transform: rotate(40deg);
font-size: 0.8em;
}
#contactInner2 p {
font-weight: 700;
}
#contactInner2 p span {
font-weight: 500;
font-size: 0.8em;
padding-left: 8px;
}

#footer a.more2 {
color: #313131;
}
#footer a.more2 span {
transform: translateX(10%);
}
#footer a.more2:after {
left: 0%;
transform: translateX(0);
}
#footerContent {
background: #313131;
color: #fff;
}
#footerContent a {
color: #fff;
}
#footerInner address h6 {
max-width: 320px;
}
#footerContent small {
display: block;
text-align: center;
font-size: 12px;
}

@media (max-width: 560px){
body {
font-size: 1.6rem;
}
a.more2 span {
padding: 0 20vw 4px 2vw;
background: url(../images/arrow2.svg) no-repeat right 2vw center;
background-size: 6vw auto;
}
.logo {
width: 70%;
}

.drawer__button {
right: 5%px;
top: 10px;
width: 50px;
height: 50px;
}
.drawer__button > span {
width: 30px;
}
.drawer__button > span:first-child {
transform: translate(-50%, calc(-50% - 10px));
}
.drawer__button > span:nth-child(2) {
transform: translate(-50%, -50%);
transition: opacity 0.3s ease;
}
.drawer__button > span:last-child {
transform: translate(-50%, calc(-50% + 10px));
}
.drawer__nav__inner {
width: 100%;
}
.drawer__nav__menu {
padding-bottom: 10px;
}
.drawer__nav__item {
padding: 10px 0;
}
.drawer__nav__link {
font-size: 5vw;
}

#main h3.head3, #contact h3.head3 {
font-size: 6vw;
}

#interview {
padding: 80px 0 20px;
margin-bottom: 60px;
}
#interview h2.head-en {
top: 20px;
}
#interview .box img {
padding-bottom: 20px;
}
#interviewInner p {
padding-bottom: 40px;
}
#interviewInner p br {
display: none;
}
#interviewInner a.more2 {
margin-left: auto;
}

#link {
padding-bottom: 30px;
}
#link li {
margin-bottom: 30px;
}
#link li a {
font-size: 5vw;
}
#link li a span.en {
font-size: 8vw;
padding-bottom: 8px;
}

h4.head-en {
font-size: 16vw;
}
#contact {
padding-top: 50px;
}
#contactInner .box {
width: 100%;
}
#contactInner1 {
width: 90%;
margin: 0 auto;
padding-bottom: 40px;
}
#contactInner1 h4 {
font-size: 5vw;
padding-bottom: 6px;
text-align: center;
}
#contactInner1 p br {
display: none;
}
#contactInner2 {
box-sizing: border-box;
padding: 40px 5%;
}
#contactInner2 a[href^="tel:"] {
font-size: 10vw;
padding-bottom: 5px;
}
#contactInner2 p {
font-size: 6vw;
padding-bottom: 30px;
}
#contactInner2 a.more2 {
margin-left: auto;
margin-right: 5%;
}
#footer iframe {
height: 50vh;
}
#footerContent {
padding: 40px 0 10px;
}
#footerContent ul {
display: none;
}
#footerInner {
padding-bottom: 20px;
}
#footerInner h6 {
margin: 0 auto;
padding-bottom: 20px;
}
#footerInner address {
text-align: center;
}
}

@media (min-width: 561px){
a[href^="tel:"] {
pointer-events: none;
}

#header {
padding: 20px 0;
}
.logo {
width: 50%;
max-width: 300px;
}

a.more2 {
margin-left: auto;
}
a.more2 span {
padding: 0 100px 4px 10px;
background: url(../images/arrow2.svg) no-repeat right 10px center;
background-size: 36px auto;
}

#interview {
padding: 100px 0;
}
#interview h2.head-en {
top: 50px;
}
#interview .box {
display: flex;
justify-content: space-between;
}
#interview .box img {
width: 60%;
height: 100%;
}
#interviewInner {
width: 36%;
}
#interviewInner p {
text-align: right;
padding-bottom: 80px;
}

#link {
display: flex;
justify-content: space-between;
padding-bottom: 100px;
}
#link li {
width: 48%;
}

#contactInner {
position: relative;
}
#contactInner:after {
content: "";
display: block;
width: 40%;
height: 100%;
position: absolute;
top: 0;
left: 60%;
z-index: -1;
background: #3C64A5;
}
#contactInner .box {
display: flex;
justify-content: space-between;
position: relative;
}
#contactInner .box:before {
content: "";
display: block;
width: 10%;
height: 100%;
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
z-index: 1;
background: #3C64A5;
clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

#footer a.more2 span {
background: url(../images/arrow.svg) no-repeat right 10px center;
background-size: 36px auto;
}
#contactInner .box div {
width: 45%;
box-sizing: border-box;
padding: 80px 0;
}
#footer iframe {
height: 600px;
}
#footerContent {
padding: 80px 0 10px;
}
#footerInner {
display: flex;
justify-content: space-between;
margin-bottom: 30px;
background: url(../images/footer.gif) no-repeat right bottom;
background-size: 150px auto;
}
#footerInner address {
font-size: 2.2rem;
}
#footerInner address h6 {
padding-bottom: 20px;
}
#footerInner ul {
display: flex;
}
}

@media (min-width:561px) and ( max-width:960px) {
.drawer__button {
right: 20px;
top: 18px;
width: 60px;
height: 60px;
}
.drawer__button > span {
width: 40px;
}
.drawer__button > span:first-child {
transform: translate(-50%, calc(-50% - 12px));
}
.drawer__button > span:nth-child(2) {
transform: translate(-50%, -50%);
transition: opacity 0.3s ease;
}
.drawer__button > span:last-child {
transform: translate(-50%, calc(-50% + 12px));
}
.drawer__nav__inner {
width: 450px;
margin-left: auto;
}
.drawer__nav__item {
padding: 20px 0;
}
.drawer__nav__link {
font-size: 2rem;
}

#main h3.head3, #contact h3.head3 {
font-size: 3rem;
}

#interview {
margin-bottom: 80px;
}
#interview .box {
padding-top: 40px;
}

#link li a {
font-size: 2rem;
}
#link li a span.en {
font-size: 3rem;
padding-bottom: 12px;
}

h4.head-en {
font-size: 9rem;
}

#contactInner1 h4 {
font-size: 2rem;
padding-bottom: 10px;
}
#contactInner2 a[href^="tel:"] {
font-size: 3rem;
padding-bottom: 8px;
}
#contactInner2 p {
font-size: 2rem;
padding-bottom: 40px;
}

#footerInner address {
width: 40%;
font-size: 1.8rem;
}
#footerInner ul {
width: 50%;
flex-wrap: wrap;
align-content: flex-start;
}
#footerInner ul li {
padding-left: 10px;
}
}

@media (max-width: 960px){
.drawer__button {
position: fixed;
right: 10px;
top: 10px;
background-color: #fff;
border: 2px solid #00388A;
border-radius: 8px;
cursor: pointer;
z-index: 999;
}
.drawer__button > span {
display: block;
position: absolute;
top: 50%;
left: 50%;
height: 4px;
background-color: #00388A;
transform: translateX(-50%);
}
.drawer__button > span:first-child {
transition: transform 0.3s ease;
}
.drawer__button > span:nth-child(2) {
transform: translate(-50%, -50%);
transition: opacity 0.3s ease;
}
.drawer__button > span:last-child {
transition: transform 0.3s ease;
}
/* 展開時のデザイン */
.drawer__button.active > span:first-child {
transform: translate(-50%, -50%) rotate(-45deg);
}
.drawer__button.active > span:nth-child(2) {
opacity: 0;
}
.drawer__button.active > span:last-child {
transform: translate(-50%, -50%) rotate(45deg);
}
/* メニューのデザイン */
.drawer__nav {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: rgba(0, 0, 0, 0.5);
transition: opacity 0.3s ease;
opacity: 0;
visibility: hidden;
z-index: 50;
}
.drawer__nav.active {
opacity: 1;
visibility: visible;
}
.drawer__nav__inner {
position: relative;
height: 100%;
background: #00388A;
overflow: scroll;
transform: translateX(100%);
transition: transform 0.3s ease;
display: grid;
place-items: center;
}
.drawer__nav__inner > div {
width: 90%;
}
.drawer__nav.active .drawer__nav__inner {
transform: translateX(0);
}
.drawer__nav__menu {
width: 100%;
}
.drawer__nav__item {
border-bottom: 1px solid #fff;
text-align: center;
}
.drawer__nav__item:last-child {
border-bottom: none;
}
.drawer__nav__link {
display: block;
color: #fff;
}

/* ハンバーガーメニュー展開時、背景を固定 */
body.active {
height: 100%;
overflow: hidden;
}

h2.head-en {
font-size: 16vw;
}
#main h3.head3, #contact h3.head3 {
margin-bottom: 30px;
}
}

@media (min-width: 961px){
.logo {
max-width: 260px;
}

.drawer__button {
display: none;
}
.drawer__nav__menu {
display: flex;
justify-content: flex-end;
align-items: center;
}
.drawer__nav__menu li {
position: relative;
padding: 0 10px;
}
.drawer__nav__menu li:before {
content: "";
display: block;
width: 3px;
height: 100%;
position: absolute;
top: 0;
left: 0;
background: #E8CA00;
transform: rotate(-10deg);
}
.drawer__nav__menu li:first-child:before, .drawer__nav__menu li:last-child:before {
display: none;
}
.drawer__nav__menu li:first-child {
padding-left: 0;
}
.drawer__nav__menu li:last-child {
padding-right: 0;
}
.drawer__nav__menu li a {
font-size: 1.6rem;
}
.drawer__nav__menu li:last-child a {
padding: 8px 20px;
background: #00388A;
display: grid;
place-items: center;
border-radius: 8px;
}

#main h3.head3, #contact h3.head3 {
font-size: 3.6rem;
margin-bottom: 40px;
}

#interview {
margin-bottom: 80px;
}
#interview .box {
padding-top: 120px;
}

#link li a {
font-size: 1.8rem;
transition: .6s;
}
#link li a:hover {
color: #333;
}
#link li a div {
transition: .2s;
}
#link li a:hover div {
background-color: rgba(255, 255, 255, .8);
}
#link li a span.en {
font-size: 2.6rem;
padding-bottom: 16px;
}

#contactInner1 h4 {
font-size: 2.4rem;
padding-bottom: 12px;
}
#contactInner2 a[href^="tel:"] {
font-size: 5rem;
padding-bottom: 10px;
}
#contactInner2 p {
font-size: 2.2rem;
padding-bottom: 50px;
}
#footerInner ul li {
padding-left: 20px;
}
#footerInner ul li:first-child {
padding-left: 0;
}
}

@media (min-width:961px) and ( max-width:1280px) {
h2.head-en, h4.head-en {
font-size: 10rem;
}

#footerInner address {
width: 40%;
}
#footerInner ul {
width: 50%;
flex-wrap: wrap;
align-content: flex-start;
}
#footerInner ul li a {
font-size: 1.8rem;
}
}

@media (min-width: 1281px){
body {
font-size: 1.8rem;
}

.logo {
max-width: 400px;
}
.drawer__nav__menu li {
padding: 0 20px;
}
.drawer__nav__menu a {
font-size: 1.8rem;
}

h2.head-en, h4.head-en {
font-size: 25rem;
}

#contact {
padding-top: 250px;
}
#footerInner address {
width: 30%;
}
#footerInner ul {
width: 66%;
justify-content: flex-end;
}
}