@charset "UTF-8";
/* CSS Document */
/*
Theme Name: mononofu様
Description: mononofu様の専用テーマです
Theme URI:
Author: 
Author URI: 
Version: 6.0
License: -----
License URI:
*/
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
/  mixin                                                     */
/*********************
    
変数設定
    
************************/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
caption,
cite,
code,
dd,
del,
dfn,
dialog,
div,
dl,
dt,
em,
fieldset,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
sup,
time,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background-color: transparent;
  list-style: none;
  font-style: normal;
  font-weight: 400; }

header,
article,
footer,
aside,
nav,
small,
section {
  display: block; }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
  letter-spacing: 1rem; }

p {
  line-height: 2;
  letter-spacing: 1rem; }

li,
ol li {
  list-style-type: none;
  letter-spacing: 1rem; }

a img {
  border-style: none; }

a {
  text-decoration: none;
  letter-spacing: 1rem; }

a:hover {
  text-decoration: none; }

img {
  max-width: 100%;
  height: auto;
  border-style: none; }

table {
  width: 100%;
  border-collapse: collapse; }

table th,
table td {
  vertical-align: top;
  letter-spacing: 1rem;
  text-align: left; }

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block; }

@media (min-width: 751px) {
  html {
    font-size: calc(1vw * 100 / 1500); } }
@media (min-width: 1501px) {
  html {
    font-size: 0.0625rem; } }
@media (max-width: 750px) {
  html {
    font-size: calc(1vw * 100 / 750); } }

a {
  color: #212121;
  transition: 0.3s; }
  a:hover {
    opacity: 0.7;
    transition: 0.3s; }

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

@font-face {
  font-family: 'NotoSansJP';
  font-style: normal;
  font-weight: 400;
  src: url("./fonts/NotoSansJP/NotoSansJP-Regular.woff2") format("woff2"), url("./fonts/NotoSansJP/NotoSansJP-Regular.woff") format("woff"), url("./fonts/NotoSansJP/NotoSansJP-Regular.ttf") format("truetype"); }
@font-face {
  font-family: 'NotoSansJP';
  font-style: normal;
  font-weight: 500;
  src: url("./fonts/NotoSansJP/NotoSansJP-Medium.woff2") format("woff2"), url("./fonts/NotoSansJP/NotoSansJP-Medium.woff") format("woff"), url("./fonts/NotoSansJP/NotoSansJP-Medium.ttf") format("truetype"); }
@font-face {
  font-family: 'NotoSansJP';
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/NotoSansJP/NotoSansJP-Bold.woff2") format("woff2"), url("./fonts/NotoSansJP/NotoSansJP-Bold.woff") format("woff"), url("./fonts/NotoSansJP/NotoSansJP-Bold.ttf") format("truetype"); }
body {
  font-family: 'NotoSansJP', "YuGothic", "ヒラギノ角ゴ Pro W4", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "meiryo", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  color: #212121; }
  @media (min-width: 751px) {
    body {
      font-size: 16rem; } }
  @media (max-width: 750px) {
    body {
      font-size: 32rem; } }

/*********************
    
    共通パーツ
    
************************/
.hirakaku-w6 {
  font-family: "HiraKakuProN-W6", "ヒラギノ角ゴ ProN W6"; }

@media (min-width: 751px) {
  .pc__none {
    display: none; } }

@media (max-width: 750px) {
  .sp__none {
    display: none; } }

.text__center {
  text-align: center; }

.cmn__hover {
  transition: 0.3s; }
  .cmn__hover:hover {
    opacity: 0.8;
    transition: 0.3s; }

.cmn__hover-underline {
  transition: 0.3s; }
  .cmn__hover-underline:hover {
    opacity: 0.8;
    text-decoration: underline;
    transition: 0.3s; }

.cmn__hover-scale .scale {
  overflow: hidden;
  display: flex; }
  .cmn__hover-scale .scale img {
    transition: transform 0.3s; }
.cmn__hover-scale:hover .scale img {
  transform: scale(1.2);
  transition: 0.3s; }

@media (min-width: 751px) {
  .cmn__inner {
    width: 1000rem;
    margin: 0 auto; } }
@media (max-width: 750px) {
  .cmn__inner {
    width: 590rem;
    margin: 0 auto; } }

.cmn__btn a {
  background: #410797;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 751px) {
    .cmn__btn a {
      font-size: 14rem;
      width: 172rem;
      height: 38rem; } }
  @media (max-width: 750px) {
    .cmn__btn a {
      font-size: 28rem;
      width: 344rem;
      height: 76rem; } }
  .cmn__btn a:after {
    content: '';
    background-image: url(./images/top/cmn__btn-after.svg);
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block; }
    @media (min-width: 751px) {
      .cmn__btn a:after {
        width: 14rem;
        height: 9rem;
        margin-left: 15rem; } }
    @media (max-width: 750px) {
      .cmn__btn a:after {
        width: 28rem;
        height: 18rem;
        margin-left: 40rem; } }
.cmn__btn-large a {
  background: #410797;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 751px) {
    .cmn__btn-large a {
      font-size: 14rem;
      width: 295rem;
      height: 38rem; } }
  @media (max-width: 750px) {
    .cmn__btn-large a {
      font-size: 28rem;
      width: 344rem;
      height: 76rem; } }
  .cmn__btn-large a:after {
    content: '';
    background-image: url(./images/top/cmn__btn-after.svg);
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block; }
    @media (min-width: 751px) {
      .cmn__btn-large a:after {
        width: 14rem;
        height: 9rem;
        margin-left: 15rem; } }
    @media (max-width: 750px) {
      .cmn__btn-large a:after {
        width: 28rem;
        height: 18rem;
        margin-left: 40rem; } }

.montserrat {
  font-family: 'Montserrat', sans-serif; }

@media (min-width: 751px) {
  .cmn__cv {
    margin: 100rem 0; } }
@media (max-width: 750px) {
  .cmn__cv {
    margin: 140rem 0 0 0; } }
@media (max-width: 750px) {
  .cmn__cv .cmn__inner {
    width: 100%;
    margin: 0; } }
@media (min-width: 751px) {
  .cmn__cv-inner {
    display: flex;
    justify-content: space-between; } }
.cmn__cv-inner a {
  display: block;
  position: relative; }
  @media (min-width: 751px) {
    .cmn__cv-inner a {
      width: 496rem; } }
  @media (max-width: 750px) {
    .cmn__cv-inner a {
      width: 100%;
      margin-bottom: 1px; } }
  @media (max-width: 750px) {
    .cmn__cv-inner a img {
      width: 100%; } }
  .cmn__cv-inner a div {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    top: 50%;
    text-align: center; }
    .cmn__cv-inner a div p {
      color: #fff;
      text-shadow: 0 0 6rem rgba(0, 0, 0, 0.47);
      line-height: 1;
      margin-bottom: 10rem; }
      @media (min-width: 751px) {
        .cmn__cv-inner a div p {
          font-size: 32rem; } }
      @media (max-width: 750px) {
        .cmn__cv-inner a div p {
          font-size: 52rem; } }
    .cmn__cv-inner a div h2 {
      font-weight: 500;
      line-height: 1;
      text-shadow: 0 0 6rem rgba(0, 0, 0, 0.47);
      color: #fff; }
      @media (min-width: 751px) {
        .cmn__cv-inner a div h2 {
          font-size: 13rem; } }
      @media (max-width: 750px) {
        .cmn__cv-inner a div h2 {
          font-size: 24rem; } }

.cmn__title .montserrat {
  font-weight: 700;
  line-height: 1;
  margin-bottom: 20rem; }
  @media (min-width: 751px) {
    .cmn__title .montserrat {
      font-size: 68rem; } }
  @media (max-width: 750px) {
    .cmn__title .montserrat {
      font-size: 64rem; } }
.cmn__title h2 {
  line-height: 1;
  font-weight: 500;
  position: relative;
  padding-bottom: 25rem;
  margin-bottom: 20rem; }
  @media (min-width: 751px) {
    .cmn__title h2 {
      font-size: 20rem; } }
  @media (max-width: 750px) {
    .cmn__title h2 {
      font-size: 24rem; } }
  .cmn__title h2:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    background: #410797; }
    @media (min-width: 751px) {
      .cmn__title h2:before {
        width: 25rem; } }
    @media (max-width: 750px) {
      .cmn__title h2:before {
        width: 50rem; } }

@media (max-width: 750px) {
  .sp__btn {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%; } }
@media (min-width: 751px) {
  .sp__btn a {
    display: none; } }
@media (max-width: 750px) {
  .sp__btn a {
    background: #E8E2F0;
    text-align: center;
    font-size: 36rem;
    padding: 15rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #410797; } }
@media (max-width: 750px) {
  .sp__btn a:after {
    background-image: url(./images/common/sp__after.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 28rem;
    height: 18rem;
    content: '';
    display: inline-block;
    margin-left: 25rem; } }

.cmn__works-a {
  border: 1px solid #F0F0F0;
  display: inline-block; }
  @media (min-width: 751px) {
    .cmn__works-a {
      width: 295rem;
      margin-bottom: 57rem; } }
  .cmn__works-a img {
    object-fit: cover; }
    @media (min-width: 751px) {
      .cmn__works-a img {
        width: 295rem;
        height: 295rem; } }
    @media (max-width: 750px) {
      .cmn__works-a img {
        width: 100%;
        height: 590rem; } }
  @media (min-width: 751px) {
    .cmn__works-a:nth-of-type(3n+2) {
      margin: 0 53rem 57rem 53rem; } }
  @media (max-width: 750px) {
    .cmn__works-a:not(:last-of-type) {
      margin-bottom: 40rem; } }
  @media (max-width: 750px) {
    .cmn__works-a:last-of-type {
      margin-bottom: 80rem; } }

@media (max-width: 750px) {
  .cmn__post-content {
    width: 590rem;
    margin: 0 auto; } }
.cmn__post-content h2 {
  background: #410797;
  color: #fff;
  padding: 10rem;
  margin-bottom: 30rem; }
  @media (min-width: 751px) {
    .cmn__post-content h2 {
      font-size: 26rem; } }
  @media (max-width: 750px) {
    .cmn__post-content h2 {
      font-size: 36rem; } }
.cmn__post-content h3 {
  border-left: 7rem solid #410797;
  padding-left: 15rem;
  margin-bottom: 30rem; }
  @media (min-width: 751px) {
    .cmn__post-content h3 {
      font-size: 22rem; } }
  @media (max-width: 750px) {
    .cmn__post-content h3 {
      font-size: 32rem; } }
.cmn__post-content h4 {
  border-bottom: 2rem solid #410797;
  padding-bottom: 20rem;
  margin-bottom: 30rem; }
  @media (min-width: 751px) {
    .cmn__post-content h4 {
      font-size: 18rem; } }
  @media (max-width: 750px) {
    .cmn__post-content h4 {
      font-size: 30rem; } }
.cmn__post-content p {
  margin-bottom: 20rem; }
  @media (max-width: 750px) {
    .cmn__post-content p {
      margin-bottom: 40rem;
      font-size: 28rem; } }
  .cmn__post-content p strong {
    font-weight: 700; }
    @media (max-width: 750px) {
      .cmn__post-content p strong {
        font-size: 28rem; } }

@media (min-width: 751px) {
  .cmn__error {
    padding: 180rem 0 0 0; } }
@media (max-width: 750px) {
  .cmn__error {
    padding: 210rem 0 0 0; } }
@media (max-width: 750px) {
  .cmn__error p {
    font-size: 28rem; } }

.cmn__fadeup {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%); }
  to {
    opacity: 1;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); } }
.cmn__fadeup1 {
  animation-name: fadeUpAnime1;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0; }

@keyframes fadeUpAnime1 {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
.js__scroll, .js__scroll1, .js__scrollX1, .js__scroll2, .js__scrollX2, .js__scroll3, .js__scrollX3, .js__scroll4, .js__scroll5, .js__scroll6, .js__scroll7, .js__scroll8, .js__scroll9 {
  opacity: 0;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
  -webkit-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  .js__scroll.is__active, .is__active.js__scroll1, .is__active.js__scrollX1, .is__active.js__scroll2, .is__active.js__scrollX2, .is__active.js__scroll3, .is__active.js__scrollX3, .is__active.js__scroll4, .is__active.js__scroll5, .is__active.js__scroll6, .is__active.js__scroll7, .is__active.js__scroll8, .is__active.js__scroll9 {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }

.js__scroll1.is__active, .js__scrollX1.is__active {
  transition-delay: 0.2s;
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0); }

.js__scroll2.is__active, .js__scrollX2.is__active {
  transition-delay: 0.4s;
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0); }

.js__scroll3.is__active, .js__scrollX3.is__active {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition-delay: 0.6s; }

.js__scroll4.is__active {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition-delay: 0.8s; }

.js__scroll5.is__active {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition-delay: 1.0s; }

.js__scroll6.is__active {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition-delay: 1.2s; }

.js__scroll7.is__active {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition-delay: 1.4s; }

.js__scroll8.is__active {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition-delay: 1.6s; }

.js__scroll9.is__active {
  opacity: 1 !important;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition-delay: 1.8s; }

.js__animateX {
  opacity: 0;
  transform: translate(-50%, 0%);
  -webkit-transform: translate(-50%, 0%);
  -ms-transform: translate(-50%, 0%);
  transition: all 0.5s; }
  .js__animateX.is__active {
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    opacity: 1 !important; }

.header {
  top: 0;
  position: fixed;
  width: 100%;
  z-index: 200; }
  @media (min-width: 751px) {
    .header {
      height: 82rem; } }
  @media (max-width: 750px) {
    .header {
      height: 130rem; } }
  .header.js__fixed {
    background: #fff;
    -webkit-transition: height cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s;
    transition: height cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s; }
  .header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (min-width: 751px) {
      .header__inner {
        width: 895rem;
        margin: 0 auto;
        padding: 25rem 0 0 0; } }
    @media (max-width: 750px) {
      .header__inner {
        width: 670rem;
        margin: 0 auto;
        padding: 18rem 0 0 0;
        height: 100%; } }
    .header__inner-left a {
      display: block; }
      @media (min-width: 751px) {
        .header__inner-left a img {
          width: 287rem; } }
      @media (max-width: 750px) {
        .header__inner-left a img {
          width: 460rem; } }
    @media (max-width: 750px) {
      .header__inner-right .ham__sp2 {
        display: none; } }
    @media (max-width: 750px) {
      .header__inner-right .sp__logo {
        display: none; } }
    @media (max-width: 750px) {
      .header__inner-right .sp__logo.on {
        position: absolute;
        top: 50rem;
        width: 460rem;
        left: 40rem;
        display: block;
        z-index: 2000; } }
    @media (min-width: 751px) {
      .header__inner-right ul {
        display: flex; } }
    @media (max-width: 750px) {
      .header__inner-right ul {
        display: none;
        transition: 0.3s; } }
    @media (min-width: 751px) {
      .header__inner-right ul.pc__none {
        display: none !important; } }
    @media (max-width: 750px) {
      .header__inner-right ul.ham__sp1.on {
        right: 0;
        text-align: center;
        transition: 0.3s;
        display: block;
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0;
        background: #3E3052;
        font-size: 28rem;
        box-sizing: border-box;
        z-index: 2;
        transition: 0.3s;
        padding: 180rem 60rem 30rem 60rem;
        z-index: 1000;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        margin: 0; } }
    .header__inner-right ul li a {
      display: block;
      line-height: 1.2; }
      @media (max-width: 750px) {
        .header__inner-right ul li a {
          color: #fff; } }
      @media (min-width: 751px) {
        .header__inner-right ul li a {
          font-size: 14rem; } }
      @media (max-width: 750px) {
        .header__inner-right ul li a {
          font-size: 36rem;
          margin-bottom: 60rem; } }
    @media (min-width: 751px) {
      .header__inner-right ul li:not(:last-of-type) {
        margin-right: 30rem; } }
    @media (max-width: 750px) {
      .header__inner-right ul.ham__sp2.on {
        right: 60rem;
        text-align: center;
        transition: 0.3s;
        position: fixed;
        width: 85%;
        top: 605rem;
        font-size: 32rem;
        box-sizing: border-box;
        z-index: 2;
        transition: 0.3s;
        padding: 60rem 60rem 30rem 60rem;
        border-top: 1px solid #fff;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        z-index: 1000;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        margin: 0 auto; } }
    @media (max-width: 750px) {
      .header__inner-right ul.ham__sp2.on li {
        width: 48%; } }
    @media (max-width: 750px) {
      .header__inner-right ul.ham__sp2.on li a {
        margin-bottom: 30rem;
        font-size: 32rem; } }
    @media (max-width: 750px) {
      .header__inner-right ul.ham__sp2.on li:last-of-type {
        margin-left: 140rem; } }
    @media (max-width: 750px) {
      .header__inner-right ul.ham__sp3.on {
        right: 0;
        text-align: center;
        transition: 0.3s;
        position: fixed;
        width: 100%;
        top: 1000rem;
        box-sizing: border-box;
        z-index: 2;
        transition: 0.3s;
        padding: 0 60rem 30rem 60rem;
        display: flex;
        justify-content: center;
        z-index: 1000;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        margin: 0 auto; } }
    @media (max-width: 750px) {
      .header__inner-right ul.ham__sp3.on li a img {
        width: 74rem; } }
    @media (max-width: 750px) {
      .header__inner-right ul.ham__sp3.on li:nth-of-type(2) {
        margin: 0 25rem; } }
    @media (max-width: 750px) {
      .header__inner-right .menu {
        font-weight: 700;
        position: relative;
        box-sizing: border-box;
        cursor: pointer;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        z-index: 1001;
        width: 100rem;
        height: 100rem;
        border-radius: 6px;
        border: 3rem solid #212121;
        background: #fff; } }
    .header__inner-right .menu.active {
      background: transparent;
      border: 3rem solid #fff; }
      .header__inner-right .menu.active span {
        background: #fff; }
    @media (max-width: 750px) {
      .header__inner-right .menu span {
        background: #212121;
        position: absolute;
        width: 56rem;
        height: 3px;
        left: 20rem;
        -webkit-transition: all 0.3s;
        transition: all 0.3s; } }
    .header__inner-right .menu span:nth-of-type(1) {
      transition: 0.3s; }
      @media (max-width: 750px) {
        .header__inner-right .menu span:nth-of-type(1) {
          top: 25rem; } }
      .header__inner-right .menu span:nth-of-type(1).close {
        display: none;
        transition: 0.3s; }
    @media (max-width: 750px) {
      .header__inner-right .menu span:nth-of-type(2) {
        top: 45rem; } }
    .header__inner-right .menu span:nth-of-type(2).close {
      transform: rotate(-45deg);
      transition: 0.3s;
      z-index: 10; }
    @media (max-width: 750px) {
      .header__inner-right .menu span:nth-of-type(3) {
        top: 65rem; } }
    .header__inner-right .menu span:nth-of-type(3).close {
      transform: rotate(45deg);
      transition: 0.3s;
      z-index: 10; }
      @media (max-width: 750px) {
        .header__inner-right .menu span:nth-of-type(3).close {
          top: 45rem; } }

@media (min-width: 751px) and (max-width: 880px) and (min-width: 751px) {
  .header__inner {
    width: 980rem; } }

.footer {
  background: #3E3052;
  color: #fff; }
  @media (min-width: 751px) {
    .footer {
      padding: 75rem 0 45rem; } }
  @media (max-width: 750px) {
    .footer {
      padding: 160rem 0 130rem; } }
  @media (min-width: 751px) {
    .footer__inner {
      width: 565rem;
      margin: 0 auto; } }
  @media (max-width: 750px) {
    .footer__inner {
      width: 590rem;
      margin: 0 auto; } }
  @media (min-width: 751px) {
    .footer__inner-head {
      margin-bottom: 40rem; } }
  @media (max-width: 750px) {
    .footer__inner-head {
      margin-bottom: 80rem; } }
  .footer__inner-head img {
    display: block; }
    @media (min-width: 751px) {
      .footer__inner-head img {
        width: 253rem;
        margin: 0 auto 30rem; } }
    @media (max-width: 750px) {
      .footer__inner-head img {
        width: 506rem;
        margin: 0 auto 60rem; } }
  @media (min-width: 751px) {
    .footer__inner-head p {
      font-size: 14rem; } }
  @media (max-width: 750px) {
    .footer__inner-head p {
      font-size: 28rem; } }
  .footer__inner-link h2 {
    text-align: center;
    font-weight: 700; }
    @media (min-width: 751px) {
      .footer__inner-link h2 {
        font-size: 22rem;
        margin-bottom: 30rem; } }
    @media (max-width: 750px) {
      .footer__inner-link h2 {
        font-size: 44rem;
        margin-bottom: 40rem; } }
  .footer__inner-link .separate {
    border-bottom: 1rem solid #fff; }
    @media (min-width: 751px) {
      .footer__inner-link .separate {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-bottom: 30rem;
        margin-bottom: 40rem; } }
    @media (max-width: 750px) {
      .footer__inner-link .separate {
        padding-left: 70rem;
        margin-bottom: 70rem; } }
    .footer__inner-link .separate div {
      margin-bottom: 45rem; }
      @media (min-width: 751px) {
        .footer__inner-link .separate div:nth-of-type(odd) {
          width: 60%; } }
      @media (min-width: 751px) {
        .footer__inner-link .separate div:nth-of-type(even) {
          width: 40%; } }
      .footer__inner-link .separate div .link {
        text-decoration: underline;
        padding-left: 15rem;
        position: relative;
        color: #fff; }
        @media (min-width: 751px) {
          .footer__inner-link .separate div .link {
            font-size: 16rem;
            margin-bottom: 7rem; } }
        @media (max-width: 750px) {
          .footer__inner-link .separate div .link {
            margin-bottom: 15rem;
            font-size: 32rem; } }
        .footer__inner-link .separate div .link:before {
          position: absolute;
          content: '-';
          top: 0;
          left: 0; }
      .footer__inner-link .separate div ul li a {
        color: #fff; }
        @media (min-width: 751px) {
          .footer__inner-link .separate div ul li a {
            font-size: 13rem; } }
        @media (max-width: 750px) {
          .footer__inner-link .separate div ul li a {
            font-size: 26rem; } }
      @media (min-width: 751px) {
        .footer__inner-link .separate div ul li:not(:last-of-type) a {
          margin-bottom: 10rem; } }
      @media (max-width: 750px) {
        .footer__inner-link .separate div ul li:not(:last-of-type) a {
          margin-bottom: 20rem; } }
  @media (min-width: 751px) {
    .footer__inner-menu {
      margin-bottom: 50rem; } }
  @media (max-width: 750px) {
    .footer__inner-menu {
      margin-bottom: 120rem; } }
  .footer__inner-menu ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (min-width: 751px) {
      .footer__inner-menu ul {
        width: 153rem;
        margin: 0 auto; } }
    @media (max-width: 750px) {
      .footer__inner-menu ul {
        width: 306rem;
        margin: 0 auto; } }
    .footer__inner-menu ul li a {
      color: #fff;
      text-decoration: underline;
      margin-bottom: 15rem;
      display: inline-block; }
      @media (min-width: 751px) {
        .footer__inner-menu ul li a {
          font-size: 14rem; } }
      @media (max-width: 750px) {
        .footer__inner-menu ul li a {
          font-size: 28rem; } }
    @media (min-width: 751px) {
      .footer__inner-menu ul li:last-of-type a {
        margin-left: 40rem; } }
    @media (max-width: 750px) {
      .footer__inner-menu ul li:last-of-type a {
        margin-left: 90rem; } }
  @media (min-width: 751px) {
    .footer__inner-sns {
      margin-bottom: 50rem; } }
  @media (max-width: 750px) {
    .footer__inner-sns {
      margin-bottom: 100rem; } }
  .footer__inner-sns ul {
    display: flex;
    justify-content: center; }
    .footer__inner-sns ul li a {
      display: block; }
      @media (max-width: 750px) {
        .footer__inner-sns ul li a img {
          width: 74rem; } }
    @media (min-width: 751px) {
      .footer__inner-sns ul li:nth-of-type(2) a {
        margin: 0 12rem; } }
    @media (max-width: 750px) {
      .footer__inner-sns ul li:nth-of-type(2) a {
        margin: 0 28rem; } }
  .footer__inner small {
    display: block;
    text-align: center; }
    @media (min-width: 751px) {
      .footer__inner small {
        font-size: 12rem; } }
    @media (max-width: 750px) {
      .footer__inner small {
        font-size: 24rem; } }

.layout__mv {
  margin-bottom: 60rem;
  position: relative; }
  @media (min-width: 751px) {
    .layout__mv {
      padding: 182rem 0 75rem 0; } }
  @media (max-width: 750px) {
    .layout__mv {
      padding: 280rem 0 100rem 0; } }
  .layout__mv:after {
    content: '';
    background: #E8E2F0;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    bottom: 0; }
    @media (min-width: 751px) {
      .layout__mv:after {
        width: 54rem;
        height: 5px; } }
    @media (max-width: 750px) {
      .layout__mv:after {
        width: 50rem;
        height: 5px; } }
  .layout__mv p {
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 25rem;
    opacity: 0;
    transform: translateY(0); }
    @media (min-width: 751px) {
      .layout__mv p {
        font-size: 68rem; } }
    @media (max-width: 750px) {
      .layout__mv p {
        font-size: 64rem; } }
    .layout__mv p.is__active {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0); }
  .layout__mv h1,
  .layout__mv span {
    line-height: 1;
    font-weight: 500;
    opacity: 0;
    transform: translateY(0); }
    @media (min-width: 751px) {
      .layout__mv h1,
      .layout__mv span {
        font-size: 20rem; } }
    @media (max-width: 750px) {
      .layout__mv h1,
      .layout__mv span {
        font-size: 24rem; } }
    .layout__mv h1.is__active,
    .layout__mv span.is__active {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0); }

.breadcrumb {
  overflow-x: scroll; }
  @media (max-width: 750px) {
    .breadcrumb {
      padding: 10rem 15rem 10rem; } }
  .breadcrumb::-webkit-scrollbar {
    display: none; }
  @media (min-width: 751px) {
    .breadcrumb__inner {
      width: 1080rem;
      margin: 0 auto; } }
  @media (max-width: 750px) {
    .breadcrumb__inner {
      width: 650rem;
      margin: 0 auto; } }
  .breadcrumb ul {
    white-space: nowrap; }
    .breadcrumb ul li {
      display: inline-block; }
      .breadcrumb ul li:not(:first-of-type):before {
        content: '>';
        color: #212121;
        display: inline-block;
        margin-right: 6rem;
        margin-left: 6rem; }
      .breadcrumb ul li span:first-letter {
        text-transform: uppercase; }
      .breadcrumb ul li a, .breadcrumb ul li span {
        font-weight: 500;
        position: relative;
        color: #212121;
        display: inline-block; }
        @media (min-width: 751px) {
          .breadcrumb ul li a, .breadcrumb ul li span {
            font-size: 14rem; } }
        @media (max-width: 750px) {
          .breadcrumb ul li a, .breadcrumb ul li span {
            font-size: 26rem; } }

.cmn__pagination {
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 751px) {
    .cmn__pagination-prev {
      padding-right: 5rem; } }
  @media (max-width: 750px) {
    .cmn__pagination-prev {
      padding-right: 30rem; } }
  @media (min-width: 751px) {
    .cmn__pagination-next {
      padding-left: 5rem; } }
  @media (max-width: 750px) {
    .cmn__pagination-next {
      padding-left: 30rem; } }
  .cmn__pagination ul {
    display: flex;
    justify-content: center;
    align-items: center; }
    @media (min-width: 751px) {
      .cmn__pagination ul li {
        margin: 0 4rem; } }
    @media (max-width: 750px) {
      .cmn__pagination ul li {
        margin: 0 8rem; } }
    .cmn__pagination ul li.is-active span {
      position: relative;
      color: #fff;
      background: #410797; }
    .cmn__pagination ul li span, .cmn__pagination ul li a {
      font-weight: 500;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #fff;
      color: #939393; }
      @media (min-width: 751px) {
        .cmn__pagination ul li span, .cmn__pagination ul li a {
          width: 36rem;
          height: 36rem;
          font-size: 18rem; } }
      @media (max-width: 750px) {
        .cmn__pagination ul li span, .cmn__pagination ul li a {
          width: 50rem;
          height: 50rem;
          font-size: 26rem; } }

.cmn__navigation {
  display: flex;
  align-items: center;
  justify-content: center; }
  @media (min-width: 751px) {
    .cmn__navigation {
      margin-top: 100rem;
      padding: 20rem 75rem; } }
  @media (max-width: 750px) {
    .cmn__navigation {
      margin-top: 80rem;
      padding: 30rem 35rem; } }
  @media (max-width: 750px) {
    .cmn__navigation a {
      font-size: 28rem; } }

.top__mv {
  position: relative; }
  @media (min-width: 751px) {
    .top__mv {
      margin-bottom: 100rem; } }
  @media (max-width: 750px) {
    .top__mv {
      margin-bottom: 140rem; } }
  .top__mv div {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    top: 50%; }
    @media (max-width: 750px) {
      .top__mv div {
        width: 560rem; } }
  .top__mv h2 {
    color: #fff;
    font-weight: 700;
    margin-bottom: 30rem; }
    @media (min-width: 751px) {
      .top__mv h2 {
        font-size: 42rem;
        line-height: 2; } }
    @media (max-width: 750px) {
      .top__mv h2 {
        font-size: 60rem;
        line-height: 1.75; } }
  .top__mv p {
    color: #fff;
    font-weight: 700;
    line-height: 2; }
  .top__mv img {
    width: 100%; }

@media (min-width: 751px) {
  .top__news {
    margin-bottom: 100rem; } }
@media (max-width: 750px) {
  .top__news {
    margin-bottom: 140rem; } }
.top__news-inner .separate {
  margin-bottom: 35rem; }
  @media (min-width: 751px) {
    .top__news-inner .separate {
      display: flex;
      justify-content: center;
      align-items: center; } }
  .top__news-inner .separate__left p {
    font-weight: 700;
    line-height: 1;
    margin-bottom: 10rem; }
    @media (min-width: 751px) {
      .top__news-inner .separate__left p {
        font-size: 32rem; } }
    @media (max-width: 750px) {
      .top__news-inner .separate__left p {
        font-size: 64rem; } }
  .top__news-inner .separate__left h2 {
    font-weight: 500;
    line-height: 1; }
    @media (min-width: 751px) {
      .top__news-inner .separate__left h2 {
        font-size: 12rem; } }
    @media (max-width: 750px) {
      .top__news-inner .separate__left h2 {
        font-size: 24rem;
        position: relative;
        padding-bottom: 25rem;
        margin-bottom: 20rem; } }
    @media (max-width: 750px) {
      .top__news-inner .separate__left h2:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 50rem;
        height: 1px;
        background: #410797; } }
  @media (min-width: 751px) {
    .top__news-inner .separate__right {
      border-left: 1px solid #410797;
      padding-left: 50rem;
      margin-left: 50rem; } }
  .top__news-inner .separate__right a {
    display: flex;
    align-items: center; }
    @media (min-width: 751px) {
      .top__news-inner .separate__right a {
        margin-bottom: 20rem; } }
    @media (max-width: 750px) {
      .top__news-inner .separate__right a {
        margin-bottom: 40rem; } }
    .top__news-inner .separate__right a time {
      font-weight: 500;
      display: inline-block;
      margin-right: 20rem; }
      @media (max-width: 750px) {
        .top__news-inner .separate__right a time {
          font-size: 28rem; } }
    .top__news-inner .separate__right a h3 {
      font-weight: 500; }
      @media (min-width: 751px) {
        .top__news-inner .separate__right a h3 {
          font-size: 16rem; } }
      @media (max-width: 750px) {
        .top__news-inner .separate__right a h3 {
          font-size: 28rem; } }
@media (min-width: 751px) {
  .top__news .cmn__btn a {
    margin: 0 auto; } }
@media (max-width: 750px) {
  .top__news .cmn__btn a {
    margin-top: 35rem; } }

.top__about {
  background: rgba(232, 226, 240, 0.44);
  padding: 100rem 0; }
  @media (min-width: 751px) {
    .top__about-separate {
      display: flex;
      justify-content: space-between; } }
  .top__about-separate div {
    box-shadow: 0 0 10rem rgba(65, 7, 151, 0.15);
    text-align: center;
    background: #fff; }
    @media (min-width: 751px) {
      .top__about-separate div {
        padding: 50rem 20rem;
        width: 295rem; } }
    @media (max-width: 750px) {
      .top__about-separate div {
        padding: 100rem 46rem; } }
    .top__about-separate div span {
      color: #410797;
      font-weight: 500;
      background: rgba(65, 7, 151, 0.08);
      border: 2rem solid #410797;
      margin: 0 auto 15rem; }
      @media (min-width: 751px) {
        .top__about-separate div span {
          display: inline-block;
          font-size: 18rem;
          padding: 2rem 29rem; } }
      @media (max-width: 750px) {
        .top__about-separate div span {
          font-size: 36rem;
          width: 254rem;
          display: block;
          padding: 5rem; } }
    .top__about-separate div h2 {
      display: inline-block;
      font-weight: 700;
      padding-bottom: 5rem;
      margin-bottom: 20rem;
      padding: 0 5rem;
      border-bottom: 1rem solid #410797; }
      @media (min-width: 751px) {
        .top__about-separate div h2 {
          font-size: 26rem; } }
      @media (max-width: 750px) {
        .top__about-separate div h2 {
          font-size: 50rem; } }
      @media (min-width: 751px) {
        .top__about-separate div h2 {
          white-space: nowrap; } }
    .top__about-separate div p {
      text-align: left;
      font-weight: 500; }
      @media (max-width: 750px) {
        .top__about-separate div p {
          font-size: 28rem; } }
    @media (max-width: 750px) {
      .top__about-separate div:nth-of-type(2) {
        margin: 40rem 0; } }

@media (max-width: 750px) {
  .top__service {
    padding-top: 140rem; } }
.top__service-inner .text {
  font-weight: 500; }
  @media (min-width: 751px) {
    .top__service-inner .text {
      margin-bottom: 50rem;
      width: 500rem; } }
  @media (max-width: 750px) {
    .top__service-inner .text {
      margin-bottom: 80rem;
      font-size: 28rem; } }
@media (min-width: 751px) {
  .top__service-inner .separate {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; } }
.top__service-inner .separate__block {
  background: #fff;
  box-shadow: 0 0 15rem rgba(0, 0, 0, 0.15);
  text-align: center; }
  @media (min-width: 751px) {
    .top__service-inner .separate__block {
      padding: 40rem 40rem 55rem 40rem;
      width: 488rem; } }
  @media (max-width: 750px) {
    .top__service-inner .separate__block {
      padding: 100rem 50rem; } }
  .top__service-inner .separate__block h3 {
    font-weight: 700;
    margin-bottom: 15rem; }
    @media (min-width: 751px) {
      .top__service-inner .separate__block h3 {
        font-size: 20rem; } }
    @media (max-width: 750px) {
      .top__service-inner .separate__block h3 {
        font-size: 40rem; } }
  .top__service-inner .separate__block p {
    text-align: left;
    font-weight: 500;
    margin-bottom: 15rem; }
    @media (max-width: 750px) {
      .top__service-inner .separate__block p {
        font-size: 28rem; } }
  .top__service-inner .separate__block .cmn__btn a {
    margin: 0 auto; }
  @media (min-width: 751px) {
    .top__service-inner .separate__block:nth-of-type(1), .top__service-inner .separate__block:nth-of-type(2) {
      margin-bottom: 25rem; } }
  @media (max-width: 750px) {
    .top__service-inner .separate__block:not(:last-of-type) {
      margin-bottom: 40rem; } }

.top__works {
  background: rgba(232, 226, 240, 0.44); }
  @media (min-width: 751px) {
    .top__works {
      padding: 100rem 0; } }
  @media (max-width: 750px) {
    .top__works {
      padding: 140rem 0; } }
  @media (min-width: 751px) {
    .top__works-inner .detail {
      display: flex;
      flex-wrap: wrap;
      margin-top: 40rem; } }
  @media (max-width: 750px) {
    .top__works-inner .detail {
      margin-top: 80rem; } }
  @media (min-width: 751px) {
    .top__works-inner .cmn__btn-large a {
      margin: 0 auto; } }

.top__aboutus {
  padding: 100rem 0; }
  .top__aboutus-inner {
    display: flex; }
    @media (min-width: 751px) {
      .top__aboutus-inner {
        justify-content: space-between; } }
    @media (max-width: 750px) {
      .top__aboutus-inner {
        flex-wrap: wrap; } }
    @media (min-width: 751px) {
      .top__aboutus-inner .left {
        width: 515rem; } }
    @media (max-width: 750px) {
      .top__aboutus-inner .left {
        order: 2; } }
    .top__aboutus-inner .left p:nth-of-type(2) {
      font-weight: 500; }
      @media (max-width: 750px) {
        .top__aboutus-inner .left p:nth-of-type(2) {
          font-size: 28rem; } }
    .top__aboutus-inner img {
      width: 426rem; }
      @media (max-width: 750px) {
        .top__aboutus-inner img {
          order: 1;
          display: block;
          margin: 0 auto 30rem; } }

.top__blog {
  background: rgba(232, 226, 240, 0.44); }
  @media (min-width: 751px) {
    .top__blog {
      padding: 100rem 0; } }
  @media (max-width: 750px) {
    .top__blog {
      padding: 140rem 0; } }
  @media (min-width: 751px) {
    .top__blog-inner .detail {
      display: flex;
      flex-wrap: wrap;
      margin-top: 40rem; } }
  .top__blog-inner .detail a {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media (min-width: 751px) {
      .top__blog-inner .detail a {
        width: 470rem;
        margin: 0 0 30rem; } }
    @media (max-width: 750px) {
      .top__blog-inner .detail a {
        margin-bottom: 50rem; } }
    .top__blog-inner .detail a img {
      object-fit: cover; }
      @media (min-width: 751px) {
        .top__blog-inner .detail a img {
          width: 167rem;
          height: 167rem; } }
      @media (max-width: 750px) {
        .top__blog-inner .detail a img {
          width: 258rem;
          height: 258rem; } }
    @media (min-width: 751px) {
      .top__blog-inner .detail a .right {
        width: 285rem; } }
    @media (max-width: 750px) {
      .top__blog-inner .detail a .right {
        width: 295rem; } }
    .top__blog-inner .detail a .right h3 {
      font-weight: 500;
      margin-bottom: 10rem; }
      @media (min-width: 751px) {
        .top__blog-inner .detail a .right h3 {
          font-size: 16rem; } }
      @media (max-width: 750px) {
        .top__blog-inner .detail a .right h3 {
          font-size: 28rem; } }
    .top__blog-inner .detail a .right p {
      font-weight: 500; }
      @media (min-width: 751px) {
        .top__blog-inner .detail a .right p {
          font-size: 14rem; } }
      @media (max-width: 750px) {
        .top__blog-inner .detail a .right p {
          font-size: 24rem; } }
    @media (min-width: 751px) {
      .top__blog-inner .detail a:nth-of-type(even) {
        margin: 0 0 30rem 60rem; } }
  @media (min-width: 751px) {
    .top__blog-inner .cmn__btn-large a {
      margin: 0 auto; } }

@media (min-width: 751px) {
  .mission__head {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 100rem; } }
@media (max-width: 750px) {
  .mission__head {
    margin: 0 auto 330rem; } }
@media (min-width: 751px) {
  .mission__head div {
    width: 30%; } }
@media (max-width: 750px) {
  .mission__head div:nth-of-type(1) h2:after {
    width: 384rem; } }
@media (max-width: 750px) {
  .mission__head div:nth-of-type(2) {
    margin: 90rem 0; } }
@media (max-width: 750px) {
  .mission__head div:nth-of-type(2) h2:after {
    width: 354rem; } }
@media (max-width: 750px) {
  .mission__head div:nth-of-type(3) h2:after {
    width: 398rem; } }
.mission__head div h2 {
  line-height: 1;
  font-weight: 700;
  display: flex;
  align-items: center; }
  @media (min-width: 751px) {
    .mission__head div h2 {
      margin-bottom: 25rem;
      font-size: 32rem; } }
  @media (max-width: 750px) {
    .mission__head div h2 {
      font-size: 48rem;
      margin-bottom: 40rem; } }
  .mission__head div h2:after {
    content: '';
    background: #410797;
    margin-left: 15rem;
    display: inline-block; }
    @media (min-width: 751px) {
      .mission__head div h2:after {
        width: 177rem;
        height: 1px; } }
    @media (max-width: 750px) {
      .mission__head div h2:after {
        height: 1px; } }
.mission__head div p {
  font-weight: 700; }
  @media (min-width: 751px) {
    .mission__head div p {
      font-size: 19rem; } }
  @media (max-width: 750px) {
    .mission__head div p {
      font-size: 32rem; } }

.mission__content {
  position: relative;
  background: rgba(232, 226, 240, 0.44); }
  @media (min-width: 751px) {
    .mission__content {
      padding: 100rem 0; } }
  @media (max-width: 750px) {
    .mission__content {
      padding: 280rem 0 140rem; } }
  @media (min-width: 751px) {
    .mission__content .cmn__inner {
      display: flex;
      justify-content: space-between; } }
  @media (min-width: 751px) {
    .mission__content .cmn__inner img {
      width: 211rem;
      height: 214rem; } }
  @media (max-width: 750px) {
    .mission__content .cmn__inner img {
      width: calc(211rem * 2);
      height: calc(214rem * 2);
      top: 0;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      position: absolute; } }
  @media (min-width: 751px) {
    .mission__content-right {
      width: 687rem; } }
  .mission__content-right h3 {
    font-weight: 700;
    line-height: 2; }
    @media (min-width: 751px) {
      .mission__content-right h3 {
        font-size: 20rem;
        margin-bottom: 35rem; } }
    @media (max-width: 750px) {
      .mission__content-right h3 {
        font-size: 32rem;
        margin-top: 70rem;
        margin-bottom: 60rem; } }
  .mission__content-right p {
    font-weight: 500;
    line-height: 2;
    margin-bottom: 35rem; }
    @media (max-width: 750px) {
      .mission__content-right p {
        font-size: 28rem; } }
  .mission__content-right .name {
    display: flex;
    align-items: center; }
    @media (max-width: 750px) {
      .mission__content-right .name {
        justify-content: flex-end; } }
    .mission__content-right .name span {
      font-weight: 500; }
      @media (min-width: 751px) {
        .mission__content-right .name span {
          font-size: 22rem; } }
      @media (max-width: 750px) {
        .mission__content-right .name span {
          font-size: 24rem; } }
    .mission__content-right .name p {
      font-weight: 500;
      margin-left: 10rem;
      margin-bottom: 0; }
      @media (min-width: 751px) {
        .mission__content-right .name p {
          font-size: 29rem; } }
      @media (max-width: 750px) {
        .mission__content-right .name p {
          font-size: 32rem; } }

.web__head {
  text-align: center; }
  @media (min-width: 751px) {
    .web__head {
      margin-bottom: 110rem; } }
  @media (max-width: 750px) {
    .web__head {
      margin-bottom: 130rem; } }
  .web__head h2 {
    display: inline-block;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 10rem;
    border-bottom: 1px solid #E8E2F0; }
    @media (min-width: 751px) {
      .web__head h2 {
        font-size: 24rem;
        margin-bottom: 15rem; } }
    @media (max-width: 750px) {
      .web__head h2 {
        font-size: 32rem;
        margin-bottom: 30rem; } }
  .web__head p {
    text-align: left;
    font-weight: 500; }
    @media (min-width: 751px) {
      .web__head p {
        width: 520rem;
        margin: 0 auto; } }
    @media (max-width: 750px) {
      .web__head p {
        font-size: 28rem; } }

@media (min-width: 751px) {
  .web__detail-block .head {
    display: flex;
    justify-content: space-between; } }
.web__detail-block .head h3 {
  font-weight: 700;
  line-height: 1;
  padding-bottom: 30rem;
  position: relative; }
  @media (min-width: 751px) {
    .web__detail-block .head h3 {
      font-size: 32rem;
      height: 100%;
      margin-bottom: 30rem; } }
  @media (max-width: 750px) {
    .web__detail-block .head h3 {
      font-size: 48rem;
      margin-bottom: 60rem; } }
  .web__detail-block .head h3:before {
    height: 1px;
    position: absolute;
    left: 0;
    content: '';
    bottom: 0;
    background: #410797; }
    @media (min-width: 751px) {
      .web__detail-block .head h3:before {
        width: 34rem; } }
    @media (max-width: 750px) {
      .web__detail-block .head h3:before {
        width: 50rem; } }
@media (min-width: 751px) {
  .web__detail-block .head .right {
    width: 375rem;
    margin-bottom: 25rem; } }
@media (max-width: 750px) {
  .web__detail-block .head .right {
    margin-top: -20rem;
    margin-bottom: 60rem; } }
.web__detail-block .head .right div {
  display: flex; }
  @media (min-width: 751px) {
    .web__detail-block .head .right div {
      justify-content: flex-end; } }
  @media (max-width: 750px) {
    .web__detail-block .head .right div {
      justify-content: space-between;
      margin-bottom: 30rem; } }
  .web__detail-block .head .right div p {
    font-weight: 700; }
    @media (min-width: 751px) {
      .web__detail-block .head .right div p {
        margin-bottom: 7rem; } }
    @media (max-width: 750px) {
      .web__detail-block .head .right div p {
        font-size: 28rem; } }
    @media (min-width: 751px) {
      .web__detail-block .head .right div p:nth-of-type(1) {
        margin-right: 25rem; } }
  @media (min-width: 751px) {
    .web__detail-block .head .right div small {
      font-size: 12rem; } }
  @media (max-width: 750px) {
    .web__detail-block .head .right div small {
      font-size: 24rem; } }
@media (min-width: 751px) {
  .web__detail-block .separate {
    display: flex;
    flex-wrap: wrap; } }
@media (min-width: 751px) {
  .web__detail-block .separate.number1 {
    margin-bottom: 85rem; } }
@media (max-width: 750px) {
  .web__detail-block .separate.number1 {
    margin-bottom: 200rem; } }
@media (min-width: 751px) {
  .web__detail-block .separate.number1 div img {
    width: 69rem; } }
@media (max-width: 750px) {
  .web__detail-block .separate.number1 div img {
    width: 138rem; } }
.web__detail-block .separate.number2 {
  margin-bottom: 85rem; }
  @media (min-width: 751px) {
    .web__detail-block .separate.number2 div:nth-of-type(1) img {
      width: 78rem;
      margin-bottom: 37rem; } }
  @media (max-width: 750px) {
    .web__detail-block .separate.number2 div:nth-of-type(1) img {
      width: 156rem; } }
  @media (min-width: 751px) {
    .web__detail-block .separate.number2 div:nth-of-type(2) img {
      width: 60rem; } }
  @media (max-width: 750px) {
    .web__detail-block .separate.number2 div:nth-of-type(2) img {
      width: 120rem; } }
  @media (min-width: 751px) {
    .web__detail-block .separate.number2 div:nth-of-type(3) img {
      width: 60rem; } }
  @media (max-width: 750px) {
    .web__detail-block .separate.number2 div:nth-of-type(3) img {
      width: 120rem; } }
.web__detail-block .separate div {
  box-shadow: 0 0 15rem rgba(0, 0, 0, 0.16);
  text-align: center; }
  @media (min-width: 751px) {
    .web__detail-block .separate div {
      width: 295rem;
      padding: 50rem 29rem;
      margin: 0 0 57rem; } }
  @media (max-width: 750px) {
    .web__detail-block .separate div {
      padding: 100rem 50rem; } }
  @media (min-width: 751px) {
    .web__detail-block .separate div:nth-of-type(3n+2) {
      margin: 0 57rem 57rem 57rem; } }
  @media (max-width: 750px) {
    .web__detail-block .separate div:not(:last-of-type) {
      margin-bottom: 40rem; } }
  .web__detail-block .separate div img {
    margin-bottom: 25rem; }
  .web__detail-block .separate div h4 {
    font-weight: 700;
    line-height: 1; }
    @media (min-width: 751px) {
      .web__detail-block .separate div h4 {
        font-size: 20rem; } }
    @media (max-width: 750px) {
      .web__detail-block .separate div h4 {
        font-size: 40rem; } }
  .web__detail-block .separate div span {
    display: block;
    font-weight: 700;
    line-height: 1; }
    @media (min-width: 751px) {
      .web__detail-block .separate div span {
        margin-top: 10rem;
        font-size: 14rem; } }
    @media (max-width: 750px) {
      .web__detail-block .separate div span {
        margin-top: 20rem;
        font-size: 28rem; } }
  .web__detail-block .separate div p {
    line-height: 2;
    margin-top: 25rem;
    font-weight: 500;
    text-align: left; }
    @media (min-width: 751px) {
      .web__detail-block .separate div p {
        font-size: 14rem; } }
    @media (max-width: 750px) {
      .web__detail-block .separate div p {
        font-size: 28rem; } }

.web__flow {
  background: rgba(232, 226, 240, 0.44);
  padding: 100rem 0; }
  .web__flow h2 {
    font-weight: 700;
    line-height: 1;
    padding-bottom: 30rem;
    margin-bottom: 30rem;
    position: relative; }
    @media (min-width: 751px) {
      .web__flow h2 {
        font-size: 32rem;
        height: 100%; } }
    .web__flow h2:before {
      width: 34rem;
      height: 1px;
      position: absolute;
      left: 0;
      content: '';
      bottom: 0;
      background: #410797; }
  @media (min-width: 751px) {
    .web__flow-separate {
      display: flex;
      justify-content: space-between; } }
  @media (min-width: 751px) {
    .web__flow-separate div {
      width: 228rem; } }
  @media (max-width: 750px) {
    .web__flow-separate div:not(:last-of-type) {
      margin-bottom: 60rem; } }
  .web__flow-separate div span {
    background: #410797;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media (min-width: 751px) {
      .web__flow-separate div span {
        font-size: 20rem;
        padding: 8rem;
        margin-bottom: 10rem; } }
    @media (max-width: 750px) {
      .web__flow-separate div span {
        font-size: 36rem;
        padding: 24rem;
        margin-bottom: 20rem; } }
    .web__flow-separate div span:before {
      content: '';
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid; }
      @media (min-width: 751px) {
        .web__flow-separate div span:before {
          right: 0;
          top: 0;
          border-width: 0 20rem 20rem 0;
          border-color: transparent #f5f2f8 transparent transparent; } }
      @media (max-width: 750px) {
        .web__flow-separate div span:before {
          left: 0;
          bottom: 0;
          border-width: 40rem 0 0 295rem;
          border-color: transparent transparent transparent #f5f2f8; } }
    .web__flow-separate div span:after {
      content: '';
      position: absolute;
      border-style: solid;
      width: 0;
      height: 0; }
      @media (min-width: 751px) {
        .web__flow-separate div span:after {
          right: 0;
          bottom: 0;
          border-width: 0 0 20rem 20rem;
          border-color: transparent transparent #f5f2f8 transparent; } }
      @media (max-width: 750px) {
        .web__flow-separate div span:after {
          right: 0;
          bottom: 0;
          border-width: 0 0 40rem 295rem;
          border-color: transparent transparent #f5f2f8 transparent; } }
  .web__flow-separate div h3 {
    font-weight: 700;
    line-height: 1;
    text-align: center; }
    @media (min-width: 751px) {
      .web__flow-separate div h3 {
        font-size: 16rem;
        margin-bottom: 10rem; } }
    @media (max-width: 750px) {
      .web__flow-separate div h3 {
        font-size: 32rem;
        margin-bottom: 20rem; } }
  .web__flow-separate div p {
    font-weight: 500; }
    @media (min-width: 751px) {
      .web__flow-separate div p {
        font-size: 14rem; } }
    @media (max-width: 750px) {
      .web__flow-separate div p {
        font-size: 28rem; } }

.web__works {
  padding: 100rem 0; }
  .web__works h2 {
    font-weight: 700;
    line-height: 1;
    padding-bottom: 30rem;
    margin-bottom: 30rem;
    position: relative; }
    @media (min-width: 751px) {
      .web__works h2 {
        font-size: 32rem;
        height: 100%; } }
    @media (max-width: 750px) {
      .web__works h2 {
        font-size: 64rem; } }
    .web__works h2:before {
      height: 1px;
      position: absolute;
      left: 0;
      content: '';
      bottom: 0;
      background: #410797; }
      @media (min-width: 751px) {
        .web__works h2:before {
          width: 34rem; } }
      @media (max-width: 750px) {
        .web__works h2:before {
          width: 50rem; } }
  @media (min-width: 751px) {
    .web__works-separate a:not(:last-of-type) {
      margin-bottom: 40rem; } }
  @media (min-width: 751px) {
    .web__works .cmn__btn-large a {
      margin: 0 auto; } }
  @media (max-width: 750px) {
    .web__works .cmn__btn-large a {
      margin-top: 80rem; } }

.fixed__head {
  text-align: center; }
  @media (min-width: 751px) {
    .fixed__head {
      margin-bottom: 110rem; } }
  @media (max-width: 750px) {
    .fixed__head {
      margin: 0 auto 130rem;
      width: 100%; } }
  .fixed__head h2 {
    display: inline-block;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 10rem; }
    @media (min-width: 751px) {
      .fixed__head h2 {
        font-size: 24rem;
        margin-bottom: 60rem; } }
    @media (max-width: 750px) {
      .fixed__head h2 {
        font-size: 32rem;
        margin-bottom: 40rem; } }
  .fixed__head-separate {
    display: flex;
    justify-content: center;
    margin-bottom: 50rem; }
    @media (max-width: 750px) {
      .fixed__head-separate {
        margin: 0 auto 60rem;
        width: 670rem; } }
    .fixed__head-separate .left {
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      border: 2rem solid #EA9ACE;
      background: #fff;
      font-weight: 700;
      color: #EA9ACE; }
      @media (min-width: 751px) {
        .fixed__head-separate .left {
          width: 280rem;
          height: 280rem;
          margin-right: -50rem;
          font-size: 25rem; } }
      @media (max-width: 750px) {
        .fixed__head-separate .left {
          width: 368rem;
          height: 368rem;
          margin-right: -50rem;
          font-size: 34rem; } }
    .fixed__head-separate .right {
      border-radius: 50%;
      text-align: center;
      background: #410797;
      position: relative; }
      @media (min-width: 751px) {
        .fixed__head-separate .right {
          width: 280rem;
          height: 280rem;
          padding-top: 120rem; } }
      @media (max-width: 750px) {
        .fixed__head-separate .right {
          width: 368rem;
          height: 368rem;
          padding-top: 160rem; } }
      .fixed__head-separate .right img {
        display: block; }
        @media (min-width: 751px) {
          .fixed__head-separate .right img {
            width: 195rem;
            margin: 0 auto; } }
        @media (max-width: 750px) {
          .fixed__head-separate .right img {
            width: 256rem;
            margin: 0 auto; } }
      .fixed__head-separate .right p {
        color: #fff; }
        @media (min-width: 751px) {
          .fixed__head-separate .right p {
            font-size: 24rem; } }
        @media (max-width: 750px) {
          .fixed__head-separate .right p {
            font-size: 32rem; } }
  .fixed__head-content {
    text-align: center; }
    @media (min-width: 751px) {
      .fixed__head-content {
        margin-bottom: 50rem; } }
    @media (max-width: 750px) {
      .fixed__head-content {
        margin: 0 auto 60rem;
        width: 670rem; } }
    .fixed__head-content h3 {
      margin-bottom: 40rem; }
      .fixed__head-content h3 strong {
        font-weight: 700;
        display: inline-block;
        margin-bottom: 15rem;
        background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, transparent), color-stop(50%, #FFFB8D), to(#FFFB8D));
        background: -webkit-linear-gradient(transparent 0%, transparent 50%, #FFFB8D 50%, #FFFB8D 100%);
        background: -o-linear-gradient(transparent 0%, transparent 50%, #FFFB8D 50%, #FFFB8D 100%);
        background: linear-gradient(transparent 0%, transparent 50%, #FFFB8D 50%, #FFFB8D 100%); }
        @media (max-width: 750px) {
          .fixed__head-content h3 strong {
            font-size: 30rem; } }
    .fixed__head-content p {
      font-weight: 500; }
      @media (min-width: 751px) {
        .fixed__head-content p {
          font-size: 18rem; } }
      @media (max-width: 750px) {
        .fixed__head-content p {
          font-size: 28rem; } }
  .fixed__head-point {
    display: flex; }
    @media (min-width: 751px) {
      .fixed__head-point {
        justify-content: center;
        margin-bottom: 60rem; } }
    @media (max-width: 750px) {
      .fixed__head-point {
        flex-wrap: wrap;
        width: 590rem;
        margin: 0 auto 60rem; } }
    .fixed__head-point div {
      border: 1px solid rgba(65, 7, 151, 0.21); }
      @media (min-width: 751px) {
        .fixed__head-point div {
          width: 185rem; } }
      @media (max-width: 750px) {
        .fixed__head-point div:not(:last-of-type) {
          width: 48%; } }
      @media (max-width: 750px) {
        .fixed__head-point div:nth-of-type(1) p {
          min-height: 252rem; } }
      @media (max-width: 750px) {
        .fixed__head-point div:nth-of-type(2) {
          margin-left: 15rem; } }
      @media (max-width: 750px) {
        .fixed__head-point div:last-of-type {
          width: 100%;
          margin-top: 15rem; } }
      @media (max-width: 750px) {
        .fixed__head-point div:last-of-type p br {
          display: none; } }
      .fixed__head-point div h4 {
        background: rgba(65, 7, 151, 0.16);
        font-weight: 700;
        color: #410797;
        padding: 9rem; }
        @media (min-width: 751px) {
          .fixed__head-point div h4 {
            font-size: 21rem; } }
      @media (min-width: 751px) {
        .fixed__head-point div:nth-of-type(2) {
          margin: 0 20rem; } }
      .fixed__head-point div p {
        line-height: 2;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center; }
        @media (min-width: 751px) {
          .fixed__head-point div p {
            font-size: 18rem;
            min-height: 184rem;
            padding: 20rem 0; } }
        @media (max-width: 750px) {
          .fixed__head-point div p {
            line-height: 1.5;
            padding: 30rem; } }

.fixed__price {
  background: rgba(232, 226, 240, 0.44);
  padding: 100rem 0; }
  .fixed__price h2 {
    font-weight: 700;
    line-height: 1;
    padding-bottom: 30rem;
    position: relative; }
    @media (min-width: 751px) {
      .fixed__price h2 {
        font-size: 32rem;
        height: 100%; } }
    @media (max-width: 750px) {
      .fixed__price h2 {
        font-size: 48rem;
        margin-bottom: 40rem; } }
    .fixed__price h2:before {
      width: 34rem;
      height: 1px;
      position: absolute;
      left: 0;
      content: '';
      bottom: 0;
      background: #410797; }
  .fixed__price h3 {
    text-align: center;
    font-weight: 700; }
    @media (min-width: 751px) {
      .fixed__price h3 {
        font-size: 20rem;
        margin-bottom: 10rem; } }
    @media (max-width: 750px) {
      .fixed__price h3 {
        font-size: 28rem;
        margin-bottom: 20rem; } }
  .fixed__price strong {
    font-weight: 700;
    display: block;
    text-align: center; }
    @media (min-width: 751px) {
      .fixed__price strong {
        font-size: 30rem;
        margin-bottom: 20rem; } }
    @media (max-width: 750px) {
      .fixed__price strong {
        font-size: 28rem;
        margin-bottom: 40rem; } }
  @media (min-width: 751px) {
    .fixed__price p {
      width: 755rem;
      margin: 0 auto; } }
  @media (max-width: 750px) {
    .fixed__price p {
      font-size: 24rem; } }

@media (min-width: 751px) {
  .fixed__template {
    padding: 100rem 0; } }
@media (max-width: 750px) {
  .fixed__template {
    padding: 140rem 0; } }
@media (min-width: 751px) {
  .fixed__template .cmn__inner {
    display: flex;
    justify-content: center;
    align-items: center; } }
.fixed__template .cmn__inner p {
  font-weight: 700;
  line-height: 1.75; }
  @media (min-width: 751px) {
    .fixed__template .cmn__inner p {
      width: 250rem; } }
  @media (max-width: 750px) {
    .fixed__template .cmn__inner p {
      text-align: center;
      margin-bottom: 40rem; } }
.fixed__template .cmn__inner a {
  background: #410797;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 700; }
  @media (min-width: 751px) {
    .fixed__template .cmn__inner a {
      font-size: 19rem;
      width: 405rem;
      padding: 15rem 35rem; } }
  @media (max-width: 750px) {
    .fixed__template .cmn__inner a {
      font-size: 28rem;
      padding: 20rem 35rem;
      width: 100%; } }
  .fixed__template .cmn__inner a:after {
    content: '';
    display: inline-block;
    background-image: url(./images/fixed/template__after.svg);
    background-size: contain;
    background-repeat: no-repeat; }
    @media (min-width: 751px) {
      .fixed__template .cmn__inner a:after {
        width: 19rem;
        height: 13rem;
        margin-left: 80rem; } }
    @media (max-width: 750px) {
      .fixed__template .cmn__inner a:after {
        width: 44rem;
        height: 26rem;
        margin-left: 80rem; } }

.fixed__flow {
  background: rgba(232, 226, 240, 0.44);
  padding: 100rem 0; }
  .fixed__flow h2 {
    font-weight: 700;
    line-height: 1;
    padding-bottom: 30rem;
    margin-bottom: 30rem;
    position: relative; }
    @media (min-width: 751px) {
      .fixed__flow h2 {
        font-size: 32rem;
        height: 100%; } }
    .fixed__flow h2:before {
      width: 34rem;
      height: 1px;
      position: absolute;
      left: 0;
      content: '';
      bottom: 0;
      background: #410797; }
  @media (min-width: 751px) {
    .fixed__flow-separate {
      display: flex;
      justify-content: space-between; } }
  @media (min-width: 751px) {
    .fixed__flow-separate div {
      width: 228rem; } }
  @media (max-width: 750px) {
    .fixed__flow-separate div:not(:last-of-type) {
      margin-bottom: 60rem; } }
  .fixed__flow-separate div span {
    background: #410797;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media (min-width: 751px) {
      .fixed__flow-separate div span {
        font-size: 20rem;
        padding: 8rem;
        margin-bottom: 10rem; } }
    @media (max-width: 750px) {
      .fixed__flow-separate div span {
        font-size: 36rem;
        padding: 24rem;
        margin-bottom: 20rem; } }
    .fixed__flow-separate div span:before {
      content: '';
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid; }
      @media (min-width: 751px) {
        .fixed__flow-separate div span:before {
          right: 0;
          top: 0;
          border-width: 0 20rem 20rem 0;
          border-color: transparent #f5f2f8 transparent transparent; } }
      @media (max-width: 750px) {
        .fixed__flow-separate div span:before {
          left: 0;
          bottom: 0;
          border-width: 40rem 0 0 295rem;
          border-color: transparent transparent transparent #f5f2f8; } }
    .fixed__flow-separate div span:after {
      content: '';
      position: absolute;
      border-style: solid;
      width: 0;
      height: 0; }
      @media (min-width: 751px) {
        .fixed__flow-separate div span:after {
          right: 0;
          bottom: 0;
          border-width: 0 0 20rem 20rem;
          border-color: transparent transparent #f5f2f8 transparent; } }
      @media (max-width: 750px) {
        .fixed__flow-separate div span:after {
          right: 0;
          bottom: 0;
          border-width: 0 0 40rem 295rem;
          border-color: transparent transparent #f5f2f8 transparent; } }
  .fixed__flow-separate div h3 {
    font-weight: 700;
    line-height: 1;
    text-align: center; }
    @media (min-width: 751px) {
      .fixed__flow-separate div h3 {
        font-size: 16rem;
        margin-bottom: 10rem; } }
    @media (max-width: 750px) {
      .fixed__flow-separate div h3 {
        font-size: 32rem;
        margin-bottom: 20rem; } }
  .fixed__flow-separate div p {
    font-weight: 500; }
    @media (min-width: 751px) {
      .fixed__flow-separate div p {
        font-size: 14rem; } }
    @media (max-width: 750px) {
      .fixed__flow-separate div p {
        font-size: 28rem; } }

@media (min-width: 751px) {
  .single__works {
    width: 660rem;
    margin: 0 auto 100rem; } }
.single__works h1 {
  text-align: center;
  font-weight: 700; }
  @media (min-width: 751px) {
    .single__works h1 {
      font-size: 24rem;
      margin-bottom: 65rem; } }
  @media (max-width: 750px) {
    .single__works h1 {
      font-size: 36rem;
      margin-bottom: 60rem; } }
.single__works-head {
  text-align: center; }
  .single__works-head img {
    margin-bottom: 45rem; }

@media (min-width: 751px) {
  .about__content {
    width: 687rem;
    margin: 0 auto 110rem; } }
@media (max-width: 750px) {
  .about__content {
    width: 590rem;
    margin: 0 auto 70rem; } }
.about__content table tr:not(:last-of-type) {
  border-bottom: 1rem solid #E8E2F0; }
.about__content table tr th {
  font-weight: 500; }
  @media (min-width: 751px) {
    .about__content table tr th {
      padding: 15rem 15rem 15rem 0;
      width: 250rem; } }
  @media (max-width: 750px) {
    .about__content table tr th {
      padding: 30rem 0;
      width: 35%; } }
.about__content table tr td {
  font-weight: 500; }
  @media (min-width: 751px) {
    .about__content table tr td {
      padding: 15rem;
      width: 437rem; } }
  @media (max-width: 750px) {
    .about__content table tr td {
      padding: 30rem 0;
      width: 65%; } }

.about__map iframe {
  width: 100%; }
  @media (min-width: 751px) {
    .about__map iframe {
      height: 435rem; } }
  @media (max-width: 750px) {
    .about__map iframe {
      height: 450rem;
      margin-bottom: -140rem; } }

.page__blog-head {
  position: relative; }
  @media (min-width: 751px) {
    .page__blog-head {
      width: 600rem;
      margin: 0 auto 70rem; } }
  @media (max-width: 750px) {
    .page__blog-head {
      margin-bottom: 60rem; } }
  .page__blog-head:after {
    content: '';
    background-image: url(./images/blog/select__after.svg);
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none; }
    @media (min-width: 751px) {
      .page__blog-head:after {
        width: 9rem;
        height: 5rem;
        right: 18rem;
        top: 18rem; } }
    @media (max-width: 750px) {
      .page__blog-head:after {
        width: 18rem;
        height: 10rem;
        right: 20rem;
        top: 40rem; } }
  .page__blog-head select {
    appearance: none;
    cursor: pointer;
    -webkit-text-fill-color: #939393;
    opacity: 1;
    width: 100%;
    background: #fff;
    border: 1px solid rgba(147, 147, 147, 0.27); }
    @media (min-width: 751px) {
      .page__blog-head select {
        font-size: 14rem;
        padding: 13rem; } }
    @media (max-width: 750px) {
      .page__blog-head select {
        font-size: 28rem;
        padding: 25rem; } }
@media (min-width: 751px) {
  .page__blog-separate {
    display: flex;
    flex-wrap: wrap; } }
.page__blog-separate a {
  display: block;
  box-shadow: 0 0 10rem rgba(0, 0, 0, 0.16); }
  @media (min-width: 751px) {
    .page__blog-separate a {
      width: 295rem;
      padding: 30rem;
      margin: 0 0 48rem; } }
  @media (max-width: 750px) {
    .page__blog-separate a {
      padding: 60rem;
      margin: 0 0 40rem; } }
  @media (min-width: 751px) {
    .page__blog-separate a:nth-of-type(3n+2) {
      margin: 0 57rem 48rem; } }
  .page__blog-separate a img {
    object-fit: cover;
    width: 100%; }
    @media (min-width: 751px) {
      .page__blog-separate a img {
        height: 157rem; } }
    @media (max-width: 750px) {
      .page__blog-separate a img {
        height: 314rem; } }
  .page__blog-separate a .block {
    text-align: center; }
    @media (min-width: 751px) {
      .page__blog-separate a .block {
        margin-top: 10rem; } }
    @media (max-width: 750px) {
      .page__blog-separate a .block {
        margin-top: 20rem; } }
    .page__blog-separate a .block time {
      color: #939393;
      display: inline-block; }
      @media (min-width: 751px) {
        .page__blog-separate a .block time {
          font-size: 12rem;
          margin-bottom: 7rem; } }
      @media (max-width: 750px) {
        .page__blog-separate a .block time {
          font-size: 24rem;
          margin-bottom: 15rem; } }
    .page__blog-separate a .block h2 {
      font-weight: 500; }
      @media (min-width: 751px) {
        .page__blog-separate a .block h2 {
          font-size: 16rem;
          margin-bottom: 15rem; } }
      @media (max-width: 750px) {
        .page__blog-separate a .block h2 {
          font-size: 32rem;
          margin-bottom: 15rem; } }
    .page__blog-separate a .block p {
      word-break: break-word;
      text-align: left; }
      @media (min-width: 751px) {
        .page__blog-separate a .block p {
          font-size: 14rem; } }
      @media (max-width: 750px) {
        .page__blog-separate a .block p {
          font-size: 28rem; } }

@media (min-width: 751px) {
  .single__blog {
    width: 720rem;
    margin: 0 auto 100rem; } }
@media (max-width: 750px) {
  .single__blog {
    width: 590rem;
    margin: 0 auto 140rem; } }
.single__blog h1 {
  font-weight: 500;
  border-bottom: 1px solid #5A7459;
  padding-bottom: 20rem; }
  @media (min-width: 751px) {
    .single__blog h1 {
      font-size: 22rem;
      margin-bottom: 15rem; } }
  @media (max-width: 750px) {
    .single__blog h1 {
      font-size: 36rem;
      margin-bottom: 20rem; } }
.single__blog time {
  display: inline-block; }
  @media (min-width: 751px) {
    .single__blog time {
      font-size: 14rem;
      margin-bottom: 30rem; } }
  @media (max-width: 750px) {
    .single__blog time {
      font-size: 24rem;
      margin-bottom: 40rem; } }
.single__blog-head {
  text-align: center; }
  .single__blog-head img {
    margin-bottom: 45rem; }

.kaso__head {
  text-align: center; }
  @media (min-width: 751px) {
    .kaso__head {
      margin-bottom: 110rem; } }
  @media (max-width: 750px) {
    .kaso__head {
      margin-bottom: 130rem; } }
  .kaso__head h2 {
    display: inline-block;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 10rem;
    border-bottom: 1px solid #E8E2F0; }
    @media (min-width: 751px) {
      .kaso__head h2 {
        font-size: 24rem;
        margin-bottom: 15rem; } }
    @media (max-width: 750px) {
      .kaso__head h2 {
        font-size: 32rem;
        margin-bottom: 30rem; } }
  .kaso__head p {
    text-align: left;
    font-weight: 500; }
    @media (min-width: 751px) {
      .kaso__head p {
        width: 520rem;
        margin: 0 auto; } }
    @media (max-width: 750px) {
      .kaso__head p {
        font-size: 28rem; } }

@media (min-width: 751px) {
  .kaso__detail-block .head {
    display: flex;
    justify-content: space-between; } }
.kaso__detail-block .head h3 {
  font-weight: 700;
  line-height: 1;
  padding-bottom: 30rem;
  position: relative; }
  @media (min-width: 751px) {
    .kaso__detail-block .head h3 {
      font-size: 32rem;
      height: 100%;
      margin-bottom: 30rem; } }
  @media (max-width: 750px) {
    .kaso__detail-block .head h3 {
      font-size: 48rem;
      margin-bottom: 60rem; } }
  .kaso__detail-block .head h3:before {
    height: 1px;
    position: absolute;
    left: 0;
    content: '';
    bottom: 0;
    background: #410797; }
    @media (min-width: 751px) {
      .kaso__detail-block .head h3:before {
        width: 34rem; } }
    @media (max-width: 750px) {
      .kaso__detail-block .head h3:before {
        width: 50rem; } }
@media (min-width: 751px) {
  .kaso__detail-block .head .right {
    width: 415rem;
    margin-bottom: 25rem; } }
@media (max-width: 750px) {
  .kaso__detail-block .head .right {
    margin-top: -20rem;
    margin-bottom: 60rem; } }
.kaso__detail-block .head .right div {
  display: flex; }
  @media (min-width: 751px) {
    .kaso__detail-block .head .right div {
      justify-content: flex-end; } }
  @media (max-width: 750px) {
    .kaso__detail-block .head .right div {
      justify-content: space-between;
      margin-bottom: 30rem; } }
  .kaso__detail-block .head .right div p {
    font-weight: 700; }
    @media (min-width: 751px) {
      .kaso__detail-block .head .right div p {
        margin-bottom: 7rem; } }
    @media (max-width: 750px) {
      .kaso__detail-block .head .right div p {
        font-size: 28rem; } }
    @media (min-width: 751px) {
      .kaso__detail-block .head .right div p:nth-of-type(1) {
        margin-right: 25rem; } }
    @media (max-width: 750px) {
      .kaso__detail-block .head .right div p:nth-of-type(1) {
        width: 60%; } }
    @media (max-width: 750px) {
      .kaso__detail-block .head .right div p:nth-of-type(2) {
        width: 40%; } }
.kaso__detail-block .head .right small {
  display: block;
  text-align: right; }
  @media (min-width: 751px) {
    .kaso__detail-block .head .right small {
      font-size: 12rem; } }
  @media (max-width: 750px) {
    .kaso__detail-block .head .right small {
      font-size: 24rem; } }
@media (min-width: 751px) {
  .kaso__detail-block .separate {
    display: flex;
    flex-wrap: wrap; } }
.kaso__detail-block .separate__block {
  box-shadow: 0 0 15rem rgba(0, 0, 0, 0.16);
  text-align: center; }
  @media (min-width: 751px) {
    .kaso__detail-block .separate__block {
      width: 295rem;
      padding: 50rem 29rem;
      margin: 0 0 57rem; } }
  @media (max-width: 750px) {
    .kaso__detail-block .separate__block {
      padding: 100rem 50rem; } }
  @media (min-width: 751px) {
    .kaso__detail-block .separate__block:nth-of-type(6n+4) {
      margin: 0 57rem 57rem 57rem; } }
  @media (max-width: 750px) {
    .kaso__detail-block .separate__block:not(:last-of-type) {
      margin-bottom: 40rem; } }
  .kaso__detail-block .separate__block picture img {
    margin-bottom: 25rem; }
  .kaso__detail-block .separate__block h4 {
    font-weight: 700;
    line-height: 1; }
    @media (min-width: 751px) {
      .kaso__detail-block .separate__block h4 {
        font-size: 20rem; } }
    @media (max-width: 750px) {
      .kaso__detail-block .separate__block h4 {
        font-size: 40rem; } }
  .kaso__detail-block .separate__block span {
    display: block;
    font-weight: 700;
    line-height: 1; }
    @media (min-width: 751px) {
      .kaso__detail-block .separate__block span {
        margin-top: 10rem;
        font-size: 14rem; } }
    @media (max-width: 750px) {
      .kaso__detail-block .separate__block span {
        margin-top: 20rem;
        font-size: 28rem; } }
  .kaso__detail-block .separate__block p {
    line-height: 2;
    margin-top: 25rem;
    font-weight: 500;
    text-align: left; }
    @media (min-width: 751px) {
      .kaso__detail-block .separate__block p {
        font-size: 14rem; } }
    @media (max-width: 750px) {
      .kaso__detail-block .separate__block p {
        font-size: 28rem; } }
  .kaso__detail-block .separate__block.js__scroll, .kaso__detail-block .separate__block.js__scroll1, .kaso__detail-block .separate__block.js__scrollX1, .kaso__detail-block .separate__block.js__scroll2, .kaso__detail-block .separate__block.js__scrollX2, .kaso__detail-block .separate__block.js__scroll3, .kaso__detail-block .separate__block.js__scrollX3, .kaso__detail-block .separate__block.js__scroll4, .kaso__detail-block .separate__block.js__scroll5, .kaso__detail-block .separate__block.js__scroll6, .kaso__detail-block .separate__block.js__scroll7, .kaso__detail-block .separate__block.js__scroll8, .kaso__detail-block .separate__block.js__scroll9 {
    opacity: 0; }

.kaso__flow {
  background: rgba(232, 226, 240, 0.44);
  padding: 100rem 0; }
  .kaso__flow h2 {
    font-weight: 700;
    line-height: 1;
    padding-bottom: 30rem;
    margin-bottom: 30rem;
    position: relative; }
    @media (min-width: 751px) {
      .kaso__flow h2 {
        font-size: 32rem;
        height: 100%; } }
    .kaso__flow h2:before {
      width: 34rem;
      height: 1px;
      position: absolute;
      left: 0;
      content: '';
      bottom: 0;
      background: #410797; }
  @media (min-width: 751px) {
    .kaso__flow-separate {
      display: flex;
      justify-content: space-between; } }
  @media (min-width: 751px) {
    .kaso__flow-separate div {
      width: 228rem; } }
  @media (max-width: 750px) {
    .kaso__flow-separate div:not(:last-of-type) {
      margin-bottom: 60rem; } }
  .kaso__flow-separate div span {
    background: #410797;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media (min-width: 751px) {
      .kaso__flow-separate div span {
        font-size: 20rem;
        padding: 8rem;
        margin-bottom: 10rem; } }
    @media (max-width: 750px) {
      .kaso__flow-separate div span {
        font-size: 36rem;
        padding: 24rem;
        margin-bottom: 20rem; } }
    .kaso__flow-separate div span:before {
      content: '';
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid; }
      @media (min-width: 751px) {
        .kaso__flow-separate div span:before {
          right: 0;
          top: 0;
          border-width: 0 20rem 20rem 0;
          border-color: transparent #f5f2f8 transparent transparent; } }
      @media (max-width: 750px) {
        .kaso__flow-separate div span:before {
          left: 0;
          bottom: 0;
          border-width: 40rem 0 0 295rem;
          border-color: transparent transparent transparent #f5f2f8; } }
    .kaso__flow-separate div span:after {
      content: '';
      position: absolute;
      border-style: solid;
      width: 0;
      height: 0; }
      @media (min-width: 751px) {
        .kaso__flow-separate div span:after {
          right: 0;
          bottom: 0;
          border-width: 0 0 20rem 20rem;
          border-color: transparent transparent #f5f2f8 transparent; } }
      @media (max-width: 750px) {
        .kaso__flow-separate div span:after {
          right: 0;
          bottom: 0;
          border-width: 0 0 40rem 295rem;
          border-color: transparent transparent #f5f2f8 transparent; } }
  .kaso__flow-separate div h3 {
    font-weight: 700;
    line-height: 1;
    text-align: center; }
    @media (min-width: 751px) {
      .kaso__flow-separate div h3 {
        font-size: 16rem;
        margin-bottom: 10rem; } }
    @media (max-width: 750px) {
      .kaso__flow-separate div h3 {
        font-size: 32rem;
        margin-bottom: 20rem; } }
  .kaso__flow-separate div p {
    font-weight: 500; }
    @media (min-width: 751px) {
      .kaso__flow-separate div p {
        font-size: 14rem; } }
    @media (max-width: 750px) {
      .kaso__flow-separate div p {
        font-size: 28rem; } }

.kaso__works {
  padding: 100rem 0; }
  .kaso__works h2 {
    font-weight: 700;
    line-height: 1;
    padding-bottom: 30rem;
    margin-bottom: 30rem;
    position: relative; }
    @media (min-width: 751px) {
      .kaso__works h2 {
        font-size: 32rem;
        height: 100%; } }
    @media (max-width: 750px) {
      .kaso__works h2 {
        font-size: 64rem; } }
    .kaso__works h2:before {
      height: 1px;
      position: absolute;
      left: 0;
      content: '';
      bottom: 0;
      background: #410797; }
      @media (min-width: 751px) {
        .kaso__works h2:before {
          width: 34rem; } }
      @media (max-width: 750px) {
        .kaso__works h2:before {
          width: 50rem; } }
  @media (min-width: 751px) {
    .kaso__works-separate a:not(:last-of-type) {
      margin-bottom: 40rem; } }
  @media (min-width: 751px) {
    .kaso__works .cmn__btn-large a {
      margin: 0 auto; } }
  @media (max-width: 750px) {
    .kaso__works .cmn__btn-large a {
      margin-top: 80rem; } }

@media (min-width: 751px) {
  .page__adjust-link {
    margin-top: -200rem;
    padding-top: 200rem; } }
@media (max-width: 750px) {
  .page__adjust-link {
    margin-top: -150rem;
    padding-top: 150rem; } }

.contact__block h2 {
  font-weight: 700;
  text-align: center;
  margin-bottom: 40rem; }
  @media (min-width: 751px) {
    .contact__block h2 {
      font-size: 24rem; } }
  @media (max-width: 750px) {
    .contact__block h2 {
      font-size: 36rem; } }
.contact__block h3 {
  text-align: center; }
  @media (min-width: 751px) {
    .contact__block h3 {
      font-size: 16rem;
      margin-bottom: 75rem; } }
  @media (max-width: 750px) {
    .contact__block h3 {
      margin-bottom: 140rem;
      font-size: 28rem; } }
@media (min-width: 751px) {
  .contact__block form {
    width: 600rem;
    margin: 0 auto; } }
@media (min-width: 751px) {
  .contact__block form dl {
    margin-bottom: 25rem; } }
@media (max-width: 750px) {
  .contact__block form dl {
    margin-bottom: 60rem; } }
.contact__block form dl dt {
  font-weight: 500; }
  @media (min-width: 751px) {
    .contact__block form dl dt {
      font-size: 14rem;
      margin-bottom: 10rem; } }
  @media (max-width: 750px) {
    .contact__block form dl dt {
      font-size: 28rem;
      margin-bottom: 20rem; } }
  .contact__block form dl dt span {
    color: #FF0000; }
@media (min-width: 751px) {
  .contact__block form dl dd {
    font-size: 14rem; } }
@media (max-width: 750px) {
  .contact__block form dl dd {
    font-size: 28rem; } }
.contact__block form dl dd.select {
  position: relative; }
  .contact__block form dl dd.select:after {
    content: '';
    background-image: url(./images/blog/select__after.svg);
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none; }
    @media (min-width: 751px) {
      .contact__block form dl dd.select:after {
        width: 9rem;
        height: 5rem;
        right: 18rem;
        top: 18rem; } }
    @media (max-width: 750px) {
      .contact__block form dl dd.select:after {
        width: 18rem;
        height: 10rem;
        right: 20rem;
        top: 40rem; } }
.contact__block form dl dd input[type="text"],
.contact__block form dl dd input[type="email"],
.contact__block form dl dd select,
.contact__block form dl dd textarea {
  width: 100%;
  border: 1px solid rgba(147, 147, 147, 0.27); }
  @media (min-width: 751px) {
    .contact__block form dl dd input[type="text"],
    .contact__block form dl dd input[type="email"],
    .contact__block form dl dd select,
    .contact__block form dl dd textarea {
      padding: 12.5rem;
      font-size: 14rem; } }
  @media (max-width: 750px) {
    .contact__block form dl dd input[type="text"],
    .contact__block form dl dd input[type="email"],
    .contact__block form dl dd select,
    .contact__block form dl dd textarea {
      padding: 25rem;
      font-size: 28rem; } }
.contact__block form dl dd select {
  appearance: none;
  cursor: pointer;
  -webkit-text-fill-color: #939393;
  opacity: 1;
  width: 100%;
  background: #fff; }
.contact__block form .caution {
  position: relative;
  color: #939393;
  font-weight: 500; }
  @media (min-width: 751px) {
    .contact__block form .caution {
      margin-bottom: 75rem;
      font-size: 14rem; } }
  @media (max-width: 750px) {
    .contact__block form .caution {
      font-size: 28rem;
      margin-bottom: 140rem;
      text-align: center; } }
  .contact__block form .caution a {
    color: #939393;
    text-decoration: underline; }
    @media (max-width: 750px) {
      .contact__block form .caution a {
        font-size: 28rem; } }
  .contact__block form .caution .error {
    position: absolute; }
.contact__block form .submit__btn {
  position: relative; }
  @media (min-width: 751px) {
    .contact__block form .submit__btn {
      width: 172rem;
      margin: 0 auto; } }
  @media (max-width: 750px) {
    .contact__block form .submit__btn {
      width: 344rem;
      margin: 0 auto; } }
  .contact__block form .submit__btn:after {
    content: '';
    background-image: url(./images/top/cmn__btn-after.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute; }
    @media (min-width: 751px) {
      .contact__block form .submit__btn:after {
        width: 14rem;
        height: 9rem;
        right: 30rem;
        top: 15rem; } }
    @media (max-width: 750px) {
      .contact__block form .submit__btn:after {
        width: 28rem;
        height: 18rem;
        right: 60rem;
        top: 30rem; } }
  .contact__block form .submit__btn input {
    background: #410797;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    cursor: pointer; }
    @media (min-width: 751px) {
      .contact__block form .submit__btn input {
        font-size: 14rem;
        width: 172rem;
        height: 38rem; } }
    @media (max-width: 750px) {
      .contact__block form .submit__btn input {
        font-size: 28rem;
        width: 344rem;
        height: 76rem; } }

@media (max-width: 750px) {
  .page__contact .comp p {
    font-size: 28rem; } }

/*# sourceMappingURL=style.css.map */
