@charset "UTF-8";
/* ==========================================================================
   setting.scss
   ========================================================================== */
@import url("https://fonts.googleapis.com/css?family=Oswald:400,500,600,700");
html {
  font-size: 62.5%; }

body {
  text-rendering: optimizeLegibility;
  width: 100%;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
  color: #231815;
  line-height: 2;
  letter-spacing: 0.00em;
  font-size: 1.4rem; }

input,
textarea {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; }

*,
*::before,
*::after {
  box-sizing: border-box; }

* {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased; }

a[href^='tel:'] {
  text-decoration: none; }
  @media screen and (min-width: 544px) {
    a[href^='tel:'] {
      cursor: default;
      pointer-events: none; } }

a {
  text-decoration: none;
  color: #231815; }

/* ==========================================================================
   module.scss
============================================================================ */
/* ==========================================================================
   print.scss
   ========================================================================== */
@media print {
  * html body {
    zoom: 0.7; }

  body {
    background-color: #fff;
    font-size: 12px; } }
/* ==========================================================================
   reset.scss
   ========================================================================== */
html {
  overflow-y: scroll;
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

/* HTML5 display definitions
   ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
main,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

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

object,
embed {
  border: 0;
  vertical-align: bottom;
  outline: none; }

[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
a {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  outline: 0; }

a:active,
a:hover {
  outline: 0; }

a img {
  border: none;
  text-decoration: none;
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal; }

ul li {
  list-style: none; }

ul,
ol {
  list-style-position: inside; }

blockquote,
q {
  quotes: none; }

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

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Tables
   ========================================================================== */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

caption,
th {
  text-align: left; }

/* Embedded content
   ========================================================================== */
img {
  border: none;
  vertical-align: bottom; }

svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

pre {
  overflow: auto; }

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

/* Forms
   ========================================================================== */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

input,
select {
  vertical-align: middle; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

label {
  cursor: pointer; }

input {
  line-height: normal; }

input[type='checkbox'],
input[type='radio'] {
  box-sizing: border-box;
  padding: 0; }

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto; }

input[type='search'] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

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

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  cursor: pointer;
  background: none; }

/* ==========================================================================
   commonに移す
   ========================================================================== */
/* btn
----------------------------------------------------------*/
.red-border-btn a {
  color: #c10a12;
  height: 60px;
  border: 1px solid #c10a12;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  line-height: 58px;
  box-sizing: border-box;
  display: block; }
  .red-border-btn a span {
    display: inline-block; }
    .red-border-btn a span::after {
      content: "";
      display: block;
      clear: both; }
  .red-border-btn a span:before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 56px;
    background: url(../img/common/icon_yoyaku_red.svg) no-repeat 50% 50%/18px 17px;
    float: left;
    margin-right: 10px; }

.red-btn a {
  width: 300px;
  height: 60px;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  line-height: 58px;
  box-sizing: border-box;
  border: 1px solid #c10a12;
  background-color: #c10a12;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  text-align: center; }
  .red-btn a span {
    display: inline-block; }
    .red-btn a span::after {
      content: "";
      display: block;
      clear: both; }
  .red-btn a span:before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 56px;
    background: url(../img/common/icon_yoyaku_wh.svg) no-repeat 50% 50%/18px 17px;
    float: left;
    margin-right: 10px; }

/* arrow
----------------------------------------------------------*/
/* tittle
----------------------------------------------------------*/
.line-tit {
  font-size: 34px;
  font-size: 3.4rem;
  font-weight: bold;
  border-bottom: 8px solid #3e99bb;
  display: inline-block;
  margin-bottom: 60px; }

/* アーチ
----------------------------------------------------------*/
.container {
  width: 200px;
  height: 50px;
  margin: auto;
  overflow: hidden;
  text-align: center;
  line-height: 10px; }

.arch {
  width: 480px;
  height: 480px;
  margin-left: -240px;
  border-radius: 240px;
  position: relative;
  left: 50%;
  color: #1c4e6f;
  font-weight: bold;
  font-family: 'Roboto Condensed', 'arial', sans-serif;
  font-weight: 700; }
  .arch:after {
    content: '';
    display: block;
    width: 460px;
    height: 460px;
    border-radius: 230px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto; }
  .arch.is-even {
    transform: rotate(1.2deg); }

.char {
  height: 240px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform-origin: bottom center; }

.char-50 {
  transform: rotate(-120deg); }

.char-49 {
  transform: rotate(-117.6deg); }

.char-48 {
  transform: rotate(-115.2deg); }

.char-47 {
  transform: rotate(-112.8deg); }

.char-46 {
  transform: rotate(-110.4deg); }

.char-45 {
  transform: rotate(-108deg); }

.char-44 {
  transform: rotate(-105.6deg); }

.char-43 {
  transform: rotate(-103.2deg); }

.char-42 {
  transform: rotate(-100.8deg); }

.char-41 {
  transform: rotate(-98.4deg); }

.char-40 {
  transform: rotate(-96deg); }

.char-39 {
  transform: rotate(-93.6deg); }

.char-38 {
  transform: rotate(-91.2deg); }

.char-37 {
  transform: rotate(-88.8deg); }

.char-36 {
  transform: rotate(-86.4deg); }

.char-35 {
  transform: rotate(-84deg); }

.char-34 {
  transform: rotate(-81.6deg); }

.char-33 {
  transform: rotate(-79.2deg); }

.char-32 {
  transform: rotate(-76.8deg); }

.char-31 {
  transform: rotate(-74.4deg); }

.char-30 {
  transform: rotate(-72deg); }

.char-29 {
  transform: rotate(-69.6deg); }

.char-28 {
  transform: rotate(-67.2deg); }

.char-27 {
  transform: rotate(-64.8deg); }

.char-26 {
  transform: rotate(-62.4deg); }

.char-25 {
  transform: rotate(-60deg); }

.char-24 {
  transform: rotate(-57.6deg); }

.char-23 {
  transform: rotate(-55.2deg); }

.char-22 {
  transform: rotate(-52.8deg); }

.char-21 {
  transform: rotate(-50.4deg); }

.char-20 {
  transform: rotate(-48deg); }

.char-19 {
  transform: rotate(-45.6deg); }

.char-18 {
  transform: rotate(-43.2deg); }

.char-17 {
  transform: rotate(-40.8deg); }

.char-16 {
  transform: rotate(-38.4deg); }

.char-15 {
  transform: rotate(-36deg); }

.char-14 {
  transform: rotate(-33.6deg); }

.char-13 {
  transform: rotate(-31.2deg); }

.char-12 {
  transform: rotate(-28.8deg); }

.char-11 {
  transform: rotate(-26.4deg); }

.char-10 {
  transform: rotate(-24deg); }

.char-9 {
  transform: rotate(-21.6deg); }

.char-8 {
  transform: rotate(-19.2deg); }

.char-7 {
  transform: rotate(-16.8deg); }

.char-6 {
  transform: rotate(-14.4deg); }

.char-5 {
  transform: rotate(-12deg); }

.char-4 {
  transform: rotate(-9.6deg); }

.char-3 {
  transform: rotate(-7.2deg); }

.char-2 {
  transform: rotate(-4.8deg); }

.char-1 {
  transform: rotate(-2.4deg); }

.char0 {
  transform: rotate(0deg); }

.char1 {
  transform: rotate(2.4deg); }

.char2 {
  transform: rotate(4.8deg); }

.char3 {
  transform: rotate(7.2deg); }

.char4 {
  transform: rotate(9.6deg); }

.char5 {
  transform: rotate(12deg); }

.char6 {
  transform: rotate(14.4deg); }

.char7 {
  transform: rotate(16.8deg); }

.char8 {
  transform: rotate(19.2deg); }

.char9 {
  transform: rotate(21.6deg); }

.char10 {
  transform: rotate(24deg); }

.char11 {
  transform: rotate(26.4deg); }

.char12 {
  transform: rotate(28.8deg); }

.char13 {
  transform: rotate(31.2deg); }

.char14 {
  transform: rotate(33.6deg); }

.char15 {
  transform: rotate(36deg); }

.char16 {
  transform: rotate(38.4deg); }

.char17 {
  transform: rotate(40.8deg); }

.char18 {
  transform: rotate(43.2deg); }

.char19 {
  transform: rotate(45.6deg); }

.char20 {
  transform: rotate(48deg); }

.char21 {
  transform: rotate(50.4deg); }

.char22 {
  transform: rotate(52.8deg); }

.char23 {
  transform: rotate(55.2deg); }

.char24 {
  transform: rotate(57.6deg); }

.char25 {
  transform: rotate(60deg); }

.char26 {
  transform: rotate(62.4deg); }

.char27 {
  transform: rotate(64.8deg); }

.char28 {
  transform: rotate(67.2deg); }

.char29 {
  transform: rotate(69.6deg); }

.char30 {
  transform: rotate(72deg); }

.char31 {
  transform: rotate(74.4deg); }

.char32 {
  transform: rotate(76.8deg); }

.char33 {
  transform: rotate(79.2deg); }

.char34 {
  transform: rotate(81.6deg); }

.char35 {
  transform: rotate(84deg); }

.char36 {
  transform: rotate(86.4deg); }

.char37 {
  transform: rotate(88.8deg); }

.char38 {
  transform: rotate(91.2deg); }

.char39 {
  transform: rotate(93.6deg); }

.char40 {
  transform: rotate(96deg); }

.char41 {
  transform: rotate(98.4deg); }

.char42 {
  transform: rotate(100.8deg); }

.char43 {
  transform: rotate(103.2deg); }

.char44 {
  transform: rotate(105.6deg); }

.char45 {
  transform: rotate(108deg); }

.char46 {
  transform: rotate(110.4deg); }

.char47 {
  transform: rotate(112.8deg); }

.char48 {
  transform: rotate(115.2deg); }

.char49 {
  transform: rotate(117.6deg); }

.char50 {
  transform: rotate(120deg); }

/* ==========================================================================
   archive-access.scss
   ========================================================================== */
a {
  color: #231815;
  text-decoration: none; }

.en {
  font-family: 'Oswald', sans-serif;
  font-weight: 700; }

.min {
  font-family: "Yu Mincho", "YuMincho";
  font-weight: normal; }

.headline h2 {
  font-family: 'Oswald', sans-serif;
  font-weight: 700;
  font-size: 3.4rem;
  color: #1c4e6f;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 3px; }
.headline p {
  color: #9f9fa4;
  font-size: 1.2rem;
  font-weight: bold; }

.contents-header-archive {
  min-height: 520px;
  background-color: #25abb4;
  position: relative; }
  .contents-header-archive .main-image {
    background-size: cover !important;
    width: 83.75%;
    height: 550px;
    position: absolute;
    right: 0;
    top: 60px; }
  .contents-header-archive h2 {
    font-size: 28px;
    font-size: 2.8rem;
    color: #fff;
    font-weight: bold;
    margin: 8.125% 0 2.5%;
    position: relative;
    display: inline-block;
    padding-left: 6.25%;
    width: 100%;
    line-height: 1; }
    .contents-header-archive h2:before {
      border-top: 2px solid;
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      width: 6.25%; }
    .contents-header-archive h2 span {
      display: inline-block;
      position: relative;
      padding: 0 20px; }
  .contents-header-archive .en-tit {
    font-size: 68px;
    font-size: 6.8rem;
    color: #fff;
    margin-left: 3.75%;
    position: relative;
    line-height: 1.1; }

.contents {
  text-align: center; }
  .contents .content-inner {
    padding: 0 3.75%;
    max-width: 1480px;
    margin: 0 auto;
    box-sizing: content-box; }

.copy-area {
  padding: 150px 0 60px; }
  .copy-area .copy {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 2; }

.news-area {
  background-color: #f4f4f4;
  margin-bottom: 80px; }
  .news-area .news {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 0 80px;
    display: flex;
    text-align: left; }
    @media screen and (max-width: 1290px) {
      .news-area .news {
        width: 92.5%; } }
    @media screen and (max-width: 544px) {
      .news-area .news {
        width: 92%; } }
    .news-area .news .headline {
      padding-bottom: 18px;
      background: url(../img/common/zigzag.svg) no-repeat 0 72px/32px 9px;
      padding-right: 8.33333%; }
    .news-area .news .news__body {
      width: 100%; }
      .news-area .news .news__body .news__btn {
        text-align: right; }
        .news-area .news .news__body .news__btn a {
          display: inline-block;
          color: #231815;
          position: relative;
          text-decoration: none;
          padding-left: 12px;
          font-size: 1.3rem;
          font-weight: bold; }
          .news-area .news .news__body .news__btn a::before {
            content: '';
            width: 6px;
            height: 6px;
            position: absolute;
            top: 50%;
            left: 0;
            background-color: transparent;
            border-top: 1px solid #1c4e6f;
            border-right: 1px solid #1c4e6f;
            margin-top: -3px;
            margin-left: -3px;
            transform: rotate(45deg); }
      .news-area .news .news__body .news__list {
        padding-top: 15px; }
        .news-area .news .news__body .news__list ul {
          border-top: 1px solid #dddddd; }
          .news-area .news .news__body .news__list ul li {
            border-bottom: 1px solid #dddddd;
            padding: 25px 0;
            text-decoration: none;
            color: #231815;
            line-height: 1.7; }
            .news-area .news .news__body .news__list ul li::after {
              content: "";
              display: block;
              clear: both; }
            .news-area .news .news__body .news__list ul li span {
              display: inline-block;
              float: left; }
              .news-area .news .news__body .news__list ul li span.date {
                font-size: 1.3rem;
                margin-right: 2.94118%;
                width: 7.84314%; }
              .news-area .news .news__body .news__list ul li span.tag {
                width: 11.76471%;
                margin-right: 2.94118%;
                font-size: 1.2rem;
                background-color: #9f9f8f;
                color: white;
                font-weight: bold;
                height: 20px;
                line-height: 20px;
                text-align: center; }
              .news-area .news .news__body .news__list ul li span.txt {
                font-size: 1.3rem;
                width: 74.5098%;
                position: relative; }
            .news-area .news .news__body .news__list ul li a span.txt {
              padding-left: 16px; }
              .news-area .news .news__body .news__list ul li a span.txt::before {
                content: '';
                width: 6px;
                height: 6px;
                position: absolute;
                top: 50%;
                left: 0;
                background-color: transparent;
                border-top: 1px solid #1c4e6f;
                border-right: 1px solid #1c4e6f;
                margin-top: -3px;
                margin-left: -3px;
                transform: rotate(45deg);
                top: 0.9em; }

.lineup {
  width: 100%;
  max-width: 1600;
  margin: 0 auto;
  padding: 0 0 100px; }
  @media screen and (max-width: 1720) {
    .lineup {
      width: 92.5%; } }
  @media screen and (max-width: 544px) {
    .lineup {
      width: 92%; } }
  .lineup .lineup__list {
    width: 100%;
    max-width: 1480px;
    margin: 0 auto; }
    @media screen and (max-width: 1591px) {
      .lineup .lineup__list {
        width: 92.5%; } }
    @media screen and (max-width: 544px) {
      .lineup .lineup__list {
        width: 92%; } }
    .lineup .lineup__list ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .lineup .lineup__list ul::after {
        content: "";
        display: block;
        width: 30%; }
      .lineup .lineup__list ul li {
        width: 48.91892%;
        background-color: #f4f4f4;
        margin-top: 60px;
        display: flex;
        align-items: stretch; }
        .lineup .lineup__list ul li::after {
          content: "";
          display: block;
          clear: both; }
        .lineup .lineup__list ul li a {
          width: 100%; }
        .lineup .lineup__list ul li .img {
          width: 47.79006%;
          height: 100%;
          float: left;
          display: inline-block;
          overflow: hidden;
          background-size: cover !important; }
        .lineup .lineup__list ul li .intaview-text {
          display: inline-block;
          width: 52.20994%;
          text-align: left;
          padding: 30px 4.41989%;
          position: relative; }
          .lineup .lineup__list ul li .intaview-text::after {
            content: "";
            display: block;
            clear: both; }
          .lineup .lineup__list ul li .intaview-text .int-tag {
            display: inline-block;
            height: 32px;
            background-color: #25abb4;
            line-height: 32px;
            color: #fff;
            text-align: center;
            font-weight: bold;
            float: left;
            margin-right: 6px;
            font-size: 13px;
            font-size: 1.3rem;
            padding: 0 12px; }
            @media screen and (max-width: 1024px) {
              .lineup .lineup__list ul li .intaview-text .int-tag {
                font-size: 10px;
                font-size: 1rem;
                padding: 0 6px; } }
          .lineup .lineup__list ul li .intaview-text .int-name {
            display: inline-block;
            height: 32px;
            border: 1px solid #25abb4;
            line-height: 32px;
            color: #25abb4;
            text-align: center;
            font-weight: bold;
            font-size: 13px;
            font-size: 1.3rem;
            padding: 0 12px; }
            @media screen and (max-width: 1024px) {
              .lineup .lineup__list ul li .intaview-text .int-name {
                font-size: 10px;
                font-size: 1rem;
                padding: 0 6px; } }
          .lineup .lineup__list ul li .intaview-text .int-text {
            font-size: 16px;
            font-size: 1.6rem;
            font-weight: bold;
            margin-top: 30px;
            line-height: 1.6; }
          .lineup .lineup__list ul li .intaview-text .btn {
            margin: 0 auto;
            display: inline-block;
            padding: 0 20px 0 30px;
            height: 30px;
            line-height: 29px;
            border: 1px solid #1c4e6f;
            border-radius: 15px;
            text-decoration: none;
            color: #1c4e6f;
            font-size: 1.3rem;
            font-weight: bold;
            position: relative;
            border: 1px solid #25abb4;
            color: #25abb4;
            margin-top: 30px; }
            .lineup .lineup__list ul li .intaview-text .btn::before {
              content: '';
              width: 6px;
              height: 6px;
              position: absolute;
              top: 50%;
              left: 0;
              background-color: transparent;
              border-top: 1px solid #1c4e6f;
              border-right: 1px solid #1c4e6f;
              margin-top: -3px;
              margin-left: -3px;
              transform: rotate(45deg);
              left: 20px; }
            @media screen and (min-width: 544px) {
              .lineup .lineup__list ul li .intaview-text .btn:hover {
                background-color: #1c4e6f;
                color: white; }
                .lineup .lineup__list ul li .intaview-text .btn:hover::before {
                  border-color: white;
                  animation: detail-btn-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
              @keyframes detail-btn-anim {
                0% {
                  transform: translateX(-150%) rotate(45deg); }
                100% {
                  transform: translateX(0%) rotate(45deg); } } }
            .lineup .lineup__list ul li .intaview-text .btn::before {
              border-top: 1px solid #25abb4;
              border-right: 1px solid #25abb4; }
      .lineup .lineup__list ul li:nth-child(-n+2) {
        margin-top: 0; }

.btn-area {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 80px 0;
  position: relative;
  border-top: 1px solid #dddddd; }
  @media screen and (max-width: 1720px) {
    .btn-area {
      width: 92.5%; } }
  @media screen and (max-width: 544px) {
    .btn-area {
      width: 92%; } }
  .btn-area .interview-btn a {
    width: 300px;
    display: block;
    margin: 0 auto;
    text-align: center;
    height: 54px;
    border-radius: 3px;
    background-color: #1c4e6f;
    color: #fff;
    line-height: 54px;
    padding: 0 20px 0 30px;
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
    position: relative; }
    .btn-area .interview-btn a::before {
      border-color: white !important;
      content: '';
      width: 6px;
      height: 6px;
      position: absolute;
      top: 50%;
      left: 0;
      background-color: transparent;
      border-top: 1px solid #1c4e6f;
      border-right: 1px solid #1c4e6f;
      margin-top: -3px;
      margin-left: -3px;
      transform: rotate(45deg);
      left: 20px; }

.section-lineup {
  background-color: #f6f4ef;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  max-width: none;
  padding-left: calc( 50% - 1600px / 2 );
  padding-right: calc( 50% - 1600px / 2 );
  padding: 5% 0 5%; }
  @media screen and (max-width: 1720px) {
    .section-lineup {
      width: 92.5%;
      width: auto;
      padding-left: 3.75%;
      padding-right: 3.75%; } }
  @media screen and (max-width: 544px) {
    .section-lineup {
      width: 92%;
      width: auto;
      padding-left: 4%;
      padding-right: 4%; } }
  .section-lineup .headline {
    text-align: center;
    padding-bottom: 18px;
    background: url(../img/common/zigzag.svg) no-repeat 50% 100%/32px 9px; }
    .section-lineup .headline h2 {
      font-size: 29px;
      font-size: 2.9rem; }
  .section-lineup .lineup-list {
    padding-top: 3.75%; }
    .section-lineup .lineup-list ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
      .section-lineup .lineup-list ul li {
        width: 23.37838%;
        text-align: center; }
        .section-lineup .lineup-list ul li:not(:last-child) {
          margin-right: 2.16216%; }
        .section-lineup .lineup-list ul li figure .img {
          overflow: hidden; }
          .section-lineup .lineup-list ul li figure .img img {
            width: 100%;
            height: auto; }
        .section-lineup .lineup-list ul li figure figcaption {
          margin-top: 20px;
          color: #231815;
          font-weight: bold;
          position: relative;
          display: inline-block;
          padding-left: 15px;
          font-size: 1.4rem; }
          .section-lineup .lineup-list ul li figure figcaption::before {
            content: '';
            width: 7px;
            height: 7px;
            position: absolute;
            top: 50%;
            left: 0;
            background-color: transparent;
            border-top: 1px solid #231815;
            border-right: 1px solid #231815;
            margin-top: -3.5px;
            margin-left: -3.5px;
            transform: rotate(45deg); }

/* =============================================================================
   HOVER
============================================================================= */
@media screen and (min-width: 768px) {
  .lineup__list a .img img {
    -moz-transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    -o-transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1); }
  .lineup__list a:hover .img img {
    opacity: 0.8;
    -moz-transform: scale(1.05, 1.05);
    -ms-transform: scale(1.05, 1.05);
    -webkit-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05);
    -moz-transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    -o-transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1); }
  .lineup__list a:hover .btn {
    background-color: #25abb4 !important;
    color: white !important; }
    .lineup__list a:hover .btn::before {
      border-color: white !important;
      -moz-animation: arrow-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      -webkit-animation: arrow-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      animation: arrow-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1); }

  .news-area .news .news__body .news__btn a:hover::before {
    -moz-animation: detail-btn-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-animation: detail-btn-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    animation: detail-btn-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
  @keyframes detail-btn-anim {
    0% {
      transform: translateX(-150%) rotate(45deg); }
    100% {
      transform: translateX(0%) rotate(45deg); } }
  .news-area .news .news__body .news__list ul li a:hover span.txt::before {
    -moz-animation: detail-btn-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-animation: detail-btn-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    animation: detail-btn-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
  @keyframes detail-btn-anim {
    0% {
      transform: translateX(-150%) rotate(45deg); }
    100% {
      transform: translateX(0%) rotate(45deg); } }
  .interview-btn a {
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
    .interview-btn a:hover {
      background-color: #184360 !important;
      transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); }

  .lineup .lineup__list > ul > li .yoyaku-btn a:hover {
    color: #c10a12;
    background-color: #fff;
    border: 1px solid #c10a12;
    box-sizing: border-box; }
    .lineup .lineup__list > ul > li .yoyaku-btn a:hover span::before {
      content: '';
      width: 6px;
      height: 6px;
      position: absolute;
      top: 50%;
      left: 0;
      background-color: transparent;
      border-top: 1px solid #c10a12;
      border-right: 1px solid #c10a12;
      margin-top: -3px;
      margin-left: -3px;
      transform: rotate(45deg);
      animation: detail-btn-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1); } }
@media screen and (max-width: 768px) {
  /* btn
  ----------------------------------------------------------*/
  .red-border-btn a span:before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 58px;
    background: url(../img/common/icon_yoyaku_red.svg) no-repeat 50% 50%/16px 15px;
    float: left;
    margin-right: 6px; }

  .red-btn a {
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem; }
    .red-btn a span:before {
      content: "";
      display: inline-block;
      width: 16px;
      height: 58px;
      background: url(../img/common/icon_yoyaku_wh.svg) no-repeat 50% 50%/16px 15px;
      float: left;
      margin-right: 6px; }

  /* tittle
  ----------------------------------------------------------*/
  .line-tit {
    font-size: 21px;
    font-size: 2.1rem;
    border-bottom: 4px solid #3e99bb;
    margin-bottom: 30px; }

  /* アーチ
  ----------------------------------------------------------*/
  .container {
    width: 200px;
    height: 40px; }
    .container .arch {
      font-size: 12px;
      font-size: 1.2rem; }

  /* ==========================================================================
     archive-access.scss
     ========================================================================== */
  .headline h2 {
    font-size: 29px;
    font-size: 2.9rem; }

  .contents-header-archive {
    min-height: 0;
    background-color: #25abb4;
    position: relative;
    padding-bottom: 20px; }
    .contents-header-archive .main-image {
      display: block;
      background-size: cover !important;
      background-position: -50px 0 !important;
      width: 100%;
      height: 0;
      padding-bottom: 74.66667%;
      position: relative;
      top: 0; }
    .contents-header-archive h2 {
      font-size: 18px;
      font-size: 1.8rem;
      margin: 20px 0 6px;
      padding-left: 6.66667%; }
      .contents-header-archive h2 span {
        padding: 0 10px; }
    .contents-header-archive .en-tit {
      font-size: 25px;
      font-size: 2.5rem;
      margin-left: 6.66667%;
      position: relative;
      line-height: 1;
      padding: 0 10px; }

  .contents {
    text-align: center; }
    .contents .content-inner {
      padding: 0 4%;
      max-width: auto; }

  .copy-area {
    padding: 30px 4% 30px; }
    .copy-area .copy {
      text-align: left;
      line-height: 1.8; }

  .news-area {
    margin-bottom: 0; }
    .news-area .news {
      display: block;
      padding: 50px 0 50px; }
      .news-area .news .headline {
        margin-left: 0;
        text-align: left;
        background-position: 0 100%;
        margin-bottom: 8vw; }
        .news-area .news .headline h2, .news-area .news .headline p {
          width: auto;
          display: inline-block; }
      .news-area .news .news__body {
        display: flex;
        flex-direction: column; }
        .news-area .news .news__body .news__btn {
          order: 2;
          text-align: center; }
          .news-area .news .news__body .news__btn a {
            padding: 0 30px 0 40px;
            border: 1px solid #1c4e6f;
            height: 40px;
            line-height: 40px;
            border-radius: 20px;
            color: #231815; }
            .news-area .news .news__body .news__btn a::before {
              content: '';
              width: 6px;
              height: 6px;
              position: absolute;
              top: 50%;
              left: 0;
              background-color: transparent;
              border-top: 1px solid #1c4e6f;
              border-right: 1px solid #1c4e6f;
              margin-top: -3px;
              margin-left: -3px;
              transform: rotate(45deg);
              left: 25px; }
        .news-area .news .news__body .news__list {
          order: 1;
          padding: 0;
          padding-bottom: 8vw; }
          .news-area .news .news__body .news__list ul li span.date {
            margin-right: 1.96078%;
            width: 11.76471%; }
          .news-area .news .news__body .news__list ul li span.tag {
            width: 17.64706%;
            margin-right: 1.96078%; }
          .news-area .news .news__body .news__list ul li span.txt {
            font-size: 1.3rem;
            width: 66.66667%;
            position: relative; }

  .lineup {
    width: 100%;
    padding: 50px 4% 50px; }
    .lineup .lineup__list {
      width: 100%; }
      .lineup .lineup__list ul li {
        width: 47.82609%;
        background-color: #f4f4f4;
        margin-top: 40px;
        display: flex;
        flex-wrap: wrap; }
        .lineup .lineup__list ul li::after {
          content: "";
          display: block;
          clear: both; }
        .lineup .lineup__list ul li .img {
          width: 100%;
          height: 0;
          padding-bottom: 56.12245%;
          float: none;
          display: inline-block;
          overflow: hidden; }
        .lineup .lineup__list ul li .intaview-text {
          display: inline-block;
          width: 100%;
          text-align: left;
          padding: 0;
          position: relative;
          text-align: center;
          padding: 3.0303%;
          padding-bottom: 9.09091%; }
          .lineup .lineup__list ul li .intaview-text::after {
            content: "";
            display: block;
            clear: both; }
          .lineup .lineup__list ul li .intaview-text .int-tag {
            display: block;
            width: 100%;
            height: auto;
            background-color: #25abb4;
            line-height: 1.6;
            color: #fff;
            text-align: center;
            font-weight: bold;
            float: none;
            margin-right: 0;
            font-size: 13px;
            font-size: 1.3rem;
            padding: 6px;
            margin-bottom: 2px; }
          .lineup .lineup__list ul li .intaview-text .int-name {
            display: block;
            width: 100%;
            height: auto;
            background-color: #fff;
            line-height: 1.6;
            border: none;
            color: #25abb4;
            text-align: center;
            font-weight: bold;
            font-size: 13px;
            font-size: 1.3rem;
            padding: 6px; }
          .lineup .lineup__list ul li .intaview-text .int-text {
            text-align: left;
            font-size: 14px;
            font-size: 1.4rem;
            font-weight: bold;
            margin-top: 20px;
            line-height: 1.6;
            padding: 0 6.45161%; }
            .lineup .lineup__list ul li .intaview-text .int-text br {
              display: none; }
          .lineup .lineup__list ul li .intaview-text .btn {
            display: inline-block;
            margin: 0 auto;
            display: inline-block;
            padding: 0 20px 0 30px;
            height: 30px;
            line-height: 29px;
            border: 1px solid #1c4e6f;
            border-radius: 15px;
            text-decoration: none;
            color: #1c4e6f;
            font-size: 1.3rem;
            font-weight: bold;
            position: relative;
            border: 1px solid #25abb4;
            color: #25abb4;
            margin-top: 20px; }
            .lineup .lineup__list ul li .intaview-text .btn::before {
              content: '';
              width: 6px;
              height: 6px;
              position: absolute;
              top: 50%;
              left: 0;
              background-color: transparent;
              border-top: 1px solid #1c4e6f;
              border-right: 1px solid #1c4e6f;
              margin-top: -3px;
              margin-left: -3px;
              transform: rotate(45deg);
              left: 20px; } }
          @media screen and (max-width: 768px) and (min-width: 544px) {
            .lineup .lineup__list ul li .intaview-text .btn:hover {
              background-color: #1c4e6f;
              color: white; }
              .lineup .lineup__list ul li .intaview-text .btn:hover::before {
                border-color: white;
                animation: detail-btn-anim 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
            @keyframes detail-btn-anim {
              0% {
                transform: translateX(-150%) rotate(45deg); }
              100% {
                transform: translateX(0%) rotate(45deg); } } }
@media screen and (max-width: 768px) {
            .lineup .lineup__list ul li .intaview-text .btn::before {
              border-top: 1px solid #25abb4;
              border-right: 1px solid #25abb4; }
      .lineup .lineup__list ul li:nth-child(-n+2) {
        margin-top: 0; }

  .section-lineup .lineup-list ul li {
    width: 31.90141%;
    margin-bottom: 20px; }
    .section-lineup .lineup-list ul li:not(:last-child) {
      margin-right: 0; }
    .section-lineup .lineup-list ul li:not(:nth-child(3n)) {
      margin-right: 2.11268%; }
    .section-lineup .lineup-list ul li figure figcaption {
      margin-top: 15px; } }
@media screen and (max-width: 544px) {
  /* ==========================================================================
     archive-access.scss
     ========================================================================== */
  .contents-header-archive {
    margin-top: 60px; }

  .news-area {
    padding-top: 0px;
    padding-bottom: 0px;
    margin-bottom: 0;
    display: block; }
    .news-area .news {
      display: block;
      padding: 50px 0 50px; }
      .news-area .news .headline {
        margin-bottom: 30px;
        text-align: left;
        background-position: 0 100%;
        min-height: 0; }
        .news-area .news .headline h2, .news-area .news .headline p {
          width: auto;
          display: inline-block; }
      .news-area .news .news__body {
        display: flex;
        flex-direction: column; }
        .news-area .news .news__body .news__btn {
          order: 2;
          text-align: center; }
          .news-area .news .news__body .news__btn a {
            padding: 0 30px 0 40px;
            border: 1px solid #1c4e6f;
            height: 40px;
            line-height: 40px;
            border-radius: 20px;
            color: #231815; }
            .news-area .news .news__body .news__btn a::before {
              content: '';
              width: 6px;
              height: 6px;
              position: absolute;
              top: 50%;
              left: 0;
              background-color: transparent;
              border-top: 1px solid #1c4e6f;
              border-right: 1px solid #1c4e6f;
              margin-top: -3px;
              margin-left: -3px;
              transform: rotate(45deg);
              left: 25px; }
        .news-area .news .news__body .news__list {
          order: 1;
          padding: 0;
          padding-bottom: 8vw; }
          .news-area .news .news__body .news__list ul li span.date {
            width: auto; }
          .news-area .news .news__body .news__list ul li span.tag {
            width: 8em; }
          .news-area .news .news__body .news__list ul li span.txt {
            width: 100%;
            margin-top: 8px; }
          .news-area .news .news__body .news__list ul li a span.txt {
            padding-left: 16px; }
            .news-area .news .news__body .news__list ul li a span.txt::before {
              content: '';
              width: 6px;
              height: 6px;
              position: absolute;
              top: 50%;
              left: 0;
              background-color: transparent;
              border-top: 1px solid #1c4e6f;
              border-right: 1px solid #1c4e6f;
              margin-top: -3px;
              margin-left: -3px;
              transform: rotate(45deg);
              top: 0.9em; }

  .lineup .lineup__list ul li .intaview-text .btn {
    font-size: 10px;
    font-size: 1rem; }

  .btn-area {
    width: 92vw;
    padding: 40px 0;
    position: relative; }
    .btn-area .interview-btn a {
      width: 100%; }

  .section-lineup {
    padding-top: 40px;
    padding-bottom: 20px; }
    .section-lineup .headline {
      margin-bottom: 25px;
      text-align: left;
      background-position: 0 100%; }
      .section-lineup .headline h2, .section-lineup .headline p {
        width: auto;
        display: inline-block; }
    .section-lineup .lineup-list {
      padding-top: 0; }
      .section-lineup .lineup-list ul li {
        width: 44vw;
        margin-bottom: 20px; }
        .section-lineup .lineup-list ul li:not(:last-child) {
          margin-right: 0; }
        .section-lineup .lineup-list ul li:not(:nth-child(3n)) {
          margin-right: 0; }
        .section-lineup .lineup-list ul li:not(:nth-child(2n)) {
          margin-right: 4vw; }
        .section-lineup .lineup-list ul li figure figcaption {
          margin-top: 10px;
          font-size: 1.2rem; } }
