@charset "UTF-8";


/*
  ##### www.kariyushi.co.jp #####

  [Base]
  - Reset
  - Init
  [Layout]
  - Container
  - Header
  - Content
  - Footer
  [Module]

*/
/* =========================================================
[Base]
========================================================= */
/* --------------------------------------------------
  0. Reset
-------------------------------------------------- */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
p,
blockquote,
th,
td,
form,
fieldset,
legend {
  margin: 0;
  padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
  margin: 0;
  padding: 0;
}

body {
  line-height: 1;
}

div {
  outline: none;
}

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

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

caption,
th,
td {
  text-align: left;
  vertical-align: top;
  font-weight: normal;
}

fieldset {
  border: none;
}

input,
textarea,
select,
label {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: middle;
}

label {
  cursor: pointer;
}

textarea {
  overflow: auto;
}

/* --------------------------------------------------
  1. Init
-------------------------------------------------- */
img {
  border: none;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

picture {
  display: block;
}

object {
  vertical-align: middle;
  outline: none;
}

em,
strong {
  font-weight: bold;
  font-style: normal;
}

small {
  font-size: 100%;
}

abbr,
acronym {
  border: none;
  font-variant: normal;
}

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

address,
caption,
cite,
code,
dfn,
var {
  font-weight: normal;
  font-style: normal;
}

code,
pre {
  font-family: monospace;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  word-break: normal;
}

/* =========================================================
[Layout]
========================================================= */
/* //////////////////////////////////////////////////
[Layout]
////////////////////////////////////////////////// */
html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: 62.5%;
}

body {
  color: #333333;
  font-size: 1.0rem;
  line-height: 1.5;
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HiraMinProN-W3", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", "Meiryo", serif;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  overflow-wrap: break-word;
  background-color: #ffffff;
}

a {
  text-decoration: underline;
}

a:link, a:visited {
  color: #1D7CB8;
}

a:link:hover, a:link:active, a:visited:hover, a:visited:active {
  text-decoration: none;
}

@media only screen and (max-width: 959px) {
  html {
    font-size: 1.04167vw;
  }
}

@media only screen and (max-width: 559px) {
  html {
    font-size: 10px;
  }
}

/* --------------------------------------------------
  Contents & Container
-------------------------------------------------- */
.contents {
  padding-top: 8.8rem;
}

.main {
  line-height: 2;
  font-size: 1.4rem;
}

.l-inner {
  max-width: 854px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2.7rem;
  padding-left: 2.7rem;
}

@media only screen and (max-width: 1080px) {
  .contents {
    padding-top: 7.4rem;
  }
}

@media only screen and (max-width: 559px) {
  .contents {
    padding-top: 6.2rem;
  }
  .main {
    line-height: 1.71429;
  }
  .l-inner {
    padding-right: 5.86667%;
    padding-left: 5.86667%;
  }
}

/* --------------------------------------------------
  Header
-------------------------------------------------- */
.siteHeader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 8.8rem;
  background-color: #fff;
}

.headerTop {
  display: flex;
  height: 100%;
  align-items: center;
}

.headerTop .siteName {
  margin: 0 auto 0 0;
}

.headerTop .hamburgerButton {
  display: none;
}

.siteName {
  width: 21.2rem;
  line-height: 1;
  padding: 0 4rem;
}

.headerNav {
  display: flex;
  align-items: center;
  height: 100%;
}

.headerNav__menu {
  display: flex;
  height: 100%;
  margin: 0 1rem 0 0;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
}

.headerNav__menu > li {
  height: 100%;
  margin-right: 3rem;
}

.headerNav__menu > li a {
  display: flex;
  align-items: center;
  height: 100%;
}

.headerNav__menu a {
  text-decoration: none;
  transition: color 0.3s ease;
}

.headerNav__menu a:link, .headerNav__menu a:visited {
  color: #000;
}

.headerNav__menu a:hover {
  color: #B81D21;
}

.headerNav__label {
  display: flex;
  align-items: center;
  position: relative;
  height: 100%;
  cursor: pointer;
}

.headerNav__label:after {
  content: '';
  position: absolute;
  bottom: 1.9rem;
  right: 0;
  left: 0;
  width: 1.7rem;
  height: .9rem;
  margin: 0 auto;
  background: url(../img/common/arrow01_down.svg) no-repeat 0 0;
  background-size: contain;
}

.headerNav__button {
  width: 22rem;
  height: 100%;
  line-height: 1;
}

.headerNav__button .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #333;
}

.headerNav__button .btn:link, .headerNav__button .btn:visited {
  color: #fff;
}

.headerNav__button .btn:hover {
  background-color: #B81D21;
}

.headerNav__button .label {
  text-align: left;
}

.headerNav__button .font-en, .headerNav__button .cardLayout__step,
.headerNav__button .jp {
  display: block;
}

.headerNav__button .font-en, .headerNav__button .cardLayout__step {
  margin-bottom: .5rem;
  font-weight: 500;
  font-size: 2.3rem;
  letter-spacing: 0.12em;
}

.headerNav__button .jp {
  font-size: 1.1rem;
  letter-spacing: 0.06em;
}

.megaMenu:hover .headerNav__label {
  color: #B81D21;
}

.megaMenu:hover > .megaMenu__panel {
  z-index: 10;
  opacity: 1;
  visibility: visible;
}

.megaMenu__panel {
  position: absolute;
  top: 8.8rem;
  left: 0;
  z-index: -1;
  width: 100%;
  padding: 5rem 4rem;
  background-color: #F6F5F3;
  letter-spacing: 0.08em;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
}

.megaMenu__row {
  display: flex;
}

.megaMenu__heading {
  position: relative;
  line-height: 1.44444;
  margin: 1.4rem 3.5rem 1.4rem 0;
  padding-right: 10rem;
  color: #B81D21;
  font-size: 1.8rem;
  white-space: nowrap;
}

.megaMenu__heading:after {
  content: '';
  position: absolute;
  top: -1.4rem;
  right: 0;
  width: 1px;
  height: calc(100% + 2.8rem);
  background-color: #BE3438;
}

.megaMenu__list {
  display: flex;
  flex-wrap: wrap;
  line-height: 1;
  padding: .5rem 0;
  font-size: 1.4rem;
}

.megaMenu__list li {
  width: calc(50% - 7rem);
  margin: 1.5rem 3.5rem;
}

.megaMenu__list a {
  display: inline-block;
  position: relative;
  padding-left: 1.4rem;
}

.megaMenu__list a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: .7rem;
  height: 1.3rem;
  margin: 0 auto;
  background: url(../img/common/arrow01_right.svg) no-repeat 0 0;
  background-size: contain;
}

@media only screen and (max-width: 1080px) {
  .siteHeader {
    height: 7.4rem;
    transition: background-color 0.4s ease;
  }
  .is-open-drawer .siteHeader {
    background-color: #F6F5F3;
  }
  .siteHeader:before {
    content: '';
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    width: 0;
    height: 0;
    margin: 0 auto;
    transition: all 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
  .is-open-drawer .siteHeader:before {
    width: 100%;
    height: 1px;
    background-color: #ddd;
  }
  .siteName {
    width: 17.2rem;
    padding: 0 2.6rem;
  }
  .headerNav {
    display: none;
  }
  .headerTop .hamburgerButton {
    display: block;
  }
  .hamburgerButton {
    position: relative;
    width: 9.5rem;
    height: 100%;
  }
  .hamburgerButton .bar1,
  .hamburgerButton .bar2 {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 45.26316%;
    height: 1px;
    margin: auto;
    background-color: #B53134;
    transition: 0.2s ease;
  }
  .hamburgerButton .bar1 {
    top: -.8rem;
  }
  .is-open-drawer .hamburgerButton .bar1 {
    top: 0;
    transform: rotate(-135deg);
  }
  .hamburgerButton .bar2 {
    bottom: -.8rem;
  }
  .is-open-drawer .hamburgerButton .bar2 {
    bottom: 0;
    transform: rotate(135deg);
  }
}

@media only screen and (max-width: 559px) {
  .siteHeader {
    height: 6.2rem;
  }
  .siteName {
    width: 14.4rem;
    padding: 0 5.86667%;
  }
  .hamburgerButton {
    width: 8rem;
  }
  .hamburgerButton .bar1,
  .hamburgerButton .bar2 {
    width: 45%;
  }
}

/* --------------------------------------------------
  Drawer
-------------------------------------------------- */
.drawerWrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  transform: translateY(-100%);
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media only screen and (max-width: 1080px) {
  .drawerWrapper {
    display: block;
  }
  .drawerWrapper.is-open {
    transform: translateY(0);
    transition: transform 0.4s ease-out;
  }
  .drawerBody {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 7.4rem 2.6rem 3.6rem;
    color: #fff;
    background-color: #F6F5F3;
    overflow-y: scroll;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .drawerNav__menu {
    line-height: 1.4;
    color: #000;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
  }
  .drawerNav__menu > li {
    border-bottom: 1px solid #ddd;
  }
  .drawerNav__menu > li a {
    display: flex;
    align-items: center;
    height: 5.9rem;
    padding: .6rem 0;
  }
  .drawerNav__menu a {
    text-decoration: none;
  }
  .drawerNav__menu a:link, .drawerNav__menu a:visited {
    color: #000;
  }
  .drawerNav__menu .font-en, .drawerNav__menu .cardLayout__step {
    display: inline-block;
    margin-left: 0.66667em;
    color: #B81D21;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .drawerNav__label {
    display: flex;
    align-items: center;
    position: relative;
    height: 5.9rem;
    padding: .6rem 0;
  }
  .drawerNav__label:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 1.7rem;
    height: .9rem;
    margin: auto 0;
    background: url(../img/common/arrow01_down.svg) no-repeat center bottom;
    background-size: contain;
    transition: transform 0.3s ease;
  }
  .drawerNav__label.is-open:after {
    transform: rotate(-180deg);
  }
  .drawerNav__panel {
    display: none;
  }
  .drawerNav__subMenu {
    line-height: 1.38462;
    font-size: 1.3rem;
    letter-spacing: 0.08em;
  }
  .drawerNav__subMenu > li {
    border-top: 1px solid #ddd;
  }
  .drawerNav__subMenu > li a {
    display: flex;
    align-items: center;
    height: 5.5rem;
    padding: .6rem 1.2rem;
  }
  .drawerNav__button {
    width: 39rem;
    height: 10rem;
    line-height: 1;
    margin: 7rem auto 0;
  }
  .drawerNav__button .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #333;
  }
  .drawerNav__button .btn:link, .drawerNav__button .btn:visited {
    color: #fff;
  }
  .drawerNav__button .label {
    text-align: left;
  }
  .drawerNav__button .font-en, .drawerNav__button .cardLayout__step,
  .drawerNav__button .jp {
    display: inline-block;
  }
  .drawerNav__button .font-en, .drawerNav__button .cardLayout__step {
    margin-bottom: .5rem;
    font-weight: 500;
    font-size: 2rem;
    letter-spacing: 0.12em;
  }
  .drawerNav__button .jp {
    margin-right: 1em;
    font-size: 1.2rem;
    letter-spacing: 0.08em;
  }
  .drawerNav__button .arrow {
    position: absolute;
    bottom: 1.4rem;
    right: 2rem;
    width: 8.6rem;
    height: 1rem;
    overflow: hidden;
    stroke: #fff;
  }
  .drawerNav__button .arrow .svg {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
  }
}

@media only screen and (max-width: 559px) {
  .drawerBody {
    padding: 6.2rem 5.86667% 3rem;
  }
  .drawerNav__button {
    width: 100%;
    height: 8.4rem;
  }
}

/* --------------------------------------------------
  Footer
-------------------------------------------------- */
.siteFooter {
  padding-top: 10rem;
  padding-bottom: 5.5rem;
  color: #fff;
  background-color: #333;
}

.siteFooter__row {
  display: flex;
  justify-content: space-between;
  position: relative;
  max-width: 1200px;
  margin-right: auto;
  margin-bottom: 7.5rem;
  margin-left: auto;
  padding-right: 2.7rem;
  padding-left: 2.7rem;
}

.siteFooter__row:after {
  content: '';
  position: absolute;
  top: 0;
  left: 69.58333%;
  width: 1px;
  height: 100%;
  background-color: #666;
}

.footerNav--01 {
  width: 70.50611%;
}

.footerNav--01 .footerNav__menu {
  margin-right: 4.5rem;
}

.footerNav--01 .footerNav__menu:last-child {
  margin-right: 0;
}

.footerNav--02 {
  width: 21.81501%;
}

.footerNav--02 .footerNav__label {
  display: none;
}

.footerNav__heading {
  line-height: 1;
  margin: 0 0 3rem;
  color: #666;
  font-weight: 500;
  font-size: 2.2rem;
  font-family: "Cormorant", serif;
  letter-spacing: 0.32em;
}

.footerNav__row {
  display: flex;
}

.footerNav__menu {
  line-height: 1.30769;
  font-size: 1.3rem;
  letter-spacing: 0.21em;
}

.footerNav__menu li + li {
  margin-top: 2.4rem;
}

.footerNav__menu a {
  text-decoration: none;
  transition: color 0.3s ease;
}

.footerNav__menu a:link, .footerNav__menu a:visited {
  color: #fff;
}

.footerNav__menu a:hover {
  color: #666;
}

.footerNav__subMenu {
  line-height: 1.33333;
  font-size: 1.2rem;
}

.footerNav__subMenu li {
  position: relative;
  margin-top: 1.8rem;
  padding-left: 1em;
}

.footerNav__subMenu li:before {
  content: '-';
  position: absolute;
  top: 0;
  left: 0;
}

.copyright {
  line-height: 1.30769;
  font-family: "Cormorant", serif;
  font-size: 1.3rem;
  text-align: center;
  text-indent: 0.05em;
  letter-spacing: 0.05em;
}

@media only screen and (max-width: 959px) {
  .siteFooter__row {
    display: block;
  }
  .siteFooter__row:after {
    content: none;
  }
  .footerNav--01 {
    width: auto;
    margin-right: 0;
    margin-bottom: 3.5rem;
  }
  .footerNav--02 {
    width: auto;
    padding-top: 3.5rem;
    border-top: 1px solid #666;
  }
}

@media only screen and (max-width: 559px) {
  .siteFooter {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
  .siteFooter__row {
    margin-bottom: 0;
    padding-right: 5.86667%;
    padding-left: 5.86667%;
  }
  .footerNav--01 {
    margin-bottom: 0;
  }
  .footerNav--01 .footerNav__menu {
    margin-right: 0;
  }
  .footerNav--02 {
    padding-top: 0;
    border-top: 1px solid #666;
  }
  .footerNav--02 .footerNav__label {
    display: flex;
  }
  .footerNav--02 .footerNav__menu > li {
    border-top: none;
  }
  .footerNav__label {
    display: flex;
    align-items: center;
    position: relative;
    height: 4.9rem;
    line-height: 1.36364;
    margin-bottom: 0;
    padding: .6rem 0;
    color: #fff;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", "HiraMinProN-W3", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", "Meiryo", serif;
    font-weight: normal;
    font-size: 1.1rem;
  }
  .footerNav__label:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 1.5rem;
    height: .8rem;
    margin: auto 0;
    background: url(../img/common/arrow02_down.svg) no-repeat center bottom;
    background-size: contain;
    transition: transform 0.3s ease;
  }
  .footerNav__label.is-open:after {
    transform: rotate(-180deg);
  }
  .footerNav__row {
    display: block;
  }
  .footerNav__menu {
    line-height: 1.36364;
    font-size: 1.1rem;
    letter-spacing: 0.32em;
  }
  .footerNav__menu > li {
    border-top: 1px solid #666;
  }
  .footerNav__menu > li a {
    display: flex;
    align-items: center;
    height: 4.9rem;
    padding: .6rem 0;
  }
  .footerNav__menu li + li {
    margin-top: 0;
  }
  .footerNav__menu a:hover {
    color: #fff;
  }
  .footerNav__panel {
    display: none;
    height: auto;
    margin-right: -6.64653%;
    margin-left: -6.64653%;
    padding-right: 6.64653%;
    padding-left: 6.64653%;
    background-color: #F6F5F3;
  }
  .footerNav__panel .footerNav__menu > li,
  .footerNav__panel .footerNav__subMenu > li,
  .footerNav__panel ul > li {
    border-top: 1px solid #ddd;
  }
  .footerNav__panel .footerNav__menu > li:first-child,
  .footerNav__panel .footerNav__subMenu > li:first-child,
  .footerNav__panel ul > li:first-child {
    border-top: none;
  }
  .footerNav__panel .footerNav__menu > li a,
  .footerNav__panel .footerNav__subMenu > li a,
  .footerNav__panel ul > li a {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .footerNav__panel .footerNav__menu > li a:link, .footerNav__panel .footerNav__menu > li a:visited,
  .footerNav__panel .footerNav__subMenu > li a:link,
  .footerNav__panel .footerNav__subMenu > li a:visited,
  .footerNav__panel ul > li a:link,
  .footerNav__panel ul > li a:visited {
    color: #333;
  }
  .footerNav__subMenu {
    line-height: 1.36364;
    font-size: 1.1rem;
  }
  .footerNav__subMenu li {
    margin-top: 0;
    padding-left: 0;
  }
  .footerNav__subMenu li:before {
    content: none;
  }
  .copyright {
    line-height: 1.3;
    padding-top: 4rem;
    border-top: 1px solid #666;
    font-size: 1rem;
  }
}

/* =========================================================
[Module]
========================================================= */
/* //////////////////////////////////////////////////
[Module]
////////////////////////////////////////////////// */
/* --------------------------------------------------
  Clearfix
-------------------------------------------------- */
.group:after {
  display: block;
  content: "";
  clear: both;
}

/* --------------------------------------------------
  Interaction
-------------------------------------------------- */
a img,
.hover a {
  transition: 0.3s ease;
}

a:hover img,
.hover a:hover,
.hover a:hover img {
  opacity: 0.70;
}

/* --------------------------------------------------
  Heading
-------------------------------------------------- */
/* ページタイトル */
.pageTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 18.8rem;
  border-bottom: .8rem solid #C0373B;
}

.pageTitle__text {
  line-height: 1;
  font-weight: normal;
  text-align: center;
}

.pageTitle__text .font-en, .pageTitle__text .cardLayout__step {
  display: block;
  line-height: 1.21818;
  margin-bottom: .3rem;
  color: #B81D21;
  font-weight: 500;
  font-size: 5.5rem;
  text-indent: 0.02em;
  letter-spacing: 0.02em;
}

.pageTitle__text .jp {
  display: block;
  line-height: 1.125;
  font-size: 1.6rem;
  text-indent: 0.16em;
  letter-spacing: 0.16em;
}

@media only screen and (max-width: 559px) {
  .pageTitle {
    height: 14.7rem;
    border-bottom-width: .5rem;
  }
  .pageTitle__text {
    padding: 0 1rem;
  }
  .pageTitle__text .font-en, .pageTitle__text .cardLayout__step {
    line-height: 1.23333;
    margin-bottom: 1.4rem;
    font-size: 3rem;
  }
  .pageTitle__text .jp {
    line-height: 1.15385;
    font-size: 1.3rem;
    text-indent: 0.08em;
    letter-spacing: 0.08em;
  }
}

/* 汎用見出し */
.ttl-A {
  position: relative;
  margin-bottom: 6rem;
  padding-top: 6.9rem;
  font-weight: normal;
  text-align: center;
}

.ttl-A .jp {
  display: inline-block;
  padding-top: 1.6rem;
  border-top: 1px solid #B81D21;
  font-size: 1.6rem;
  text-indent: 0.08em;
  letter-spacing: 0.08em;
}

.ttl-A .font-en, .ttl-A .cardLayout__step {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  line-height: 1.2;
  color: #B81D21;
  font-weight: 500;
  font-size: 5rem;
  text-indent: 0.02em;
  letter-spacing: 0.02em;
}

.ttl-B {
  position: relative;
  line-height: 1.23077;
  margin: 0 0 5rem;
  padding-bottom: 1.9rem;
  color: #B81D21;
  font-weight: normal;
  font-size: 2.6rem;
  text-align: center;
  text-indent: 0.08em;
  letter-spacing: 0.08em;
}

.ttl-B:after {
  content: '';
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  width: 6rem;
  height: 1px;
  margin: 0 auto;
  background-color: #B81D21;
}

.ttl-C {
  line-height: 1.33333;
  margin: 0 0 5rem;
  padding: 1.2rem;
  background-color: #F6F5F3;
  font-weight: 600;
  font-size: 1.8rem;
  text-align: center;
  text-indent: 0.08em;
  letter-spacing: 0.08em;
}

@media only screen and (max-width: 559px) {
  .ttl-A {
    margin-bottom: 5.6rem;
    padding-top: 5.3rem;
  }
  .ttl-A .jp {
    padding-top: 2rem;
    font-size: 1.3rem;
  }
  .ttl-A .font-en, .ttl-A .cardLayout__step {
    line-height: 1.23333;
    font-size: 3rem;
  }
  .ttl-B {
    line-height: 1.33333;
    margin-bottom: 4rem;
    padding-bottom: 1.8rem;
    font-size: 1.8rem;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
  }
  .ttl-B:after {
    width: 5rem;
  }
  .ttl-C {
    line-height: 1.4;
    margin-bottom: 4rem;
    padding: .7rem;
    font-size: 1.5rem;
  }
}

/* --------------------------------------------------
  Button
-------------------------------------------------- */
.btn {
  display: inline-block;
  margin: 0 auto;
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
  text-decoration: none;
  text-align: center;
  appearance: none;
  cursor: pointer;
  text-indent: 0.04em;
  letter-spacing: 0.04em;
  transition: 0.3s ease;
}

/* --------------------------------------------------
  Text
-------------------------------------------------- */
.font-en, .cardLayout__step {
  font-family: "Cormorant", serif;
}

.font-en2 {
  font-family: "din-1451-lt-pro-engschrift", sans-serif;
}

.font-gothic {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

/* --------------------------------------------------
  Table
-------------------------------------------------- */
.table-A {
  width: 100%;
  line-height: 1.625;
  border-top: 1px solid #ddd;
  font-size: 1.6rem;
}

.table-A th, .table-A td {
  padding: 3.1rem 2rem;
  border-bottom: 1px solid #ddd;
}

.table-A th {
  color: #666;
}

.table-companyProf th {
  width: 19.6rem;
}

@media only screen and (max-width: 559px) {
  .table-A {
    line-height: 1.71429;
    font-size: 1.4rem;
  }
  .table-A tr, .table-A th, .table-A td {
    display: block;
    width: 100%;
  }
  .table-A th {
    width: auto !important;
    padding: 1.9rem 0 .4rem;
    border-bottom: none;
  }
  .table-A td {
    padding: .4rem 0 1.9rem;
  }
  .table-companyProf th {
    width: auto;
  }
}

/* --------------------------------------------------
  Page Image
-------------------------------------------------- */
.pageImage {
  height: 20rem;
  line-height: 1;
  text-align: center;
}

.pageImage__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media only screen and (max-width: 559px) {
  .pageImage {
    height: auto;
  }
  .pageImage__img {
    width: 100%;
    height: auto;
  }
}

/* --------------------------------------------------
  Bread Crumbs
-------------------------------------------------- */
.breadcrumbs {
  margin-bottom: 8rem;
  padding: 1.6rem 4rem;
  background-color: #F6F5F3;
}

.breadcrumbs__list {
  line-height: 1.30769;
  color: #333;
  font-size: 1.3rem;
}

.breadcrumbs__list a {
  text-decoration: none;
  transition: 0.3s ease;
}

.breadcrumbs__list a:link, .breadcrumbs__list a:visited {
  color: #000;
}

.breadcrumbs__list a:hover {
  color: #B81D21;
}

.breadcrumbs__list .sep {
  margin: 0 0.61538em;
}

.breadcrumbs__list .current-item {
  color: #B81D21;
}

@media only screen and (max-width: 559px) {
  .breadcrumbs {
    margin-bottom: 5rem;
    padding: 1.6rem 5.86667%;
  }
  .breadcrumbs__list {
    line-height: 1.33333;
    font-size: 1.2rem;
    overflow: auto;
    white-space: nowrap;
  }
  .breadcrumbs__list .sep {
    margin: 0 0.66667em;
  }
}

/* --------------------------------------------------
  Entry
-------------------------------------------------- */
/* 共通 */
.entry-meta {
  display: flex;
  line-height: 1;
}

.entry-meta .entry-date,
.entry-meta .entry-cat {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 0.1em;
}

.entry-meta .entry-date + .entry-cat {
  margin-left: 1.53846em;
  padding-left: 1.53846em;
  border-left: 1px solid #333;
}

.entry-meta .entry-date {
  line-height: 1.66667;
  font-weight: bold;
  font-size: 1.5rem;
}

.entry-meta .entry-cat {
  line-height: 1.92308;
  font-weight: bold;
  font-size: 1.3rem;
}

@media only screen and (max-width: 559px) {
  .entry-meta .entry-date + .entry-cat {
    margin-left: 1.33333em;
    padding-left: 1.33333em;
  }
  .entry-meta .entry-date {
    line-height: 1.66667;
    font-size: 1.2rem;
  }
  .entry-meta .entry-cat {
    line-height: 1.66667;
    font-size: 1.2rem;
  }
}

/* 一覧ページ */
.entryList {
  border-top: 1px solid #333;
  margin-bottom: 3rem;
}

.entryList .newsSummary {
  padding: 3.3rem 1rem;
  border-bottom: 1px solid #333;
}

.entryList .entry-meta {
  margin-bottom: 1.2rem;
}

.entryList .entry-title {
  line-height: 1.42857;
  font-weight: normal;
  font-size: 1.4rem;
}

.entryList .entry-more {
  position: relative;
  right: -1rem;
  margin: 2.2rem 0 0;
  text-align: right;
}

.entryList .link-more {
  width: 13.8rem;
  line-height: 1.25;
  font-size: 1.6rem;
}

.entryList .link-more .arrow {
  width: 13rem;
}

.entryList a {
  text-decoration: none;
  transition: color 0.3s ease;
}

.entryList a:link, .entryList a:visited {
  color: #333;
}

.entryList a:hover {
  color: #B81D21;
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1.42105;
  margin-top: 4.4rem;
  font-size: 3.8rem;
  font-weight: 300;
  font-family: "Cormorant", serif;
}

.pagination a, .pagination span {
  display: inline-block;
  margin: 1rem 1.4rem;
}

.pagination a {
  text-decoration: none;
  transition: 0.3s ease;
}

.pagination a:link, .pagination a:visited {
  color: #B81D21;
}

.pagination a:hover {
  color: #333;
}

.pagination .prev {
  margin-left: 0;
}

.pagination .next {
  margin-right: 0;
}

.pagination .current {
  border-bottom: 1px solid #333;
}

@media only screen and (max-width: 559px) {
  .entryList .newsSummary {
    padding: 3.3rem 0;
  }
  .entryList .entry-title {
    line-height: 1.71429;
  }
  .entryList .entry-more {
    right: 0;
    margin-top: 3rem;
  }
  .pagination {
    line-height: 1.2;
    margin-top: 4rem;
    font-size: 4rem;
  }
  .pagination a, .pagination span {
    margin: 1rem 1.2rem;
  }
}

/* 詳細ページ */
.newsArticle .entry-header {
  margin-bottom: 3.6rem;
}

.newsArticle .entry-meta {
  margin-bottom: 3.4rem;
}

.newsArticle .entry-title {
  line-height: 1.36364;
  font-size: 2.2rem;
  letter-spacing: 0.08em;
}

.newsArticle .entry-image {
  line-height: 1;
  margin-bottom: 6rem;
  text-align: center;
}

.newsArticle .entry-content {
  margin-bottom: 7rem;
}

.newsArticle .entry-backTo {
  text-align: center;
}

.entry-content {
  line-height: 2;
}

.entry-content p, .entry-content ul, .entry-content ol {
  margin-bottom: 2em;
}

.entry-content ul {
  list-style-type: disc;
  padding-left: 1.5em;
}

.entry-content ol {
  list-style-type: decimal;
  padding-left: 1.5em;
}

@media only screen and (max-width: 559px) {
  .newsArticle .entry-header {
    margin-bottom: 1.8rem;
  }
  .newsArticle .entry-meta {
    margin-bottom: 1.8rem;
  }
  .newsArticle .entry-title {
    line-height: 1.33333;
    font-size: 1.8rem;
  }
  .newsArticle .entry-image {
    margin-bottom: 4.6rem;
  }
  .newsArticle .entry-content {
    margin-bottom: 4.6rem;
  }
  .entry-content {
    line-height: 1.71429;
  }
  .entry-content p, .entry-content ul, .entry-content ol {
    margin-bottom: 1.71429em;
  }
}

/* --------------------------------------------------
  List
-------------------------------------------------- */
/* --------------------------------------------------
  Link
-------------------------------------------------- */
.link-more {
  display: inline-block;
  position: relative;
  width: 17rem;
  line-height: 1.4;
  padding-bottom: .4rem;
  font-family: "Cormorant", serif;
  font-weight: 500;
  font-size: 2rem;
  text-decoration: none;
  text-align: left;
  letter-spacing: 0.085em;
  transition: color 0.3s ease;
}

.link-more:link, .link-more:visited {
  color: #000;
}

.link-more .arrow {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 15rem;
  height: 1rem;
  overflow: hidden;
  stroke: #000;
  transition: stroke 0.3s ease;
}

.link-more .arrow .svg {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
}

.link-more:hover {
  color: #B81D21;
}

.link-more:hover .arrow {
  stroke: #B81D21;
}

.link-back {
  display: inline-block;
  position: relative;
  width: 16rem;
  line-height: 1.4;
  padding-bottom: .4rem;
  font-family: "Cormorant", serif;
  font-weight: 500;
  font-size: 2rem;
  text-decoration: none;
  text-align: right;
  letter-spacing: 0.085em;
  transition: color 0.3s ease;
}

.link-back:link, .link-back:visited {
  color: #000;
}

.link-back .arrow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 15rem;
  height: 1rem;
  overflow: hidden;
  stroke: #000;
  transform: scale(-1, 1);
  transition: stroke 0.3s ease;
}

.link-back .arrow .svg {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
}

.link-back:hover {
  color: #B81D21;
}

.link-back:hover .arrow {
  stroke: #B81D21;
}

.link-tel {
  text-decoration: none;
  cursor: text;
}

.link-tel:link, .link-tel:visited {
  color: #333333;
}

@media only screen and (max-width: 559px) {
  .link-more,
  .link-back {
    width: 13.8rem;
    line-height: 1.25;
    font-size: 1.6rem;
  }
  .link-more .arrow,
  .link-back .arrow {
    width: 13rem;
  }
  .link-tel {
    text-decoration: underline;
    cursor: pointer;
  }
  .link-tel:link, .link-tel:visited {
    color: #1D7CB8;
  }
}

/* --------------------------------------------------
  Section
-------------------------------------------------- */
/* --------------------------------------------------
  Box
-------------------------------------------------- */
/* Video */
.embedVideo {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}

.embedVideo:before {
  content: '';
  display: block;
  padding-top: 56.25%;
}

.embedVideo__frame {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --------------------------------------------------
  Form
-------------------------------------------------- */
/* --------------------------------------------------
  Icons
-------------------------------------------------- */
.icon-pdf {
  display: inline-block;
  position: relative;
  top: 0.14286em;
  width: 0.78571em;
  height: 1.07143em;
  line-height: 1;
}

/* --------------------------------------------------
  Splash
-------------------------------------------------- */
.splash {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3000;
  width: 100vw;
  height: 100vh;
  background-color: #F6F5F3;
  transition: all 1s ease;
}

.splash.is-loaded {
  opacity: 0;
  visibility: hidden;
}

.splash__logo {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 25rem;
  height: 9.8rem;
  margin: auto;
}

.splash__logo img {
  width: 100%;
  max-width: none;
  height: auto;
}

@media only screen and (max-width: 559px) {
  .splash__logo {
    width: 20rem;
    height: 7.9rem;
  }
}

/* --------------------------------------------------
  Show / Hide / Line Break
-------------------------------------------------- */
.br-tab,
.br-sp {
  display: none;
}

.br-tab.br-pc,
.br-sp.br-pc,
.br-pc {
  display: inline-block;
}

.hidden-block-pc {
  display: none;
}

@media only screen and (max-width: 959px) {
  .br-sp.br-pc,
  .br-pc,
  .br-sp {
    display: none;
  }
  .br-pc.br-tab,
  .br-sp.br-tab,
  .br-tab {
    display: inline-block;
  }
  .hidden-block-pc.hidden-block-tab,
  .hidden-block-sp.hidden-block-tab,
  .hidden-block-tab {
    display: none;
  }
  .hidden-block-sp.hidden-block-pc,
  .hidden-block-pc,
  .hidden-block-sp {
    display: block;
  }
}

@media only screen and (max-width: 559px) {
  .br-tab.br-pc,
  .br-pc,
  .br-tab {
    display: none;
  }
  .br-pc.br-sp,
  .br-tab.br-sp,
  .br-sp {
    display: inline-block;
  }
  .hidden-block-pc.hidden-block-sp,
  .hidden-block-tab.hidden-block-sp,
  .hidden-block-sp {
    display: none;
  }
  .hidden-block-tab.hidden-block-pc,
  .hidden-block-pc,
  .hidden-block-tab {
    display: block;
  }
}

/* --------------------------------------------------
  animate.css
-------------------------------------------------- */
/*!
 * animate.css -https://daneden.github.io/animate.css/
 * Version - 3.7.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2019 Daniel Eden
 */
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2rem, 0);
    transform: translate3d(0, 2rem, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2rem, 0);
    transform: translate3d(0, 2rem, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2rem, 0);
    transform: translate3d(0, -2rem, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2rem, 0);
    transform: translate3d(0, -2rem, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animated {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.delay-num0 {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.animated.delay-num1 {
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
}

.animated.delay-num2 {
  -webkit-animation-delay: .4s;
  animation-delay: .4s;
}

.animated.delay-num3 {
  -webkit-animation-delay: .6s;
  animation-delay: .6s;
}

.animated.delay-num4 {
  -webkit-animation-delay: .8s;
  animation-delay: .8s;
}

.animated.delay-num5 {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.animated.delay-num6 {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}

.animated.delay-num7 {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}

.animated.delay-num8 {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
}

/* --------------------------------------------------
  Other
-------------------------------------------------- */
/* object-fit polyfill */
.object-fit-img {
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

/* =========================================================
[Pages]
========================================================= */
/* //////////////////////////////////////////////////
[Pages]
////////////////////////////////////////////////// */
/* --------------------------------------------------
HOME
-------------------------------------------------- */
/* メインビジュアル */
.mainVisual {
  position: relative;
  height: calc(100vh - 8.8rem);
  margin-bottom: 4.5rem;
}

.mainVisual__image {
  width: 100%;
  height: 100%;
}

.mainVisual__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mainVisual__catch {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.81818;
  margin: auto;
  color: #fff;
  font-weight: 600;
  font-size: 2.2rem;
  text-align: center;
  text-indent: 0.22em;
  letter-spacing: 0.22em;
}

@media only screen and (max-width: 559px) {
  .mainVisual {
    height: calc(100vh - 6.2rem);
    margin-bottom: 1.5rem;
  }
  .mainVisual__catch {
    line-height: 2.30769;
    font-size: 1.3rem;
    text-indent: 0.06em;
    letter-spacing: 0.06em;
  }
}

/* グループについて */
.homeGroup {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}

.homeGroup .l-inner {
  max-width: 1200px;
}

.homeGroup .embedVideo {
  max-width: 800px;
  margin-bottom: 6rem;
}

.homeGroup__lead {
  line-height: 2.5;
  font-size: 1.6rem;
  text-align: center;
  text-indent: 0.14em;
  letter-spacing: 0.14em;
}

@media only screen and (max-width: 559px) {
  .homeGroup {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .homeGroup .embedVideo {
    margin-bottom: 3rem;
  }
  .homeGroup__lead {
    line-height: 2.5;
    font-size: 1.2rem;
  }
}

/* 施設について */
.homeFacility {
  padding-top: 7.5rem;
  padding-bottom: 7rem;
}

.hotelsList {
  display: flex;
  flex-wrap: wrap;
  line-height: 1;
}

.hotelsList li {
  position: relative;
  width: calc(50% - .3rem);
  margin-right: .3rem;
  margin-bottom: .6rem;
  text-align: center;
}

.hotelsList li:nth-child(2n) {
  margin-right: 0;
  margin-left: .3rem;
}

.hotelsList a {
  display: block;
}

.hotelsList a:hover .hotelsList__image:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(51, 51, 51, 0.5);
}

.hotelsList a:hover img {
  opacity: 1;
}

.hotelsList a:hover .hotelsList__button {
  border-color: #B81D21;
  background-color: #B81D21;
}

.hotelsList__image {
  position: relative;
}

.hotelsList__image:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: rgba(51, 51, 51, 0);
  transition: 0.3s ease;
}

.hotelsList__image img {
  width: 100%;
  height: auto;
}

.hotelsList__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  backface-visibility: hidden;
}

.hotelsList__logo img {
  width: 100%;
  height: auto;
}

.hotelsList__logo.w108 {
  width: 10.8rem;
}

.hotelsList__logo.w200 {
  width: 20rem;
}

.hotelsList__logo.w250 {
  width: 25rem;
}

.hotelsList__button {
  position: absolute;
  bottom: 10.71429%;
  right: 0;
  left: 0;
  width: 30rem;
  border: 1px solid #fff;
  margin: 0 auto;
  padding: 1.5rem;
  color: #fff;
  font-family: "Cormorant", serif;
  font-weight: 500;
  font-size: 1.8rem;
  text-indent: 0.085em;
  letter-spacing: 0.085em;
  transition: 0.3s ease;
}

@media only screen and (max-width: 959px) {
  .hotelsList__logo.w108 {
    width: 7.9063vw;
  }
  .hotelsList__logo.w200 {
    width: 14.64129vw;
  }
  .hotelsList__logo.w250 {
    width: 18.30161vw;
  }
  .hotelsList__button {
    width: 21.96193vw;
    padding: 1.0981vw;
  }
}

@media only screen and (max-width: 559px) {
  .homeFacility {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .hotelsList li {
    width: calc(50% - .5rem);
    margin-right: .5rem;
    margin-bottom: 1rem;
  }
  .hotelsList li:nth-child(2n) {
    margin-right: 0;
    margin-left: .5rem;
  }
  .hotelsList__logo.w108 {
    width: 8.5rem;
  }
  .hotelsList__logo.w200 {
    width: 8.5rem;
  }
  .hotelsList__logo.w250 {
    width: 10.5rem;
  }
  .hotelsList__button {
    display: none;
  }
}

/* お知らせ */
.homeNews {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  background-color: #F6F5F3;
}

.homeNews .l-inner {
  max-width: 1200px;
}

.homeNews__row {
  position: relative;
}

.homeNews__box {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 74rem;
  min-height: 71rem;
  padding: 5rem 7rem;
  background-color: #fff;
}

.homeNews__more {
  text-align: right;
}

.homeNews .homeNewsList {
  border-top: 1px solid #333;
  margin-bottom: 3rem;
}

.homeNews .homeNewsList .newsSummary {
  padding: 2.2rem 1rem 2rem;
  border-bottom: 1px solid #333;
}

.homeNews .homeNewsList .entry-meta {
  margin-bottom: 1rem;
}

.homeNews .homeNewsList .entry-title {
  line-height: 1.42857;
  font-weight: normal;
  font-size: 1.4rem;
}

.homeNews .homeNewsList a {
  text-decoration: none;
  transition: color 0.3s ease;
}

.homeNews .homeNewsList a:link, .homeNews .homeNewsList a:visited {
  color: #333;
}

.homeNews .homeNewsList a:hover {
  color: #B81D21;
}

@media only screen and (max-width: 959px) {
  .homeNews__image {
    width: 65.625%;
  }
}

@media only screen and (max-width: 559px) {
  .homeNews {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .homeNews__image {
    display: none;
  }
  .homeNews__box {
    position: static;
    width: auto;
    min-height: auto;
    padding: 5rem 2.8rem;
  }
  .homeNews__more {
    text-align: center;
  }
  .homeNews .homeNewsList {
    margin-bottom: 4rem;
  }
  .homeNews .homeNewsList .newsSummary {
    padding: 2.2rem 0 1.7rem;
  }
  .homeNews .homeNewsList .entry-meta {
    margin-bottom: 1.3rem;
  }
  .homeNews .homeNewsList .entry-title {
    line-height: 1.71429;
  }
}

/* かりゆしCSR活動 */
.homeCsr {
  padding-top: 7.5rem;
  padding-bottom: 3.5rem;
}

.homeCsr .l-inner {
  max-width: 1200px;
}

.homeCsr__box {
  margin-bottom: 4rem;
  padding: 3rem;
  background-color: #F6F5F3;
}

.homeCsr__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 3rem;
}

.homeCsr__catch {
  width: 39.22652%;
}

.homeCsr__catch-01, .homeCsr__catch-02 {
  text-align: center;
}

.homeCsr__catch-01 .font-en2, .homeCsr__catch-02, .font-en2 {
  display: block;
  line-height: 1.25;
  font-size: 3.2rem;
  text-indent: 0.35em;
  letter-spacing: 0.35em;
}

.homeCsr__catch-01 .font-gothic, .homeCsr__catch-02, .font-gothic {
  line-height: 1.92308;
  font-weight: bold;
  font-size: 1.3rem;
  text-indent: 0.25em;
  letter-spacing: 0.25em;
}

.homeCsr__catch-02 {
  position: relative;
  margin-top: 9rem;
}

.homeCsr__catch-02:before {
  content: '';
  position: absolute;
  top: -4.4rem;
  right: 0;
  left: 0;
  width: 5rem;
  height: .2rem;
  margin: 0 auto;
  background-color: #333;
}

.homeCsr__index {
  display: flex;
  width: 60.77348%;
}

.homeCsr__item, .homeCsr__item--01, .homeCsr__item--02, .homeCsr__item--03 {
  width: 33.33333%;
  background-color: #fff;
}

.homeCsr__item--01 .homeCsr__link, .homeCsr__item--03 .homeCsr__link {
  flex-direction: column-reverse;
}

.homeCsr__item--01 .btn {
  border: 1px solid #FDD600;
  color: #fff;
  background-color: #FDD600;
}

.homeCsr__item--01:hover .btn {
  color: #FDD600;
  background-color: #fff;
}

.homeCsr__item--02 .btn {
  border: 1px solid #00A1DA;
  color: #fff;
  background-color: #00A1DA;
}

.homeCsr__item--02:hover .btn {
  color: #00A1DA;
  background-color: #fff;
}

.homeCsr__item--03 .btn {
  border: 1px solid #92C42A;
  color: #fff;
  background-color: #92C42A;
}

.homeCsr__item--03:hover .btn {
  color: #92C42A;
  background-color: #fff;
}

.homeCsr__link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
}

.homeCsr__caption {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-top: 100%;
}

.homeCsr__caption-inner {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 10.4rem;
  margin: auto;
}

.homeCsr__title {
  position: relative;
  padding-top: 2.4rem;
  margin-bottom: 2rem;
  font-weight: normal;
  text-align: center;
}

.homeCsr__title .font-gothic,
.homeCsr__title .font-en2 {
  display: block;
}

.homeCsr__title .font-gothic {
  color: #333;
  font-size: 1.8rem;
  text-indent: 0.25em;
  letter-spacing: 0.25em;
}

.homeCsr__title .font-en2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #656565;
  font-size: 1.6rem;
  text-indent: 0.35em;
  letter-spacing: 0.35em;
}

.homeCsr__button {
  width: 72.72727%;
  line-height: 1;
  margin: 0 auto;
  text-align: center;
}

.homeCsr__button .btn {
  width: 100%;
  padding: 1.1rem 0;
  border-radius: 40px;
  font-size: 1.4rem;
  text-indent: 0.35em;
  letter-spacing: 0.35em;
}

.homeCsr__thumb {
  position: relative;
}

.homeCsr__thumb:before {
  content: '';
  display: block;
  padding-top: 100%;
}

.homeCsr__thumb img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.homeCsr__more {
  margin-bottom: 2rem;
  text-align: center;
}

.csrBanner {
  margin-top: 4rem;
  display: flex;
}

.csrBanner__link {
  display: block;
  width: 48.34206%;
  text-decoration: none;
  margin-right: 3.31588%;
  margin-bottom: 4rem;
}

.csrBanner__link:nth-child(2n) {
  margin-right: 0;
}

.csrBanner__link:link, .csrBanner__link:visited {
  color: #333;
}

.csrBanner__image {
  line-height: 1;
  text-align: center;
}

.csrBanner__caption {
  margin-top: 1.2rem;
}

@media only screen and (max-width: 559px) {
  .homeCsr {
    padding-top: 5rem;
    padding-bottom: 1rem;
  }
  .homeCsr__box {
    padding: 5rem 1rem 3rem;
  }
  .homeCsr__row {
    display: block;
    margin-bottom: 3rem;
  }
  .homeCsr__catch {
    width: auto;
  }
  .homeCsr__catch-01 .font-en2, .homeCsr__catch-02 .font-en2 {
    line-height: 1.66667;
    font-size: 2.4rem;
  }
  .homeCsr__catch-01 .font-gothic, .homeCsr__catch-02 .font-gothic {
    line-height: 1.2;
    font-size: 1rem;
  }
  .homeCsr__catch-02 {
    margin-top: 7rem;
    margin-bottom: 5rem;
  }
  .homeCsr__catch-02:before {
    top: -3.8rem;
  }
  .homeCsr__index {
    display: block;
    width: auto;
  }
  .homeCsr__item, .homeCsr__item--01, .homeCsr__item--02, .homeCsr__item--03 {
    width: auto;
  }
  .homeCsr__item--01 .homeCsr__link, .homeCsr__item--03 .homeCsr__link {
    flex-direction: row-reverse;
  }
  .homeCsr__link {
    flex-direction: row;
  }
  .homeCsr__caption {
    width: 50%;
    padding-top: 50%;
  }
  .homeCsr__caption-inner {
    height: 7em;
    padding-top: .5rem;
  }
  .homeCsr__title {
    padding-top: 2rem;
    margin-bottom: 1.8rem;
  }
  .homeCsr__title .font-en2 {
    font-size: 1.3rem;
  }
  .homeCsr__button {
    width: 87.09677%;
  }
  .homeCsr__button .btn {
    padding: 1rem 0 .9rem;
    font-size: 1.3rem;
  }
  .homeCsr__thumb {
    width: 50%;
  }
  .csrBanner {
    display: block;
  }
  .csrBanner__link {
    width: auto;
    margin-right: 0;
    margin-bottom: 3.5rem;
  }
  .csrBanner__caption {
    line-height: 1.76923;
    font-size: 1.3rem;
  }
}

/* かりゆしカード */
.homeCard {
  padding-top: 7.5rem;
  padding-bottom: 5rem;
  background-color: #F6F5F3;
}

.homeCard .l-inner {
  max-width: 1200px;
}

.homeCard__link {
  display: block;
  width: 80rem;
  margin: 0 auto;
  text-align: center;
}

@media only screen and (max-width: 559px) {
  .homeCard {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .homeCard__link {
    width: auto;
  }
}

/* バナーエリア */
.bannerArea {
  padding-top: 5rem;
  padding-bottom: 2rem;
}

.bannerArea .l-inner {
  max-width: 1200px;
}

.bannerList, .bannerList--full {
  display: flex;
  flex-wrap: wrap;
  line-height: 1;
}

.bannerList li, .bannerList--full li {
  width: 48.6911%;
  margin-right: 2.6178%;
  margin-bottom: 3rem;
}

.bannerList li:nth-child(2n), .bannerList--full li:nth-child(2n) {
  margin-right: 0;
}

.bannerList--full {
  display: block;
}

.bannerList--full li {
  width: 100%;
  margin-right: 0;
}

@media only screen and (max-width: 559px) {
  .bannerArea {
    padding-bottom: 3rem;
  }
  .bannerList, .bannerList--full {
    display: block;
  }
  .bannerList li, .bannerList--full li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2rem;
  }
}

/* --------------------------------------------------
ABOUT
-------------------------------------------------- */
/* Message */
.ownerMessage {
  margin-bottom: 10rem;
}

.ownerMessage .l-inner {
  display: flex;
  position: relative;
  padding-bottom: 10rem;
}

.ownerMessage__image {
  width: 36.25%;
  line-height: 1;
  margin-right: 5%;
}

.ownerMessage__signature {
  position: absolute;
  bottom: 0;
  right: 2.7rem;
  line-height: 1.4;
  font-weight: bold;
  font-size: 2rem;
  text-align: right;
}

.ownerMessage__signature small {
  font-size: 1.4rem;
}

.ownerMessage__text {
  width: 58.75%;
}

.ownerMessage__text p + p {
  margin-top: 2em;
}

@media only screen and (max-width: 559px) {
  .ownerMessage {
    margin-bottom: 7rem;
  }
  .ownerMessage .l-inner {
    display: block;
    padding-bottom: 0;
  }
  .ownerMessage__image {
    width: 60.42296%;
    margin-right: auto;
    margin-bottom: 4rem;
    margin-left: auto;
  }
  .ownerMessage__signature {
    position: static;
    line-height: 1.33333;
    padding-top: 1.4rem;
    font-size: 1.8rem;
    text-align: center;
  }
  .ownerMessage__signature small {
    font-size: 1.3rem;
  }
  .ownerMessage__text {
    width: auto;
  }
  .ownerMessage__text p + p {
    margin-top: 1.71429em;
  }
}

/* Company */
.companyProfile {
  margin-bottom: 10rem;
}

@media only screen and (max-width: 559px) {
  .companyProfile {
    margin-bottom: 7rem;
  }
}

/* Vision */
.corporateVision {
  margin-bottom: 10rem;
  background-image: url(../img/about/vision/bg_vision-pc.jpg);
  background-repeat: no-repeat;
  background-position: center 40.4rem;
  background-size: 100% auto;
}

.corporateVision .embedVideo {
  max-width: 720px;
  margin: 0 auto 11rem;
}

.visionSec {
  margin-bottom: 8rem;
}

.visionSec__intro-text {
  line-height: 1;
  margin: 0 auto 6.5rem;
  text-align: center;
}

.visionSec__heading {
  line-height: 1.3;
  margin-bottom: 1.5rem;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.07em;
}

.visionSec__word {
  line-height: 1.6;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.07em;
}

.visionSec section > .visionSec__heading {
  margin-top: 2em;
}

.visionSec p {
  margin-bottom: 2em;
}

.visionSec strong {
  font-weight: normal;
  color: #B81D21;
}

@media only screen and (max-width: 559px) {
  .corporateVision {
    margin-bottom: 7rem;
    background-image: url(../img/about/vision/bg_vision-sp.jpg);
    background-position: center top;
  }
  .corporateVision .embedVideo {
    margin-bottom: 9rem;
  }
  .visionSec {
    margin-bottom: 5.2rem;
  }
  .visionSec__intro-text {
    width: 70.39275%;
    margin-bottom: 6rem;
  }
  .visionSec__heading {
    line-height: 1.4;
    margin-bottom: 1.2rem;
    font-size: 1.5rem;
    letter-spacing: 0.16em;
  }
  .visionSec__word {
    line-height: 1.73333;
    font-size: 1.5rem;
  }
}

/* History */
.history__inner {
  background: #FFF;
}

.history__inner:first-child .history__year, .history__inner:first-child .history__details {
  padding-top: 0;
}

.history__inner:last-child .history__year:after {
  bottom: calc( 100% - 3.5rem);
  height: auto;
}

.history__inner:last-child .history__year, .history__inner:last-child .history__details {
  padding-bottom: 12.5%;
}

.history__inner:nth-child(even) {
  background: #F6F5F3;
}

.history__item {
  display: flex;
  max-width: 80rem;
  margin: auto;
}

.history__year {
  width: 17.875%;
  font-family: "游ゴシック体",YuGothic,"游ゴシック","Yu Gothic",sans-serif;
  font-weight: 500;
  font-size: 3.6rem;
  font-style: italic;
  color: #B81D21;
  line-height: 1;
  padding-top: 4.375%;
  padding-bottom: 4.375%;
  position: relative;
}

.history__year:after {
  position: absolute;
  content: '';
  width: 1px;
  height: 100%;
  top: 0;
  bottom: 0;
  right: 0;
  background: #B81D21;
}

.history__details {
  width: 82.125%;
  padding-top: 4.375%;
  padding-bottom: 4.375%;
}

.history .detail {
  font-size: 1.6rem;
  line-height: 2;
}

.history .detail__item {
  position: relative;
  padding-left: 8.6758%;
  margin-bottom: 2.5rem;
}

.history .detail__item:last-child {
  margin-bottom: 0;
}

.history .detail__img {
  font-size: 0;
}

.history .detail__img img {
  max-height: 23rem;
}

.history .detail__month {
  position: absolute;
  content: '';
  width: 4.2rem;
  height: 4.2rem;
  top: -0.5rem;
  left: -2.1rem;
  font-size: 1.4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #B81D21;
  color: #fff;
  font-weight: bold;
}

@media only screen and (max-width: 959px) {
  .history__inner {
    padding-left: 2.7rem;
    padding-right: 2.7rem;
  }
}

@media only screen and (max-width: 559px) {
  .history {
    padding-right: 5.86667%;
    padding-left: 5.86667%;
    padding-bottom: 18.66667%;
  }
  .history__inner {
    padding-top: 0;
    padding-bottom: 9.06344%;
    padding-left: 0;
    padding-right: 0;
  }
  .history__inner:first-child .history__year, .history__inner:first-child .history__details {
    padding-top: 0;
  }
  .history__inner:nth-child(even) {
    background: #FFF;
  }
  .history__inner:last-child {
    padding-bottom: 0;
  }
  .history__inner:last-child .history__year, .history__inner:last-child .history__details {
    padding-bottom: 0;
  }
  .history__item {
    display: block;
    max-width: 100%;
  }
  .history__year {
    width: 100%;
    position: relative;
    font-size: 2.6rem;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 9.06344%;
  }
  .history__year:before {
    position: absolute;
    content: '';
    height: 1px;
    top: 50%;
    right: 0;
    left: 27.19033%;
    background: #B81D21;
  }
  .history__year:after {
    display: none;
  }
  .history__details {
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
  }
  .history .detail {
    font-size: 1.4rem;
    line-height: 1.71429;
  }
  .history .detail__item {
    padding-left: 15.40785%;
    margin-bottom: 9.06344%;
  }
  .history .detail__item:last-child {
    margin-bottom: 0;
  }
  .history .detail__img {
    font-size: 0;
  }
  .history .detail__img img {
    max-height: 100%;
    max-width: 28rem;
  }
  .history .detail__month {
    width: 3.6rem;
    height: 3.6rem;
    top: -0.5rem;
    left: 0rem;
  }
}

@media only screen and (max-width: 374px) {
  .history .detail__img img {
    max-width: 23rem;
  }
}

/* Group */
.groupCompanies {
  margin-bottom: 10rem;
}

.groupCompanies .companyInfo + .companyInfo {
  margin-top: 16rem;
}

@media only screen and (max-width: 559px) {
  .groupCompanies {
    margin-bottom: 7rem;
  }
  .groupCompanies .companyInfo + .companyInfo {
    margin-top: 10rem;
  }
}

/* --------------------------------------------------
NEWS
-------------------------------------------------- */
.newsArchive {
  margin-bottom: 10rem;
}

.newsArchive .l-inner {
  max-width: 654px;
}

.newsArticle {
  margin-bottom: 10rem;
}

@media only screen and (max-width: 559px) {
  .newsArchive {
    margin-bottom: 7rem;
  }
  .newsArticle {
    margin-bottom: 7rem;
  }
}

/* --------------------------------------------------
RECRUIT
-------------------------------------------------- */
.recruitIntro {
  padding-top: 8rem;
  padding-bottom: 7.3rem;
  background-color: #F6F5F3;
}

.recruitIntro__image {
  line-height: 1;
  margin-bottom: 8rem;
  text-align: center;
}

.recruitIntro__logo {
  width: 26.6rem;
  margin: 0 auto 3.3rem;
}

.recruitRecommend {
  padding-top: 8rem;
  margin-bottom: 10rem;
}

.recommendPoint__01, .recommendPoint__02, .recommendPoint__03 {
  display: flex;
}

.recommendPoint__image, .recommendPoint__text {
  width: 50%;
}

.recommendPoint__image {
  position: relative;
  min-height: 63.6rem;
  line-height: 1;
  text-align: center;
}

.recommendPoint__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recommendPoint__02 .recommendPoint__image {
  order: 1;
}

.recommendPoint__text {
  display: flex;
  align-items: center;
  padding: 3rem 4rem;
}

.recommendPoint__text p {
  margin-bottom: 2em;
}

.recommendPoint__text .recommendPoint__catch {
  margin: 0 0 2.2rem;
}

.recommendPoint__text-inner {
  width: 100%;
}

.recommendPoint__heading {
  display: flex;
  align-items: center;
  position: relative;
  height: 8rem;
  line-height: 1;
  margin: 0 0 3.6rem;
  padding-left: 8.4rem;
  color: #B81D21;
  border-bottom: 1px solid #B81D21;
}

.recommendPoint__heading:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 6rem;
  height: 8rem;
  background-color: #F6F5F3;
}

.recommendPoint__heading .num {
  position: absolute;
  left: 0;
  top: -.9rem;
  font-size: 8rem;
}

.recommendPoint__heading .en {
  font-size: 2rem;
}

.recommendPoint__catch {
  line-height: 1.27273;
  font-weight: 600;
  font-size: 2.2rem;
}

.recommendPoint__image-row {
  display: flex;
  flex-wrap: wrap;
  line-height: 1;
  margin: 4.3rem auto 0;
}

.recommendPoint__image-col {
  width: 46.66667%;
  margin-right: 6.66667%;
  margin-bottom: 2rem;
  text-align: center;
}

.recommendPoint__image-col:nth-child(even) {
  margin-right: 0;
}

.recruitInfo {
  padding-top: 6rem;
  margin-bottom: 10rem;
}

.recruitInfo .l-inner > section {
  margin-bottom: 8rem;
}

.recruitInfo p {
  margin-bottom: 2em;
}

.recruitInfo .recruitInfo__read {
  margin-bottom: 2.85714em;
}

.recruitInfo__more {
  margin-top: 4.5rem;
  text-align: center;
}

.recruitInfo__doc-list {
  display: flex;
  flex-wrap: wrap;
  line-height: 1;
  margin: 0 auto 4.5rem;
}

.recruitInfo__doc-list li {
  width: 48.75%;
  margin-bottom: 2rem;
  margin-right: 2.5%;
}

.recruitInfo__doc-list li:nth-child(even) {
  margin-right: 0;
}

.recruitInfo__doc-list .btn {
  display: block;
  padding: 2rem 0 2.6rem;
  border: 1px solid #333;
  font-size: 1.8rem;
}

.recruitInfo__doc-list .btn:link, .recruitInfo__doc-list .btn:visited {
  color: #000;
}

.recruitInfo__doc-list .btn .icon-pdf {
  top: 0.16667em;
  width: 0.83333em;
  height: 1.11111em;
  margin-left: .4rem;
  color: #B81D21;
  transition: 0.3s ease;
}

.recruitInfo__doc-list .btn:hover {
  border: 1px solid #B81D21;
  color: #fff;
  background-color: #B81D21;
}

.recruitInfo__doc-list .btn:hover .icon-pdf {
  color: #fff;
}

.recruitSubInfo {
  margin-bottom: 5rem;
}

.recruitSubInfo__heading {
  line-height: 1.27273;
  margin: 0 0 2.2rem;
  font-weight: 600;
  font-size: 2.2rem;
}

.recruitSubInfo dl dd {
  margin-bottom: 2em;
}

.recruitInfoBox {
  padding: 3.3rem 4rem;
  border: 1px solid #ddd;
}

.recruitInfoBox__heading {
  line-height: 1.33333;
  margin: 0.16667em 0 0.5em;
  font-weight: 600;
  font-size: 1.8rem;
}

.recruitInfoBox p {
  margin-bottom: 0;
}

.table-recruit th {
  width: 20rem;
}

@media only screen and (max-width: 559px) {
  .recruitIntro {
    padding-top: 5rem;
    padding-bottom: 4.5rem;
  }
  .recruitIntro__image {
    margin-bottom: 5rem;
  }
  .recruitIntro__logo {
    width: 51.35952%;
    margin-bottom: 2.5rem;
  }
  .recruitRecommend {
    padding-top: 5rem;
    margin-bottom: 7rem;
  }
  .recommendPoint {
    padding: 0 5.86667%;
  }
  .recommendPoint__01, .recommendPoint__02, .recommendPoint__03 {
    display: block;
    margin-bottom: 7rem;
  }
  .recommendPoint__image, .recommendPoint__text {
    width: auto;
  }
  .recommendPoint__image {
    min-height: auto;
    margin-bottom: 3.7rem;
  }
  .recommendPoint__image img {
    width: 100%;
    height: auto;
    object-fit: fill;
  }
  .recommendPoint__text {
    display: block;
    padding: 0;
  }
  .recommendPoint__text p {
    margin-bottom: 1.71429em;
  }
  .recommendPoint__text .recommendPoint__catch {
    margin-bottom: 1.2rem;
  }
  .recommendPoint__catch {
    line-height: 1.375;
    font-size: 1.6rem;
  }
  .recommendPoint__image-row {
    display: block;
    margin-top: 2.5rem;
  }
  .recommendPoint__image-col {
    width: auto;
    margin-right: 0;
    margin-bottom: 2.8rem;
  }
  .recruitInfo {
    padding-top: 3rem;
    margin-bottom: 7rem;
  }
  .recruitInfo .l-inner > section {
    margin-bottom: 7rem;
  }
  .recruitInfo p {
    margin-bottom: 1.71429em;
  }
  .recruitInfo__doc-list {
    display: block;
  }
  .recruitInfo__doc-list li {
    width: auto;
    margin-bottom: 2rem;
    margin-right: 0;
  }
  .recruitInfo__doc-list .btn {
    padding: 1.4rem 0 2rem;
    font-size: 1.6rem;
  }
  .recruitInfo__doc-list .btn .icon-pdf {
    top: 0.1875em;
    width: 0.9375em;
    height: 1.25em;
  }
  .recruitSubInfo {
    margin-bottom: 4.5rem;
  }
  .recruitSubInfo__heading {
    line-height: 1.375;
    margin-bottom: 1.2rem;
    font-size: 1.6rem;
  }
  .recruitSubInfo dl dd {
    margin-bottom: 1.71429em;
  }
  .recruitInfoBox {
    padding: 2.5rem 2rem;
    border: 1px solid #ddd;
  }
  .recruitInfoBox__heading {
    line-height: 1.375;
    margin: 0.125em 0 0.4375em;
    font-size: 1.6rem;
    text-align: center;
  }
  .recruitInfoBox p {
    margin-bottom: 0;
  }
  .table-recruit th {
    width: auto;
  }
}

/* --------------------------------------------------
CSR
-------------------------------------------------- */
.csrIntro {
  position: relative;
  padding-bottom: 16rem;
}

.csrIntro:after {
  content: '';
  position: absolute;
  bottom: -3rem;
  right: 0;
  left: 0;
  z-index: 1;
  width: 1px;
  height: 15rem;
  margin: 0 auto;
  background-color: #333;
}

.csrIntro__catch-01 {
  line-height: 1.10811;
  margin: 0 0 3.8rem;
  font-size: 3.7rem;
  text-align: center;
  text-indent: 0.35em;
  letter-spacing: 0.35em;
}

.csrIntro__catch-02 {
  line-height: 1.33333;
  font-size: 1.8rem;
  text-align: center;
  text-indent: 0.33em;
  letter-spacing: 0.33em;
}

.csrIntro__catch-03 {
    line-height: 1.33333;
    font-size: 1.4rem;
    text-align: center;
    text-indent: 0.33em;
    letter-spacing: 0.2em;
    margin-top: 5px;
}

.csrCase {
  position: relative;
  padding-top: 9rem;
  padding-bottom: 6rem;
}

.csrCase .l-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-right: 2.7rem;
  padding-left: 2.7rem;
}

.csrCase:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 25.2rem;
}

.csrCase__heading {
  position: relative;
  line-height: 1;
  margin: 0 0 8rem;
  color: #fff;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  font-weight: normal;
  text-align: center;
}

.csrCase__heading:before {
  content: '';
  display: block;
  padding-top: 29.66841%;
}

.csrCase__heading .ill {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 4.62478% auto 0;
  width: 12rem;
}

.csrCase__heading .font-en2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: 17.45201%;
  font-size: 3rem;
  text-indent: 0.35em;
  letter-spacing: 0.35em;
}

.csrCase__heading .font-gothic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: 21.29145%;
  font-size: 2.2rem;
  text-indent: 0.25em;
  letter-spacing: 0.25em;
}

.csrCase--01:before {
  background-color: #FFFDEA;
}

.csrCase--01 .csrCase__heading {
  background-image: url(../img/csr/bg_education-pc.jpg);
}

.csrCase--02:before {
  background-color: #EAFBFF;
}

.csrCase--02 .csrCase__heading {
  background-image: url(../img/csr/bg_eco-pc.jpg);
}

.csrCase--03 {
  margin-bottom: 1rem;
}

.csrCase--03:before {
  background-color: #EAFFEA;
}

.csrCase--03 .csrCase__heading {
  background-image: url(../img/csr/bg_farm-pc.jpg);
}

.csrCase__text {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

.csrCase__catch {
  line-height: 1.27273;
  font-size: 2.2rem;
  text-align: center;
  text-indent: 0.25em;
  letter-spacing: 0.25em;
}

.csrCase .csrCase__catch {
  margin: 0 0 3rem;
}

.csrCase p {
  margin: 0 0 2em;
}

@media only screen and (max-width: 959px) {
  .csrCase__heading .ill {
    margin-top: 3.44828%;
    width: 12.5vw;
  }
  .csrCase__heading .font-en2 {
    margin-top: 17.93103%;
    font-size: 3.125vw;
  }
  .csrCase__heading .font-gothic {
    margin-top: 22.06897%;
    font-size: 2.29167vw;
  }
}

@media only screen and (max-width: 559px) {
  .csrIntro {
    padding-bottom: 14rem;
  }
  .csrIntro:after {
    bottom: -2rem;
    height: 12rem;
  }
  .csrIntro__catch-01 {
    line-height: 1.42857;
    margin-bottom: 3rem;
    font-size: 2.8rem;
  }
  .csrIntro__catch-02 {
    line-height: 1.5;
    font-size: 1.6rem;
  }
  .csrIntro__catch-02 .quotes {
    display: none;
  }
  .csrCase {
    padding-top: 7rem;
    padding-bottom: 4rem;
  }
  .csrCase .l-inner {
    padding-right: 5.86667%;
    padding-left: 5.86667%;
  }
  .csrCase:before {
    height: 23.2rem;
  }
  .csrCase__heading {
    margin-bottom: 6rem;
  }
  .csrCase__heading:before {
    padding-top: 102.41692%;
  }
  .csrCase__heading .ill {
    margin-top: 17.52266%;
    width: 12rem;
  }
  .csrCase__heading .font-en2 {
    margin-top: 62.83988%;
    font-size: 2.6rem;
  }
  .csrCase__heading .font-gothic {
    margin-top: 75.5287%;
    font-size: 1.8rem;
  }
  .csrCase--01 .csrCase__heading {
    background-image: url(../img/csr/bg_education-sp.jpg);
  }
  .csrCase--02 .csrCase__heading {
    background-image: url(../img/csr/bg_eco-sp.jpg);
  }
  .csrCase--03 {
    margin-bottom: 0;
  }
  .csrCase--03 .csrCase__heading {
    background-image: url(../img/csr/bg_farm-sp.jpg);
  }
  .csrCase__catch {
    line-height: 1.33333;
    font-size: 1.8rem;
  }
  .csrCase p {
    margin-bottom: 1.71429em;
  }
}

/* --------------------------------------------------
CARD
-------------------------------------------------- */
.cardTop {
  position: relative;
  background-color: #17374E;
  color: #fff;
  padding-top: 5.85652%;
  padding-bottom: 5.85652%;
  margin-bottom: 8.05271%;
  z-index: 0;
}

.cardTop__topic {
  display: flex;
  justify-content: space-between;
  margin-bottom: 14.25%;
}

.cardTop__title {
  width: 63%;
  line-height: 1.5625;
  letter-spacing: 0.19em;
  font-size: 3.2rem;
  font-weight: normal;
  margin-top: 1.25%;
}

.cardTop__title span {
  display: inline-block;
  position: relative;
  margin-top: 5.15873%;
  padding-left: 1.5873%;
  line-height: 1;
  font-size: 4.4rem;
  letter-spacing: 0;
}

.cardTop__title span:before {
  content: '';
  position: absolute;
  width: calc( 100% + 2rem);
  height: 1.7rem;
  z-index: -1;
  background: #90805C;
  bottom: -0.7rem;
  left: 0;
  right: 0;
}

.cardTop__img {
  width: 32.125%;
}

.cardGroup {
  margin-bottom: 8.75%;
  text-align: center;
}

.cardGroup__ttl {
  font-size: 2rem;
  letter-spacing: 0.08em;
  margin-bottom: 5%;
  font-weight: normal;
}

.cardScene {
  border: solid 1px #AF895C;
  padding-top: 3.75%;
  padding-bottom: 3.75%;
  padding-right: 3.125%;
  padding-left: 3.125%;
}

.cardScene__header {
  width: 76.06952%;
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4.04218%;
}

.cardScene__image {
  width: 31.10721%;
}

.cardScene__ttl {
  width: 68.89279%;
  font-size: 3rem;
  font-weight: normal;
  padding-left: 5.6239%;
}

.cardScene__ttl span {
  display: block;
  padding-top: 7.65306%;
}

.cardScene__caption {
  text-align: center;
  margin-bottom: 12.30228%;
}

.cardScene__case {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}

.cardScene__case li {
  width: 32.08556%;
  margin-right: 1.87166%;
  margin-bottom: 3.34225%;
}

.cardScene__case li p {
  margin-top: 6.25%;
  line-height: 1;
}

.cardScene__case li:nth-child(3n) {
  margin-right: 0;
}

.cardScene__case li:nth-last-child(-n + 3) {
  margin-bottom: 0;
}

.cardLayout {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 7.25%;
}

.cardLayout__image {
  position: relative;
  width: 32.5%;
  margin-right: 5%;
}

.cardLayout__container {
  width: 62.5%;
  position: relative;
  padding-top: 5%;
  padding-bottom: 5%;
  padding-right: 4.375%;
  padding-left: 4.375%;
}

.cardLayout__container::before {
  content: '';
  position: absolute;
  background-image: linear-gradient(to right, #DDD, #DDD 2px, transparent 3px, transparent 4px), linear-gradient(to right, #DDD, #DDD 2px, transparent 3px, transparent 4px), linear-gradient(to bottom, #DDD, #DDD 2px, transparent 3px, transparent 4px), linear-gradient(to bottom, #DDD, #DDD 2px, transparent 3px, transparent 4px);
  background-size: 6px 2px,6px 2px,2px 6px,2px 6px;
  background-position: left top, left bottom, left top, right top;
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.cardLayout__ttl {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 4.65116%;
}

.cardLayout:nth-of-type(even) {
  flex-direction: row-reverse;
}

.cardLayout:nth-of-type(even) .cardLayout__image {
  margin-left: 5%;
  margin-right: 0;
}

.cardLayout:nth-of-type(3) {
  margin-bottom: 8.75%;
}

.cardLayout__step {
  position: absolute;
  top: -10%;
  left: -3.84615%;
  font-size: 2rem;
  color: #B81D21;
  line-height: 0;
}

.cardLayout .num {
  font-size: 5rem;
}

.cardLayout .red {
  color: #B81D21;
  font-weight: 600;
}

.rankUp {
  margin-bottom: 10%;
}

.rankUp__ttl {
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 2.5%;
}

.rankUp__list {
  margin-bottom: 10%;
}

.rankUp__rank, .rankUp__rank-regular, .rankUp__rank-gold, .rankUp__rank-platinum {
  position: relative;
  display: flex;
  margin-bottom: 6.3rem;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
}

.rankUp__rank-regular {
  border: solid 2px #5D7B96;
  background-color: #5D7B96;
}

.rankUp__rank-gold {
  border: solid 2px #ABA56F;
  background-color: #ABA56F;
}

.rankUp__rank-platinum {
  border: solid 2px #8E9393;
  background-color: #8E9393;
  margin-bottom: 0;
}

.rankUp__rank-platinum::before {
  display: none;
}

.rankUp__rank::before, .rankUp__rank-regular::before, .rankUp__rank-gold::before, .rankUp__rank-platinum::before {
  width: 1rem;
  height: 58.10811%;
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -58.10811%;
  transform: translateY(25%);
  margin: auto;
  background: url("../img/card/arrow-bottom.svg") no-repeat;
}

.rankUp__rankName {
  width: 25%;
  padding-top: 3.75%;
  padding-bottom: 3.75%;
  padding-left: 7.125%;
  color: #fff;
}

.rankUp__text {
  width: 75%;
  padding-top: 3.75%;
  padding-bottom: 3.75%;
  padding-left: 7.5%;
  background-color: #fff;
}

.cardInfor {
  margin-bottom: 10%;
}

.cardInfor__header {
  text-align: center;
}

.cardInfor__ttl {
  font-size: 1.9rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-top: 2.5%;
  margin-bottom: 6.25%;
}

.cardInfor__caption, .cardInfor__caption-larg, .cardInfor__caption-red {
  font-size: 2.6rem;
}

.cardInfor__caption-red {
  color: #B81D21;
}

.cardInfor p {
  margin-bottom: 3.5%;
}

.cardInfor .cardContact p {
  margin-bottom: 0;
}

.cardContainer {
  margin-bottom: 20%;
}

.cardContainer:last-child {
  margin-bottom: 12.5%;
}

.cardContact {
  border: solid 1px #DDDDDD;
  padding-top: 5%;
  padding-bottom: 5%;
  padding-left: 5%;
}

.cardContact__ttl {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 2.5%;
  line-height: 1;
}

@media only screen and (max-width: 959px) {
  .rankUp__rank, .rankUp__rank-regular, .rankUp__rank-gold, .rankUp__rank-platinum {
    margin-bottom: 6.5625%;
  }
  .rankUp__rank::before, .rankUp__rank-regular::before, .rankUp__rank-gold::before, .rankUp__rank-platinum::before {
    background-size: 1vw;
  }
}

@media only screen and (max-width: 559px) {
  .cardTop {
    padding-top: 13.33333%;
    padding-bottom: 13.33333%;
    margin-bottom: 13.33333%;
  }
  .cardTop__topic {
    margin-bottom: 18.66667%;
  }
  .cardTop__title {
    width: 63.14199%;
    line-height: 1.53846;
    font-size: 1.3rem;
    margin-top: 1.20846%;
  }
  .cardTop__title span {
    margin-top: 7.6555%;
    padding-left: 1.91388%;
    line-height: 1;
    font-size: 1.8rem;
  }
  .cardTop__title span:before {
    content: '';
    position: absolute;
    width: calc( 100% + .7rem);
    height: .7rem;
    bottom: -0.35rem;
  }
  .cardTop__img {
    width: 32.02417%;
  }
  .cardGroup {
    margin-bottom: 21.14804%;
    text-align: left;
  }
  .cardGroup__ttl {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 9.06344%;
    line-height: 1.33333;
  }
  .cardScene {
    padding-top: 12.08459%;
    padding-bottom: 12.08459%;
    padding-right: 6.0423%;
    padding-left: 6.0423%;
  }
  .cardScene__header {
    width: auto;
    display: block;
    text-align: center;
    margin-bottom: 8.65052%;
  }
  .cardScene__image {
    width: 39.79239%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 12.11073%;
  }
  .cardScene__ttl {
    width: 100%;
    font-size: 2.2rem;
    padding-left: 0;
    text-align: center;
  }
  .cardScene__ttl span {
    padding-top: 3.02115%;
  }
  .cardScene__caption {
    text-align: left;
    margin-bottom: 13.29305%;
  }
  .cardScene__case li {
    width: 48.09689%;
    margin-right: 3.80623%;
    margin-bottom: 8.65052%;
  }
  .cardScene__case li p {
    margin-top: 7.14286%;
    font-size: 1.6rem;
    line-height: 1;
  }
  .cardScene__case li:nth-child(3n) {
    margin-right: 3.80623%;
  }
  .cardScene__case li:nth-child(even) {
    margin-right: 0;
  }
  .cardScene__case li:nth-last-child(-n + 2) {
    margin-bottom: 0;
  }
  .cardLayout {
    display: block;
    margin-bottom: 12.08459%;
    position: relative;
  }
  .cardLayout__image {
    position: initial;
    width: 78.54985%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 9.06344%;
  }
  .cardLayout__container {
    width: 100%;
    padding-top: 9.06344%;
    padding-bottom: 9.06344%;
    padding-right: 6.0423%;
    padding-left: 6.0423%;
  }
  .cardLayout__ttl {
    font-size: 1.6rem;
    text-align: center;
    margin-bottom: 6.87285%;
  }
  .cardLayout:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  .cardLayout:nth-of-type(even) .cardLayout__image {
    margin-left: auto;
    margin-right: auto;
  }
  .cardLayout:nth-of-type(3) {
    margin-bottom: 8.75%;
  }
  .cardLayout__step {
    top: -7%;
    left: 0;
    font-size: 2rem;
    line-height: 0;
  }
  .cardLayout .num {
    font-size: 5rem;
  }
  .rankUp {
    margin-bottom: 10%;
  }
  .rankUp__ttl {
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 6.0423%;
  }
  .rankUp__list {
    margin-bottom: 24.16918%;
  }
  .rankUp__rank, .rankUp__rank-regular, .rankUp__rank-gold, .rankUp__rank-platinum {
    display: block;
    margin-bottom: 8.3rem;
    text-align: center;
  }
  .rankUp__rank::before, .rankUp__rank-regular::before, .rankUp__rank-gold::before, .rankUp__rank-platinum::before {
    background-size: auto;
  }
  .rankUp__rankName {
    width: 100%;
    padding-top: 3.62538%;
    padding-bottom: 3.62538%;
    padding-left: 0;
  }
  .rankUp__text {
    width: 100%;
    padding-top: 6.0423%;
    padding-bottom: 6.0423%;
    padding-left: 0;
    line-height: 1.5;
  }
  .cardInfor {
    margin-bottom: 24.16918%;
  }
  .cardInfor__header {
    text-align: center;
  }
  .cardInfor__header img {
    width: 78.54985%;
  }
  .cardInfor__ttl {
    font-size: 1.6rem;
    margin-top: 6.0423%;
    margin-bottom: 15.10574%;
    line-height: 1.2;
  }
  .cardInfor__ttl span {
    font-size: 2.5rem;
  }
  .cardInfor p {
    margin-bottom: 7.25076%;
  }
  .cardContainer {
    margin-bottom: 30.21148%;
  }
  .cardContainer:last-child {
    margin-bottom: 21.14804%;
  }
  .cardStep .ttl-C {
    margin-bottom: 7rem;
  }
  .cardStep .cardLayout {
    margin-bottom: 24.16918%;
  }
  .cardStep .cardLayout:last-of-type {
    margin-bottom: 12.08459%;
  }
  .cardContact {
    padding-top: 9.06344%;
    padding-bottom: 9.06344%;
    padding-left: 5.43807%;
    padding-right: 5.43807%;
  }
  .cardContact__ttl {
    font-size: 1.6rem;
    line-height: initial;
    margin-bottom: 6.87285%;
    text-align: center;
  }
}
