@charset "UTF-8";
/************************************************
 * Config & Variables & Mixin
 ***********************************************/
/*************************************************************
*
* Variables
*
*************************************************************/
/*************************************************************
* Page Container
*************************************************************/
/*************************************************************
* Media Query
*************************************************************/
/*************************************************************
* Margin
*************************************************************/
/*************************************************************
* Gutters Margin
*************************************************************/
/*************************************************************
* Typography
*************************************************************/
/*************************************************************
* Color
*************************************************************/
/*************************************************************
* Animation
*************************************************************/
/*************************************************************
*
* Mixin
*
*************************************************************/
/**************************************************************
* Media Query
**************************************************************/
/**************************************************************
* Media Query Image Ratio
**************************************************************/
/**************************************************************
* Hover
**************************************************************/
/**************************************************************
* Transition
**************************************************************/
/************************************************
 * Foundation
 ***********************************************/
/* Basic */
/************************************************
 * Foundation
 ***********************************************/
/* Normalize */
/************************************************
/*
/* All Element
/*
/***********************************************/
/************************************************
/*
/* Document
/*
/***********************************************/
/*
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/************************************************
/*
/* Sections
/*
/***********************************************/
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/************************************************
/*
/* Grouping Content
/*
/***********************************************/
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

figure {
  margin: 0;
  padding: 0; }

/************************************************
/*
/* Text Content
/*
/***********************************************/
h1, h2, h3, h4, h5, h6, strong {
  font-weight: normal; }

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  line-height: 1.3;
  font-family: inherit;
  margin: 0; }

p, li, dt, dd, th, td, pre {
  line-break: strict;
  word-break: break-strict;
  margin: 0; }

br {
  letter-spacing: 0; }

/**
 * 1. Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  /* 1 */ }

a:focus {
  outline: none; }

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

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: none;
  /* 2 */ }

b, strong {
  font-weight: bold; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: normal; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

em {
  font-style: normal; }

small {
  font-size: inherit; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/************************************************
/*
/* Embedded Content
/*
/***********************************************/
/**
 * Add the correct display in IE 9-.
 */
audio, video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * 1. Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
  /* 1 */
  max-width: 100%;
  vertical-align: middle;
  border: 0;
  width: auto;
  height: auto; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/************************************************
/*
/* Scripting Content
/*
/***********************************************/
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/************************************************
/*
/* Form Content
/*
/***********************************************/
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button, input, select, textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

button, input {
  line-height: normal; }

button {
  background-color: transparent; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button:focus {
  outline: none; }

button,
select {
  /* 1 */
  text-transform: none; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: normal;
     -moz-appearance: normal;
          appearance: normal;
  cursor: pointer;
  border: none; }

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

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

input[type="search"] {
  box-sizing: content-box; }

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

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

textarea {
  overflow: auto;
  vertical-align: top;
  resize: none; }

/************************************************
/*
/* Interactive Content
/*
/***********************************************/
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/************************************************
/*
/* Table Content
/*
/***********************************************/
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit; }

th {
  font-weight: normal; }

/************************************************
/*
/* List Content
/*
/***********************************************/
ul, ol, dl {
  list-style: none;
  padding: 0;
  margin: 0; }

dd {
  margin-left: 0px; }

/************************************************
/*
/* Hidden
/*
/***********************************************/
[hidden] {
  display: none; }

/* My Custom Normalize */
/*************************************************************
*
* My Custom Normalize
*
*************************************************************/
* {
  box-sizing: border-box;
  word-break: normal;
  word-wrap: break-word;
  white-space: normal;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }
  *:before, *:after {
    box-sizing: border-box; }

/* Retinaモニタの際にfont-smoothingを適用 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  html, body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; } }

/************************************************
/* Document
/***********************************************/
html {
  overflow: auto;
  /* iOS用*/
  height: 100%;
  /* iOS用*/ }

/************************************************
/* Grouping Content
/***********************************************/
address {
  font-style: normal; }

/************************************************
/* Text Content
/***********************************************/
a {
  text-decoration: none;
  color: inherit; }
  a:focus {
    outline: none; }
  a:hover, a:active {
    outline-width: 0; }

strong {
  font-weight: normal; }

button {
  text-align: left;
  padding: 0;
  border-radius: 0;
  border: none; }

/*************************************************************
*
* Attribute
*
*************************************************************/
[disabled] {
  cursor: not-allowed; }

/*************************************************************
*
* Status
*
*************************************************************/
:focus:not(:focus-visible) {
  outline: none; }

/*************************************************************
*
* Typography
*
*************************************************************/
html {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Hiragino Sans, Verdana, "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  color: #000;
  line-height: 1;
  letter-spacing: normal; }

@media screen and (max-width: 768px) {
  html {
    font-size: 15px; } }

@media screen and (max-width: 599px) {
  html {
    font-size: 15px; } }

/* テキスト反転色 */
::selection {
  background: #938fdf;
  /*背景色*/
  color: #fff;
  /*文字色*/ }

/************************************************
 * Utility
 ***********************************************/
/* Common */
/*************************************************************
* 要素の回り込み解除
*************************************************************/
.sc {
  clear: both; }

/*************************************************************
* クリアフィックス
*************************************************************/
.cf {
  zoom: 1; }
  .cf:after {
    content: "";
    display: table; }
  .cf:after {
    clear: both; }

/*************************************************************
* その他
*************************************************************/
/* objfit */
img.objfit {
  width: 100%;
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover;object-position: center;'; }
  img.objfit.__right {
    object-position: right center;
    font-family: 'object-fit: cover;object-position: right center;'; }

/*************************************************************
*
* デバイス毎のスタイル
*
*************************************************************/
/* PCサイズ以上 */
@media screen and (min-width: 1060px) {
  .over-pc-none {
    display: none; } }

/* ノートPCサイズ以上 */
@media screen and (min-width: 769px) {
  .over-lp-none {
    display: none; } }

/* タブレットサイズ以上 */
@media screen and (min-width: 600px) {
  .over-tb-none {
    display: none; } }

/* ノートPCサイズ以下 */
@media screen and (max-width: 1059px) {
  .under-lp-none {
    display: none; } }

/* タブレットサイズ以下 */
@media screen and (max-width: 768px) {
  .under-tb-none {
    display: none; } }

/* スマホサイズ以下 */
@media screen and (max-width: 599px) {
  .under-sp-none {
    display: none; } }

/*************************************************************
*
* ブラウザ更新
*
*************************************************************/
.u-browser-update__bg {
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8); }

.u-browser-update__box {
  position: fixed;
  z-index: 2000;
  top: 50%;
  left: 50%;
  width: 500px !important;
  transform: translate(-50%, -50%);
  padding: 25px;
  background-color: #fff;
  text-align: center; }

.u-browser-update__headline {
  font-size: 1.2em;
  color: #938fdf;
  margin-bottom: 1.25rem; }

.u-browser-update__subtext {
  display: block;
  color: #999;
  font-size: 0.75em;
  font-weight: normal; }

.u-browser-update__paragraph {
  text-align: justify;
  text-align-last: left;
  font-size: 0.875em;
  margin-bottom: 1.25rem; }

.u-browser-update__btn {
  display: block;
  background-color: #938fdf;
  color: #fff; }

/* Typography */
/*************************************************************
* Text Align
*************************************************************/
.u-text-center,
.u-text-sp-justify {
  text-align: center; }

.u-text-left {
  text-align: left; }

.u-text-right {
  text-align: right; }

.u-text-justify {
  text-align: justify; }

@media screen and (max-width: 599px) {
  .u-text-sp-justify {
    text-align: justify; } }

/*************************************************************
* Text Wrapping
*************************************************************/
/* 文字折り返し禁止 */
.u-text-nowrap {
  white-space: nowrap; }

/************************************************
 * Component
 ***********************************************/
/* Grid */
/**************************************************************
*
* Grid
*
**************************************************************/
@media screen and (min-width: 1060px) {
  .fol-pc-1 {
    flex-basis: 8.3333333333%; }
  .fol-pc-2 {
    flex-basis: 16.6666666666%; }
  .fol-pc-3 {
    flex-basis: 25%; }
  .fol-pc-4 {
    flex-basis: 33.3333333333%; }
  .fol-pc-5 {
    flex-basis: 41.5555555555%; }
  .fol-pc-6 {
    flex-basis: 50%; }
  .fol-pc-7 {
    flex-basis: 58.3333333333%; }
  .fol-pc-8 {
    flex-basis: 66.6666666666%; }
  .fol-pc-9 {
    flex-basis: 75%; }
  .fol-pc-10 {
    flex-basis: 83.3333333333%; }
  .fol-pc-11 {
    flex-basis: 91.6666666666%; }
  .fol-pc-12 {
    flex-basis: 100%; }
  .fol-pc-fifth {
    flex-basis: 20%; }
  .fol-pc-6:nth-child(n+3) {
    margin-top: 1.75rem; }
  .fol-pc-12:nth-child(n+2) {
    margin-top: 1.75rem; } }

@media screen and (max-width: 1059px) and (min-width: 769px) {
  .fol-lp-1 {
    flex-basis: 8.3333333333%; }
  .fol-lp-2 {
    flex-basis: 16.6666666666%; }
  .fol-lp-3 {
    flex-basis: 25%; }
  .fol-lp-4 {
    flex-basis: 33.3333333333%; }
  .fol-lp-5 {
    flex-basis: 41.5555555555%; }
  .fol-lp-6 {
    flex-basis: 50%; }
  .fol-lp-7 {
    flex-basis: 58.3333333333%; }
  .fol-lp-8 {
    flex-basis: 66.6666666666%; }
  .fol-lp-9 {
    flex-basis: 75%; }
  .fol-lp-10 {
    flex-basis: 83.3333333333%; }
  .fol-lp-11 {
    flex-basis: 91.6666666666%; }
  .fol-lp-12 {
    flex-basis: 100%; }
  .fol-lp-fifth {
    flex-basis: 20%; }
  .fol-lp-6:nth-child(n+3) {
    margin-top: 1.75rem; }
  .fol-lp-12:nth-child(n+2) {
    margin-top: 1.75rem; } }

@media screen and (max-width: 768px) {
  .fol-tb-1 {
    flex-basis: 8.3333333333%; }
  .fol-tb-2 {
    flex-basis: 16.6666666666%; }
  .fol-tb-3 {
    flex-basis: 25%; }
  .fol-tb-4 {
    flex-basis: 33.3333333333%; }
  .fol-tb-5 {
    flex-basis: 41.5555555555%; }
  .fol-tb-6 {
    flex-basis: 50%; }
  .fol-tb-7 {
    flex-basis: 58.3333333333%; }
  .fol-tb-8 {
    flex-basis: 66.6666666666%; }
  .fol-tb-9 {
    flex-basis: 75%; }
  .fol-tb-10 {
    flex-basis: 83.3333333333%; }
  .fol-tb-11 {
    flex-basis: 91.6666666666%; }
  .fol-tb-12 {
    flex-basis: 100%; }
  .fol-tb-fifth {
    flex-basis: 20%; }
  .fol-tb-6:nth-child(n+3) {
    margin-top: 1.75rem; }
  .fol-tb-12:nth-child(n+2) {
    margin-top: 1.75rem; } }

@media screen and (max-width: 599px) {
  .fol-sp-1 {
    flex-basis: 8.3333333333%; }
  .fol-sp-2 {
    flex-basis: 16.6666666666%; }
  .fol-sp-3 {
    flex-basis: 25%; }
  .fol-sp-4 {
    flex-basis: 33.3333333333%; }
  .fol-sp-5 {
    flex-basis: 41.5555555555%; }
  .fol-sp-6 {
    flex-basis: 50%; }
  .fol-sp-7 {
    flex-basis: 58.3333333333%; }
  .fol-sp-8 {
    flex-basis: 66.6666666666%; }
  .fol-sp-9 {
    flex-basis: 75%; }
  .fol-sp-10 {
    flex-basis: 83.3333333333%; }
  .fol-sp-11 {
    flex-basis: 91.6666666666%; }
  .fol-sp-12 {
    flex-basis: 100%; }
  .fol-sp-fifth {
    flex-basis: 20%; }
  .fol-sp-6:nth-child(n+3) {
    margin-top: 1.75rem; }
  .fol-sp-12:nth-child(n+2) {
    margin-top: 1.75rem; } }

/**************************************************************
* Flexbox: Common Style
**************************************************************/
/* Anchor */
/*************************************************************
*
* Anchor
*
*************************************************************/
/*************************************************************
* Opacity
*************************************************************/
.c-anchor-alpha {
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hover .c-anchor-alpha:hover[href],
  .hover .c-anchor-alpha:hover[type], .c-anchor-alpha.hover[href], .c-anchor-alpha.hover[type] {
    opacity: 0.7;
    zoom: 1; }

/*************************************************************
* Filter: Brightness
*************************************************************/
.c-anchor-bright {
  transition: filter 500ms cubic-bezier(0.23, 1, 0.32, 1); }
  .hover .c-anchor-bright:hover[href],
  .hover .c-anchor-bright:hover[type], .c-anchor-bright.hover[href], .c-anchor-bright.hover[type] {
    filter: brightness(1.1); }

/* Headline */
/*************************************************************
*
* Headline
*
*************************************************************/
/*************************************
* Common Style
*************************************/
/* Button */
/*************************************************************
*
* Button
*
*************************************************************/
/*************************************************************
* Common Style
*************************************************************/
/* Box(Card) */
/**************************************************************
*
* Box & Card
*
**************************************************************/
/*************************************
* Common Style
*************************************/
/* List */
/**************************************************************
*
* List
*
**************************************************************/
/*************************************
* Common Style
*************************************/
/* Table */
/**************************************************************
*
* Table
*
**************************************************************/
/*************************************
* Common Style
*************************************/
/************************************************
 * Utility
 ***********************************************/
/* Theme Common */
/*************************************************************
* Loading Animation
*************************************************************/
/*************************************************************
* Pagetop Button
*************************************************************/
.u-pagetop {
  position: fixed;
  display: block;
  bottom: 20px;
  right: 1%;
  height: 65px;
  width: 65px;
  opacity: 0;
  outline: none;
  cursor: pointer;
  padding: 0px;
  color: #938fdf;
  font-size: 0.889em;
  text-align: center;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-property: opacity;
  transition-duration: 300ms;
  transition-delay: 0ms; }
  .u-pagetop:focus, .u-pagetop:active {
    outline: none; }
  .u-pagetop.fadein {
    opacity: 1;
    transition-delay: 50ms; }
  .u-pagetop.static {
    position: absolute;
    top: -70px;
    right: 1%; }
  @media screen and (max-width: 768px) {
    .u-pagetop.static {
      top: 15px;
      color: #fff; } }

/**************************************************************
* Mobile Menu Button
**************************************************************/
.u-navigation-toggle {
  padding: 0 5px;
  height: 45px;
  width: 50px;
  position: relative;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 2px; }
  .u-navigation-toggle__bd, .u-navigation-toggle__bd:after, .u-navigation-toggle__bd:before {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #666;
    transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-property: "transform,opacity"; }
  .u-navigation-toggle__bd:before, .u-navigation-toggle__bd:after {
    content: ""; }
  .u-navigation-toggle__bd:before {
    transform: translateY(-10px); }
  .u-navigation-toggle__bd:after {
    transform: translateY(10px); }
  .u-navigation-toggle.is-active .u-navigation-toggle__bd {
    transform: rotate(-45deg); }
    .u-navigation-toggle.is-active .u-navigation-toggle__bd:before {
      transform: translateY(0px) rotate(90deg); }
    .u-navigation-toggle.is-active .u-navigation-toggle__bd:after {
      transform: translateY(0px);
      opacity: 0; }
  @media screen and (max-width: 599px) {
    .u-navigation-toggle {
      height: 40px;
      width: 40px; }
      .u-navigation-toggle__bd:before {
        transform: translateY(-10px); }
      .u-navigation-toggle__bd:after {
        transform: translateY(10px); } }

/**************************************************************
* Tel01
**************************************************************/
.u-tel1 {
  display: flex;
  align-items: center; }
  .u-tel1__number {
    font-size: 1.75em;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    margin-left: 0.75rem; }

/* Color */
/*************************************************************
*
* Color
*
*************************************************************/
/*************************************************************
* Background
*************************************************************/
/*************************************************************
* Text
*************************************************************/
.u-color-text-primary {
  color: #938fdf; }

.u-color-text-alert {
  color: #f00; }

/* Web Fonts & Icon */
/*************************************************************
*
* webfont
*
*************************************************************/
@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?kwhqz9");
  src: url("fonts/icomoon.eot?kwhqz9#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?kwhqz9") format("truetype"), url("fonts/icomoon.woff?kwhqz9") format("woff"), url("fonts/icomoon.svg?kwhqz9#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-arrow01:before {
  content: "\e901"; }

.icon-link01:before {
  content: "\e900"; }

/* Typography */
/*************************************************************
* Font Size
*************************************************************/
.u-text-small {
  font-size: 0.889em;
  line-height: 1.35; }

.u-text-large {
  font-size: 1.266em; }

.u-text-huge {
  font-size: 2.027em; }

/*************************************************************
* Font Style
*************************************************************/
.u-text-bold {
  font-weight: bold; }

/* Form */
/**************************************************************
* テンプレートクラス
**************************************************************/
.u-form__relation-item {
  display: none; }

/*************************************************************
* ラベル
*************************************************************/
.u-form__label.__text {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  transform: translate(0.555em, 0.702em);
  pointer-events: none;
  color: #ababab;
  transition: 260ms cubic-bezier(0.225, 1, 0.32, 1);
  transition-property: transform, font-size; }

.u-form__label.__error .msg {
  color: #f14a2f; }

/* Animation */
/**************************************************************
*
* Animation
*
**************************************************************/
/*************************************
* Line
*************************************/
@keyframes border-line {
  0% {
    transform-origin: right center;
    transform: scaleX(1); }
  29% {
    transform-origin: right center;
    transform: scaleX(0); }
  30% {
    transform-origin: left center;
    transform: scaleX(0); }
  60% {
    transform-origin: left center;
    transform: scaleX(1); }
  100% {
    transform-origin: right center;
    transform: scaleX(1); } }

/*************************************
* Header & Navigation Fix
*************************************/
@keyframes navfix {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/************************************************
 * Component
 ***********************************************/
/* Content */
/*************************************************************
*
* Container & Contents Margin
*
*************************************************************/
/*************************************************************
* Page Container
*************************************************************/
.c-page-container {
  max-width: 1060px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px; }
  .c-page-container.__over_hidden {
    overflow: hidden; }
  @media screen and (max-width: 768px) {
    .c-page-container {
      padding-left: 4%;
      padding-right: 4%; } }
  @media screen and (max-width: 599px) {
    .c-page-container {
      padding-left: 5%;
      padding-right: 5%; } }

/*************************************************************
* Content Margin Bottom
*************************************************************/
.c-margin-section-large {
  margin-bottom: 8.125rem; }
  @media screen and (max-width: 768px) {
    .c-margin-section-large {
      margin-bottom: 5rem; } }

.c-margin-section {
  margin-bottom: 5rem; }

.c-margin-content-large {
  margin-bottom: 3.125rem; }

.c-margin-content {
  margin-bottom: 2.5rem; }

.c-margin-paragraph {
  margin-bottom: 1.75rem; }

.c-margin-parts {
  margin-bottom: 1rem; }

/*************************************************************
* Content Padding
*************************************************************/
.c-padding-section-large {
  padding-top: 8.125rem;
  padding-bottom: 8.125rem; }
  @media screen and (max-width: 768px) {
    .c-padding-section-large {
      padding-top: 5rem;
      padding-bottom: 5rem; } }

.c-padding-section {
  padding-top: 5rem;
  padding-bottom: 5rem; }

.c-padding-content-large {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem; }

.c-padding-content {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }

.c-padding-paragraph {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem; }

.c-padding-parts {
  padding-top: 1rem;
  padding-bottom: 1rem; }

/* Grid */
/*************************************************************
*
* Grid
*
*************************************************************/
/**************************************************************
*
* Gutters
*
**************************************************************/
/**************************************************************
* Gutters1
**************************************************************/
.c-gutters1 {
  margin-left: calc(-1 * 1.42857%);
  margin-right: calc(-1 * 1.42857%); }
  .c-gutters1 > .c-gutters1__fitem {
    padding-left: 1.42857%;
    padding-right: 1.42857%; }

/**************************************************************
*
* Flexbox
*
**************************************************************/
/**************************************************************
* Flexbox: Theme Common Style
**************************************************************/
/**************************************************************
* Flex1
**************************************************************/
.c-flex1 {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start; }
  .c-flex1.__flow-reverse {
    flex-direction: row-reverse; }
  .c-flex1.__align-center {
    align-items: center; }

/**************************************************************
* Flex2
**************************************************************/
.c-flex2 {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between; }
  .c-flex2.__flow-reverse {
    flex-direction: row-reverse; }
  .c-flex2.__align-center {
    align-items: center; }

/**************************************************************
* フレックス3
**************************************************************/
.c-flex3 {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around; }
  .c-flex3.__flow-reverse {
    flex-direction: row-reverse; }
  .c-flex3.__align-center {
    align-items: center; }

/* Typography */
/*************************************************************
*
* Typography
*
*************************************************************/
/*************************************************************
* Paragraph Default
*************************************************************/
.c-paragraph-default {
  line-height: 2.25; }

/*************************************************************
* Paragraph1
*************************************************************/
.c-paragraph1 {
  font-weight: bold;
  font-size: 1.125em; }

/*************************************************************
* Blockquote
*************************************************************/
.c-blockquote {
  padding: 1.426em 2.281em 1.602em;
  position: relative;
  margin-left: 2em; }
  .c-blockquote:before {
    content: "“";
    font-size: 5em;
    line-height: 0.8em;
    font-family: "Times New Roman", "ＭＳ Ｐゴシック", sans-serif;
    color: #ababab;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2; }
  .c-blockquote__cite {
    display: block;
    margin-top: 1em;
    font-size: 0.889em;
    font-weight: bold; }

/* Anchor */
/*************************************************************
*
* Anchor
*
*************************************************************/
/*************************************************************
* Underline
*************************************************************/
.c-anchor-hover {
  text-decoration: underline;
  font-weight: bold;
  color: #938fdf; }
  .hover .c-anchor-hover:hover[href],
  .hover .c-anchor-hover:hover[type], .c-anchor-hover.hover[href], .c-anchor-hover.hover[type] {
    text-decoration: none; }

/*************************************************************
* Underline: Animation
*************************************************************/
.c-anchor-line {
  display: inline-block;
  position: relative;
  transform: translateZ(0px); }
  .c-anchor-line:after {
    content: "";
    position: absolute;
    bottom: 0.1em;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #000;
    transform-origin: left center;
    transition: 300ms cubic-bezier(0.23, 1, 0.32, 1);
    transition-property: transform; }
  .hover .c-anchor-line:hover[href]:after,
  .hover .c-anchor-line:hover[type]:after, .c-anchor-line.hover[href]:after, .c-anchor-line.hover[type]:after {
    transform-origin: right center;
    transform: scaleX(0); }

/* Button */
/*************************************************************
*
* Button
*
*************************************************************/
/*************************************************************
* Theme Common Style
*************************************************************/
/*************************************
* btn1
*************************************/
.c-btn1 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  width: 180px;
  position: relative;
  font-size: 1.125em;
  padding-bottom: 1rem;
  transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-property: color; }
  .c-btn1[href] {
    cursor: pointer; }
  .c-btn1.__mauto {
    margin-left: auto;
    margin-right: auto; }
  .c-btn1.__mright {
    margin-left: auto;
    margin-right: 0; }
  .c-btn1.__inline {
    display: inline-block; }
  .c-btn1.__disabled {
    pointer-events: none;
    filter: grayscale(100%);
    opacity: 0.8;
    color: #ababab; }
  .c-btn1.__max-width {
    max-width: inherit; }
  .c-btn1:after, .c-btn1:before {
    content: "";
    position: absolute;
    bottom: 0;
    height: 1px;
    background-color: #938fdf;
    transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-property: transform; }
  .c-btn1:before {
    width: 30px;
    right: 0;
    transform-origin: right bottom;
    transform: rotate(45deg); }
  .c-btn1:after {
    left: 0;
    width: 100%;
    transform-origin: right bottom; }
  .c-btn1__icon {
    margin-left: 0.2rem;
    font-size: 0.95em;
    vertical-align: -0.1em;
    color: #938fdf; }
  .c-btn1.__vari1 {
    max-width: 130px;
    font-size: 1em;
    padding-bottom: 0.5rem; }
  .c-btn1.__large {
    width: 300px; }
  .c-btn1.__white {
    color: #fff; }
    .c-btn1.__white:after, .c-btn1.__white:before {
      background-color: #fff; }
  .hover .c-btn1:hover[href],
  .hover .c-btn1:hover[type], .c-btn1.hover[href], .c-btn1.hover[type] {
    color: #938fdf; }
    .hover .c-btn1:hover[href]:after,
    .hover .c-btn1:hover[type]:after, .c-btn1.hover[href]:after, .c-btn1.hover[type]:after {
      transform: scaleX(0); }
    .hover .c-btn1:hover[href]:before,
    .hover .c-btn1:hover[type]:before, .c-btn1.hover[href]:before, .c-btn1.hover[type]:before {
      transform: rotate(45deg) scaleX(0); }
  @media screen and (max-width: 599px) {
    .c-btn1.__vari1 {
      width: 120px; } }

/*************************************
* btn2
*************************************/
.c-btn2 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  max-width: 480px;
  background-color: #938fdf;
  border: 1px solid #938fdf;
  color: #fff;
  text-align: center;
  line-height: 1.65;
  letter-spacing: 0.05em;
  padding: 1rem;
  transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-property: "background-color,color"; }
  .c-btn2[href] {
    cursor: pointer; }
  .c-btn2.__mauto {
    margin-left: auto;
    margin-right: auto; }
  .c-btn2.__mright {
    margin-left: auto;
    margin-right: 0; }
  .c-btn2.__inline {
    display: inline-block; }
  .c-btn2.__disabled {
    pointer-events: none;
    filter: grayscale(100%);
    opacity: 0.8;
    color: #ababab; }
  .c-btn2.__max-width {
    max-width: inherit; }
  .c-btn2.__arrow {
    position: relative;
    padding: 1rem 3rem; }
    .c-btn2.__arrow .c-btn2__arrow {
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1.75rem;
      margin: auto;
      width: 1em;
      height: 1em;
      font-size: 0.889em;
      transform: rotate(90deg); }
  .c-btn2.__small {
    letter-spacing: 0.1em;
    width: 200px; }
  .c-btn2.__inline {
    width: 200px; }
  .c-btn2.__gray {
    background-color: #999;
    border-color: #999; }
  .hover .c-btn2:hover[href],
  .hover .c-btn2:hover[type], .c-btn2.hover[href], .c-btn2.hover[type] {
    background-color: #fff;
    color: #938fdf; }
  @media screen and (max-width: 599px) {
    .c-btn2.__arrow {
      text-align: left;
      padding: 1rem;
      padding-right: 3rem; } }

/*************************************
* btn3
*************************************/
.c-btn3 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  max-width: 300px;
  background-color: #938fdf;
  border: 1px solid #938fdf;
  color: #fff;
  text-align: center;
  line-height: 1.65;
  letter-spacing: 0.05em;
  padding: 1rem;
  transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-property: "background-color,color"; }
  .c-btn3[href] {
    cursor: pointer; }
  .c-btn3.__mauto {
    margin-left: auto;
    margin-right: auto; }
  .c-btn3.__mright {
    margin-left: auto;
    margin-right: 0; }
  .c-btn3.__inline {
    display: inline-block; }
  .c-btn3.__disabled {
    pointer-events: none;
    filter: grayscale(100%);
    opacity: 0.8;
    color: #ababab; }
  .c-btn3.__max-width {
    max-width: inherit; }
  .c-btn3.__arrow {
    position: relative;
    padding: 1rem 3rem; }
    .c-btn3.__arrow .c-btn3__arrow {
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1.75rem;
      margin: auto;
      width: 1em;
      height: 1em;
      font-size: 0.889em;
      transform: rotate(90deg); }
  .c-btn3.__small {
    letter-spacing: 0.1em;
    width: 200px; }
  .c-btn3.__inline {
    width: 200px; }
  .c-btn3.__gray {
    background-color: #999;
    border-color: #999; }
  .hover .c-btn3:hover[href],
  .hover .c-btn3:hover[type], .c-btn3.hover[href], .c-btn3.hover[type] {
    background-color: #fff;
    color: #938fdf; }
  @media screen and (max-width: 599px) {
    .c-btn3.__arrow {
      text-align: left;
      padding: 1rem;
      padding-right: 3rem; } }

/* Headline */
/*************************************************************
*
* Headline
*
*************************************************************/
/*************************************
* Theme Common Style
*************************************/
/*************************************
* 見出し1
*************************************/
.c-headline1 {
  display: block;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  line-height: 1.65;
  font-size: 1.5em;
  font-weight: bold; }
  .c-headline1__img {
    position: absolute;
    width: 80px;
    max-width: inherit;
    top: -2rem;
    left: 0; }
  .c-headline1__headline {
    position: relative;
    z-index: 2; }
  .c-headline1.__with_ornament {
    position: relative;
    padding-left: 2.5rem; }
  .c-headline1.__vari1 .c-headline1__img {
    top: auto;
    bottom: -1rem; }
  .c-headline1.__reverse {
    padding-left: 0;
    padding-right: 2.5rem; }
  @media screen and (max-width: 768px) {
    .c-headline1 {
      line-height: 2; }
      .c-headline1.__with_ornament {
        padding-left: 0; } }
  @media screen and (max-width: 599px) {
    .c-headline1 {
      font-size: 1.333em; } }

/*************************************
* 見出し2
*************************************/
.c-headline2 {
  display: block;
  border-bottom: 1px solid #938fdf;
  padding-bottom: 0.4rem;
  padding-top: 15px;
  position: relative; }
  .c-headline2__ornament {
    position: absolute;
    top: 0;
    left: 0; }
  .c-headline2__headline {
    position: relative;
    z-index: 2;
    font-weight: bold;
    font-size: 1.125em; }

/*************************************
* 見出し3
*************************************/
.c-headline3__english {
  margin-bottom: 1rem; }

.c-headline3__headline {
  font-weight: bold;
  line-height: 1.65;
  font-size: 1.5em;
  margin-bottom: 1.75rem; }

.c-headline3__subtext {
  text-align: right;
  font-size: 1.125em; }

@media screen and (max-width: 599px) {
  .c-headline3__headline {
    font-size: 1.125em; }
  .c-headline3__subtext {
    font-size: 1em; } }

/* List */
/**************************************************************
*
* List
*
**************************************************************/
/*************************************
* Theme Common Style
*************************************/
/*************************************
* List1
*************************************/
.c-list1 {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start; }
  .c-list1__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(33.333% - 2px);
    text-align: center;
    line-height: 1.65;
    background-color: #e3e2f4;
    padding: 1rem; }
    .c-list1__item:not(:nth-of-type(3n)) {
      margin-right: 2px; }
    .c-list1__item:nth-of-type(n+4) {
      margin-top: 2px; }
  @media screen and (max-width: 599px) {
    .c-list1__item {
      width: calc(50% - 2px); }
      .c-list1__item:not(:nth-of-type(3n)) {
        margin-right: auto; }
      .c-list1__item:not(:nth-of-type(2n)) {
        margin-right: 2px; }
      .c-list1__item:nth-of-type(n+3) {
        margin-top: 2px; } }

/*************************************
* List2
*************************************/
.c-list2 {
  display: flex;
  justify-content: space-between; }
  .c-list2__item {
    padding: 0 0.5rem; }
  @media screen and (max-width: 599px) {
    .c-list2 {
      flex-flow: row wrap; }
      .c-list2__item {
        width: 33.333%; }
        .c-list2__item:nth-of-type(n+4) {
          margin-top: 1rem; } }

/*************************************
* Dlist1
*************************************/
.c-dlist1 {
  display: table;
  line-height: 1.65; }
  .c-dlist1__inner {
    display: table-row; }
  .c-dlist1__head, .c-dlist1__item {
    display: table-cell;
    vertical-align: text-top; }
  .c-dlist1__head {
    flex-shrink: 0;
    text-align: right;
    white-space: nowrap;
    font-weight: bold; }
  .c-dlist1__item {
    padding-left: 1rem; }

/*************************************
* Dlist2
*************************************/
.c-dlist2 {
  display: flex;
  align-items: center; }
  .c-dlist2__head {
    flex-shrink: 0; }
  .c-dlist2__item {
    padding-left: 1.75rem;
    line-height: 2.25; }
  .c-dlist2.__vari1 {
    align-items: flex-start; }
    .c-dlist2.__vari1 .c-dlist2__item {
      margin-top: -5px; }
  @media screen and (max-width: 599px) {
    .c-dlist2 {
      align-items: flex-start; }
      .c-dlist2__item {
        margin-top: -5px; } }

/*************************************
* Olist1
*************************************/
.c-olist1 {
  counter-reset: olist; }
  .c-olist1__item {
    position: relative;
    padding-left: 20px;
    line-height: 1.65; }
    .c-olist1__item:before {
      counter-increment: olist;
      content: counter(olist) ". ";
      position: absolute;
      top: 0;
      left: 0;
      color: #938fdf; }
    .c-olist1__item:not(:last-child) {
      margin-bottom: 0.5rem; }

/* Table */
/**************************************************************
*
* Table
*
**************************************************************/
/*************************************
* Table Container
*************************************/
.c-table-container {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch; }
  @media screen and (max-width: 1059px) {
    .c-table-container {
      /*スクロールバーの動く部分*/ }
      .c-table-container::-webkit-scrollbar {
        height: 5px; }
      .c-table-container::-webkit-scrollbar-track {
        border-radius: 10px;
        background-color: #eee;
        box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); }
      .c-table-container::-webkit-scrollbar-thumb {
        background-color: rgba(29, 33, 139, 0.7);
        border-radius: 10px;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.7); } }

/*************************************
* Theme Common Style
*************************************/
/*************************************
* テーブル1
*************************************/
.c-table1 {
  width: 100%; }
  .c-table1__head, .c-table1__item {
    vertical-align: middle;
    line-height: 1.65;
    border-bottom: 2px solid #fff;
    padding: 1rem; }
  .c-table1__head {
    font-weight: bold;
    text-align: left;
    background-color: #e3e2f4;
    border-right: 2px solid #fff;
    width: 180px; }
  .c-table1__item {
    background-color: #f3f3f3; }
  .c-table1.__vari1 .c-table1__head {
    width: auto; }
  .c-table1.__vari1 .c-table1__item {
    width: 140px;
    text-align: center; }
  @media screen and (max-width: 599px) {
    .c-table1 {
      font-size: 0.93em; }
      .c-table1__head, .c-table1__item {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem; }
      .c-table1__item {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem; }
      .c-table1:not(.__vari1) .c-table1__head, .c-table1:not(.__vari1) .c-table1__item {
        display: block; }
      .c-table1:not(.__vari1) .c-table1__head {
        width: 100%;
        border-right: none; }
      .c-table1.__vari1 .c-table1__item {
        width: 70px; } }

/*************************************
* テーブル2
*************************************/
.c-table2 {
  width: 100%; }
  .c-table2__head, .c-table2__item {
    vertical-align: middle;
    line-height: 1.65;
    padding: 1rem; }
    .c-table2__head.__box1, .c-table2__item.__box1 {
      width: 140px; }
  .c-table2__head {
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
    background-color: #e3e2f4;
    border-bottom: 2px solid #fff; }
  .c-table2__item {
    background-color: #f3f3f3; }
    .c-table2__item.__text_center {
      text-align: center; }
    .c-table2__item.__text_nowrap {
      white-space: nowrap; }
  .c-table2 thead .c-table2__head:not(:last-child), .c-table2 thead .c-table2__item:not(:last-child), .c-table2 tbody .c-table2__head:not(:last-child), .c-table2 tbody .c-table2__item:not(:last-child) {
    border-right: 2px solid #fff; }
  .c-table2 tbody tr:not(:last-child) .c-table2__head, .c-table2 tbody tr:not(:last-child) .c-table2__item {
    border-bottom: 2px solid #fff; }
  @media screen and (max-width: 599px) {
    .c-table2 {
      font-size: 0.93em; }
      .c-table2__head, .c-table2__item {
        padding: 0.5rem 0.75rem; }
        .c-table2__head.__box1, .c-table2__item.__box1 {
          width: 60px; }
      .c-table2__item {
        padding: 0.75rem 0.75rem; } }

/*************************************
* テーブル3
*************************************/
.c-table3 {
  width: 100%; }
  .c-table3__head1, .c-table3__head2, .c-table3__item {
    padding: 1rem;
    vertical-align: middle;
    line-height: 1.65; }
  .c-table3__head1 {
    background-color: #938fdf;
    border-bottom: 2px solid #fff;
    text-align: center;
    font-weight: bold;
    font-size: 1.125em;
    color: #fff;
    letter-spacing: 0.1em; }
  .c-table3__head2 {
    font-weight: bold;
    font-size: 1.125em;
    text-align: left;
    width: 180px;
    background-color: #e3e2f4;
    border-right: 2px solid #fff; }
  .c-table3__item {
    background-color: #f3f3f3; }
  .c-table3 tbody tr:not(:last-child) .c-table3__head2, .c-table3 tbody tr:not(:last-child) .c-table3__item {
    border-bottom: 2px solid #fff; }
  @media screen and (max-width: 599px) {
    .c-table3 {
      font-size: 0.93em; }
      .c-table3__head1 {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem; }
      .c-table3__head2, .c-table3__item {
        padding: 0.75rem; }
      .c-table3__head2 {
        width: 120px; } }

/*************************************
* テーブル4
*************************************/
.c-table4 {
  width: 100%; }
  .c-table4__head, .c-table4__item {
    padding: 1rem;
    text-align: center;
    line-height: 1.65; }
  .c-table4 tr .c-table4__head:not(:last-child), .c-table4 tr .c-table4__item:not(:last-child) {
    border-right: 2px solid #fff; }
  .c-table4__head {
    font-weight: bold;
    background-color: #e3e2f4;
    border-bottom: 2px solid #fff; }
  .c-table4__item {
    background-color: #f3f3f3; }

/*************************************
* テーブル5
*************************************/
.c-table5 {
  width: 100%;
  border-collapse: separate;
  border-spacing: 10px;
  margin-left: -10px;
  width: calc(100% + 20px); }
  .c-table5__head, .c-table5__item {
    text-align: left;
    vertical-align: middle;
    line-height: 1.65; }
  .c-table5__head {
    background-color: #e3e2f4;
    padding: 1rem;
    font-weight: bold;
    font-size: 1.125em;
    width: 260px; }
  .c-table5__group {
    display: flex;
    align-items: center;
    white-space: nowrap; }
    .c-table5__group:not(:last-child) {
      margin-bottom: 0.25rem; }
  @media screen and (max-width: 599px) {
    .c-table5 {
      width: 100%;
      margin-left: 0;
      margin-right: 0;
      border-spacing: 0px; }
      .c-table5__head, .c-table5__item {
        display: block; }
      .c-table5__head {
        width: 100%;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem; }
      .c-table5__item {
        padding: 1rem;
        border: 1px solid #e3e2f4;
        border-top: none; }
      .c-table5__group:not(:last-child) {
        margin-bottom: 0.5rem; }
      .c-table5 .u-text-nowrap {
        display: flex;
        align-items: center; } }

/* Box (Card) */
/**************************************************************
*
* Box (Card)
*
**************************************************************/
/*************************************
* Theme Common Style
*************************************/
/*************************************
* Box1
*************************************/
.c-box1 {
  display: block; }
  .c-box1__image {
    margin-bottom: 1.75rem; }
  .c-box1__paragraph {
    line-height: 2.25;
    padding-right: 20%; }
  .c-box1 .c-btn1 {
    margin-top: 3.125rem;
    margin-left: auto;
    margin-right: 0; }
  .c-box1.__vari1 .c-box1__paragraph {
    line-height: 3;
    padding-right: 0; }
  @media screen and (max-width: 599px) {
    .c-box1__paragraph {
      line-height: 2;
      padding-right: 0; }
    .c-box1.__vari1 .c-box1__paragraph {
      line-height: 2; } }

/*************************************
* Box2
*************************************/
.c-box2 {
  display: block; }
  .c-box2__image {
    display: block;
    position: relative;
    margin-bottom: 1.75rem; }
    .c-box2__image-text {
      position: absolute;
      z-index: 2;
      top: 1rem;
      left: 1rem; }
    .c-box2__image:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      background-color: rgba(147, 143, 223, 0.5);
      width: 100%;
      height: 100%; }
  .c-box2__paragraph {
    line-height: 2.25;
    padding-right: 20%; }
  .c-box2 .c-btn1 {
    position: absolute;
    z-index: 2;
    bottom: 1rem;
    right: 1rem;
    line-height: 1.65; }
  .c-box2.__vari1 .c-box2__paragraph {
    line-height: 3;
    padding-right: 0; }
  @media screen and (max-width: 599px) {
    .c-box2__paragraph {
      line-height: 2;
      padding-right: 0; } }

/*************************************
* Box3
*************************************/
.c-box3 {
  display: block;
  display: flex; }
  .c-box3__image, .c-box3__detail {
    width: 50%; }
  .c-box3__image {
    position: relative;
    max-width: 500px; }
    .c-box3__image:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 50%;
      height: 100%;
      background: linear-gradient(to left, hsl(0, 0%, 100%), hsla(0, 0%, 100%, 0.98032) 1.17%, hsla(0, 0%, 100%, 0.92593) 4.49%, hsla(0, 0%, 100%, 0.84375) 9.72%, hsla(0, 0%, 100%, 0.74074) 16.59%, hsla(0, 0%, 100%, 0.62384) 24.86%, hsla(0, 0%, 100%, 0.5) 34.25%, hsla(0, 0%, 100%, 0.37616) 44.52%, hsla(0, 0%, 100%, 0.25926) 55.41%, hsla(0, 0%, 100%, 0.15625) 66.66%, hsla(0, 0%, 100%, 0.07407) 78.01%, hsla(0, 0%, 100%, 0.01968) 89.21%, hsla(0, 0%, 100%, 0)); }
  .c-box3__detail {
    position: relative; }
  .c-box3__head {
    position: relative;
    top: -5px;
    left: -60px;
    margin-bottom: 2.5rem; }
    .c-box3__head-subtext {
      margin-bottom: 1.5rem; }
    .c-box3__head-headline {
      font-size: 1.5em;
      font-weight: bold; }
  .c-box3__paragraph {
    padding-left: 2.5rem;
    margin-bottom: 1.75rem;
    line-height: 2.25; }
  .c-box3__subtext {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 1.125em;
    text-align: right;
    line-height: 1.65; }
  .c-box3 .c-btn1 {
    margin-right: 0;
    margin-left: auto; }
  @media screen and (max-width: 768px) {
    .c-box3__head-subtext {
      height: 46px; }
    .c-box3__head-headline {
      font-size: 1.266em; } }
  @media screen and (max-width: 599px) {
    .c-box3 {
      display: block; }
      .c-box3__image, .c-box3__detail {
        width: 100%;
        max-width: 100%; }
      .c-box3__image:after {
        content: none; }
      .c-box3__detail {
        padding-top: 1.75rem; }
      .c-box3__head {
        position: static;
        margin-bottom: 1rem; }
        .c-box3__head-subtext {
          height: 30px;
          margin-bottom: 1rem; }
        .c-box3__head-headline {
          font-size: 1.125em; }
      .c-box3__paragraph {
        padding-left: 0; }
      .c-box3__subtext {
        position: static;
        font-size: 1em; }
      .c-box3 .c-btn1 {
        padding-left: 0; } }

/*************************************
* Box4
*************************************/
.c-box4 {
  display: block;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  height: 160px;
  position: relative;
  display: flex;
  box-shadow: 0px 5px 15px -2px #cecece;
  background-color: #938fdf; }
  .hover .c-box4:hover[href],
  .hover .c-box4:hover[type], .c-box4.hover[href], .c-box4.hover[type] {
    opacity: 0.7;
    zoom: 1; }
  .c-box4__image {
    flex-grow: 1;
    height: inherit; }
    .c-box4__image .objfit {
      height: inherit; }
  .c-box4__detail {
    position: relative;
    width: 380px;
    flex-shrink: 0;
    color: #fff; }
    .c-box4__detail:after {
      content: "";
      position: absolute;
      top: 0;
      right: 100%;
      bottom: 0;
      margin: auto;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 15px 20px 15px 0;
      border-color: transparent #938fdf transparent transparent; }
  .c-box4__inner {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    padding: 0 1rem;
    padding-right: 3.125rem; }
  .c-box4__headline {
    font-weight: bold;
    font-size: 1.125em;
    margin-bottom: 1rem; }
  .c-box4__paragraph {
    line-height: 1.65; }
  .c-box4__icon {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%); }
  @media screen and (max-width: 768px) {
    .c-box4__detail {
      width: 300px; } }
  @media screen and (max-width: 599px) {
    .c-box4 {
      display: block;
      height: auto; }
      .c-box4__detail {
        width: 100%; }
        .c-box4__detail:after {
          content: "";
          position: absolute;
          top: auto;
          left: 1.75rem;
          bottom: 100%;
          border-width: 0 15px 20px 15px;
          border-color: transparent transparent #938fdf transparent; }
      .c-box4__inner {
        position: static;
        transform: translateY(0);
        padding: 1.75rem;
        padding-right: 3.125rem; } }

/*************************************
* Box5
*************************************/
.c-box5 {
  display: block;
  border: 1px solid #938fdf;
  padding: 1.75rem;
  padding-top: 0;
  text-align: center; }
  .c-box5__headline {
    display: inline-block;
    background-color: #fff;
    padding: 0 0.5rem;
    margin-bottom: 0.6rem;
    transform: translateY(-50%);
    font-size: 1.125em;
    font-weight: bold; }
  .c-box5__paragraph1 {
    font-size: 1.25em;
    line-height: 2.25; }
  .c-box5__paragraph2 {
    line-height: 1.65; }
  .c-box5__dlist {
    margin-top: 1.75rem;
    font-weight: bold;
    line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .c-box5__paragraph1 {
      font-size: 1.125em; } }
  @media screen and (max-width: 599px) {
    .c-box5__paragraph1 {
      font-size: 1em;
      text-align: left; }
    .c-box5__paragraph2, .c-box5__dlist {
      text-align: left; } }

/*************************************
* Box6
*************************************/
.c-box6 {
  display: block; }
  .c-box6__subtext {
    position: relative;
    padding-left: 30px;
    margin-top: 1rem;
    font-weight: bold; }
    .c-box6__subtext:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 9px 16px 9px;
      border-color: transparent transparent #938fdf transparent; }
  @media screen and (max-width: 599px) {
    .c-box6__subtext {
      font-size: 0.79em;
      padding-left: 20px;
      margin-top: 1rem; }
      .c-box6__subtext:before {
        border-width: 0 7px 12px 7px; } }

/* Layout */
/*************************************************************
*
* Layout Button01
*
*************************************************************/
.c-layout-btn1 {
  text-align: right; }
  .c-layout-btn1 .c-btn1 {
    text-align: left;
    display: inline-block;
    margin-top: 1.75rem; }
    .c-layout-btn1 .c-btn1:not(:first-child) {
      margin-left: 1.75rem; }
  @media screen and (max-width: 599px) {
    .c-layout-btn1 .c-btn1 {
      display: block;
      margin-left: auto;
      margin-right: auto; }
      .c-layout-btn1 .c-btn1:not(:first-child) {
        margin-left: auto; } }

/*
/*************************************************************
*
* Layout Button02
*
*************************************************************/
.c-layout-btn2 {
  display: flex;
  justify-content: space-between; }
  .c-layout-btn2 .c-btn2 {
    width: 100%;
    max-width: 100%;
    flex-basis: calc(50% - 1rem); }
  @media screen and (max-width: 599px) {
    .c-layout-btn2 {
      display: block; }
      .c-layout-btn2 .c-btn2 {
        display: block;
        margin-left: auto;
        margin-right: auto; }
        .c-layout-btn2 .c-btn2:not(:first-child) {
          margin-top: 1rem; } }

/*
/*************************************************************
*
* Layout Button03
*
*************************************************************/
.c-layout-btn3 {
  display: flex;
  justify-content: space-between; }
  .c-layout-btn3 .c-btn3 {
    width: 100%;
    max-width: 100%;
    flex-basis: calc(33% - 1rem); }
  @media screen and (max-width: 599px) {
    .c-layout-btn3 {
      display: block; }
      .c-layout-btn3 .c-btn3 {
        display: block;
        margin-left: auto;
        margin-right: auto; }
        .c-layout-btn3 .c-btn3:not(:first-child) {
          margin-top: 1rem; } }


/*************************************************************
*
* Layout About Section
*
*************************************************************/
.c-layout-about__flex {
  display: flex;
  flex-flow: row-reverse nowrap;
  align-items: flex-start; }

.c-layout-about__image {
  position: relative;
  width: 45%;
  padding-top: 1.125rem;
  padding-left: 110px; }
  .c-layout-about__image-text {
    position: absolute;
    top: 0;
    left: 0; }
  .c-layout-about__image-ornament {
    position: absolute;
    z-index: -1;
    bottom: -50px;
    right: -40px; }

.c-layout-about__detail {
  display: flex;
  width: 55%; }

.c-layout-about .c-headline1 {
  margin-right: 5.625rem; }

.c-layout-about__paragraph {
  margin-top: 220px;
  line-height: 3; }

.c-layout-about .c-btn1 {
  margin-top: 3.125rem; }

@media screen and (max-width: 768px) {
  .c-layout-about__flex {
    display: block; }
  .c-layout-about__image {
    width: 100%;
    text-align: right; }
  .c-layout-about__detail {
    display: block;
    width: 100%; }
  .c-layout-about .c-headline1 {
    position: absolute;
    top: 120px;
    left: 10%;
    margin-right: 0;
    margin-top: 3.125rem; }
  .c-layout-about__paragraph {
    margin-top: 2.5rem; } }

@media screen and (max-width: 599px) {
  .c-layout-about__image {
    text-align: left;
    padding-left: 0; }
    .c-layout-about__image-text {
      position: static;
      margin-bottom: 1.75rem; }
  .c-layout-about .c-headline1 {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 0.5rem;
    left: 5%;
    top: 150px; }
    .c-layout-about .c-headline1__img {
      display: none; }
  .c-layout-about__paragraph {
    line-height: 2.25; } }

/*************************************************************
*
* Layout Education Section
*
*************************************************************/
.c-layout-education__head {
  text-align: center;
  position: relative;
  height: 120px;
  padding-top: 1.125rem; }
  .c-layout-education__head-text {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%); }

.c-layout-education__detail {
  position: relative; }

.c-layout-education .c-headline1 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%); }

.c-layout-education__flex {
  display: flex;
  justify-content: space-between; }
  .c-layout-education__flex-item {
    width: 380px;
    max-width: calc(50% - 50px); }

@media screen and (max-width: 768px) {
  .c-layout-education .c-headline1 {
    text-align: center;
    margin-bottom: 3.125rem; } }

@media screen and (max-width: 599px) {
  .c-layout-education__flex {
    display: block; }
    .c-layout-education__flex-item {
      width: 100%;
      max-width: 100%; }
      .c-layout-education__flex-item:not(:last-child) {
        margin-bottom: 2.5rem; } }

/*************************************************************
*
* Layout Effort Section
*
*************************************************************/
.c-layout-effort {
  position: relative;
  padding-top: 30px;
  padding-right: 14%;
  /*
  @include media-query(tb) {
    padding-right: 0;

    .c-headline1 {
      position: relative;

      margin-top: $margin-large;

      &__img { display: none; }
    }
  }
  */ }
  .c-layout-effort .c-headline1 {
    position: absolute;
    top: 0;
    right: 0; }
  .c-layout-effort__ornament {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
  .c-layout-effort .c-flex1 {
    margin-top: 2.5rem; }
  @media screen and (max-width: 599px) {
    .c-layout-effort {
      padding-right: 0; }
      .c-layout-effort .c-headline1 {
        position: absolute;
        right: 0;
        top: 0;
        background-color: rgba(255, 255, 255, 0.8);
        padding: 0.5rem; } }

/*************************************************************
*
* Layout Message Section
*
*************************************************************/
.c-layout-message {
  position: relative; }
  .c-layout-message__ornament {
    position: absolute;
    z-index: -1;
    top: 120px;
    right: -25px; }
  .c-layout-message__flex {
    display: flex;
    flex-flow: row-reverse nowrap;
    align-items: flex-start;
    justify-content: space-between; }
  .c-layout-message__image {
    position: relative;
    width: calc(66% + 60px);
    padding-left: 60px; }
    .c-layout-message__image-text {
      position: absolute;
      top: 70px;
      left: -40px; }
  .c-layout-message__paragraph {
    width: 66%;
    margin-top: 2.5rem;
    margin-right: 0;
    margin-left: auto;
    line-height: 3; }
  .c-layout-message .c-btn1 {
    margin-top: 3.125rem; }
  @media screen and (max-width: 768px) {
    .c-layout-message {
      /*
    &__flex {
      display: block;
    }
    .c-headline1 {
      margin-left: auto;
      margin-right: 0;
      margin-top: $margin-large;

      width: 66%;

      padding-left: 0;

      &__img { display: none; }
    }
    */ }
      .c-layout-message .c-headline1 {
        position: absolute;
        left: 0; } }
  @media screen and (max-width: 599px) {
    .c-layout-message__image {
      width: 90%;
      margin-right: auto;
      margin-left: 0;
      padding-left: 0; }
      .c-layout-message__image-text {
        position: static;
        margin-bottom: 1.75rem; }
    .c-layout-message__ornament {
      top: 0; }
    .c-layout-message .c-headline1 {
      left: auto;
      right: 0; }
    .c-layout-message__paragraph {
      width: 100%; } }

/************************************************
 * Form
 ***********************************************/
/* Form */
/**************************************************************
*
* インプットフォーム
*
**************************************************************/
/* Text */
/*************************************************************
* テキスト
*************************************************************/
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"] {
  width: 100%;
  outline: none; }
  input[type="text"].__medium,
  input[type="email"].__medium,
  input[type="tel"].__medium,
  input[type="url"].__medium,
  input[type="password"].__medium {
    max-width: 250px; }
  input[type="text"].__small,
  input[type="email"].__small,
  input[type="tel"].__small,
  input[type="url"].__small,
  input[type="password"].__small {
    max-width: 100px; }
  input[type="text"].__small2,
  input[type="email"].__small2,
  input[type="tel"].__small2,
  input[type="url"].__small2,
  input[type="password"].__small2 {
    max-width: 180px; }
  input[type="text"].__date,
  input[type="email"].__date,
  input[type="tel"].__date,
  input[type="url"].__date,
  input[type="password"].__date {
    max-width: 240px;
    margin-left: 5px;
    margin-right: 15px;
    padding-right: 60px;
    background-image: url(img/icon_calendar.png);
    background-repeat: no-repeat;
    background-position: right 8px center; }
  @media screen and (max-width: 599px) {
    input[type="text"].__small2,
    input[type="email"].__small2,
    input[type="tel"].__small2,
    input[type="url"].__small2,
    input[type="password"].__small2 {
      width: 150px; }
    input[type="text"].__date,
    input[type="email"].__date,
    input[type="tel"].__date,
    input[type="url"].__date,
    input[type="password"].__date {
      width: 100%;
      margin-bottom: 0.5rem;
      margin-right: 0; } }

/*************************************************************
* テキスト タイプ2
*************************************************************/
.f-text2 {
  border: 1px solid #ccc;
  background-color: #fff;
  padding: 1.25rem 1rem;
  font-size: 18px;
  transition: 400ms cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: border-color, background-color; }
  .f-text2:focus {
    border-color: #e3e2f4; }
  .f-text2.__error, .f-text2:invalid {
    border-color: #f14a2f; }
  @media screen and (max-width: 599px) {
    .f-text2 {
      padding: 0.75rem 1rem; } }

/* プレースホルダー */
input:placeholder-shown {
  color: #ccc; }

input::-webkit-input-placeholder {
  color: #ccc; }

input:-moz-placeholder {
  color: #ccc; }

input::-moz-placeholder {
  color: #ccc; }

input:-ms-input-placeholder {
  color: #ccc; }

/* Textarea */
/*************************************************************
* テキストエリア
*************************************************************/
textarea {
  width: 100%;
  min-height: 180px;
  resize: vertical;
  outline: none;
  border: #cccccc 1px solid;
  background-color: #fff;
  padding: 0.455em 0.555em;
  font-size: 16px;
  line-height: 1.75;
  transition: 320ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-property: background-color, border-color; }
  textarea:focus {
    border-color: #e3e2f4; }
  textarea.__large {
    height: 300px; }
  textarea.__medium {
    height: 200px; }
  textarea.__small {
    height: 100px; }

/* Checkbox */
/*************************************************************
* チェックボックス
*************************************************************/
.f-check {
  display: inline-block; }
  .f-check:not(:last-child) {
    margin-right: 1rem; }
  .f-check__input {
    opacity: 0;
    width: 0px;
    position: absolute; }
    .f-check__input[disabled] + .f-check__label {
      color: #ababab; }
    .f-check__input:checked + .f-check__label:before {
      background-color: #938fdf;
      border-color: #938fdf; }
    .f-check__input:checked + .f-check__label:after {
      opacity: 1; }
  .f-check__label {
    padding-left: 1.8em;
    position: relative;
    line-height: 2.25;
    font-size: 16px; }
    .f-check__label:before {
      content: "";
      width: 1.3em;
      height: 1.3em;
      display: inline-block;
      position: absolute;
      top: -1px;
      left: 0;
      margin-right: 4px;
      background-color: #fff;
      border: 1px solid #ccc;
      box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.24) inset; }
    .f-check__label:after {
      content: "";
      display: block;
      width: 7px;
      height: 16px;
      position: absolute;
      top: -3px;
      bottom: 0;
      left: 7px;
      margin: auto;
      border-right: 3px solid #fff;
      border-bottom: 3px solid #fff;
      opacity: 0;
      transform: rotate(45deg);
      transition: opacity 100ms cubic-bezier(0.215, 0.61, 0.355, 1); }

/* Radio */
/*************************************************************
* ラジオボタン
*************************************************************/
.f-radio {
  display: inline-block; }
  .f-radio:not(:last-child) {
    margin-right: 10px; }
  .f-radio__input {
    opacity: 0;
    width: 0px;
    position: absolute; }
    .f-radio__input[disabled] + .f-radio__label {
      color: #ababab; }
    .f-radio__input:checked + .f-radio__label:before {
      background-color: #938fdf;
      border-color: #938fdf; }
    .f-radio__input:checked + .f-radio__label:after {
      opacity: 1; }
  .f-radio__label {
    padding-left: 1.8em;
    position: relative;
    font-size: 16px; }
    .f-radio__label:before {
      content: "";
      width: 1.3em;
      height: 1.3em;
      display: block;
      border-radius: 50%;
      border: #ccc 1px solid;
      box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.24) inset;
      background-color: #e6e6e6;
      position: absolute;
      left: 0;
      top: -1px; }
    .f-radio__label:after {
      content: "";
      width: calc(1.3rem - 8px);
      height: calc(1.3rem - 8px);
      display: block;
      margin: auto;
      background-color: #fff;
      border-radius: 50%;
      opacity: 0;
      position: absolute;
      top: 3px;
      left: 4px;
      transition: opacity 200ms cubic-bezier(0.215, 0.61, 0.355, 1); }

/* Select */
/*************************************************************
* セレクト
*************************************************************/
.f-select {
  position: relative;
  display: block;
  widows: 100%;
  border: #cdcdcd 1px solid;
  background-color: #fff; }
  .f-select__input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    display: block;
    width: 100%;
    border: none;
    background-color: transparent;
    padding: 0.255em 0.455em 0.355em; }
  .f-select:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1rem;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 9px 0 9px;
    border-color: #aaa transparent transparent transparent;
    pointer-events: none; }
  @media screen and (max-width: 599px) {
    .f-select {
      background-color: #f3f3f3; } }

/*************************************************************
* セレクト1
*************************************************************/
.f-select1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%; }
  .f-select1__head {
    width: calc(50% - 1rem);
    background-color: #e3e2f4;
    border: 1px solid #e3e2f4;
    font-weight: bold;
    line-height: 1.65;
    padding: 1rem; }
  .f-select1__detail {
    position: relative;
    width: 50%;
    height: 100%; }
  .f-select1__input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    display: block;
    width: 100%;
    border: 1px solid #938fdf;
    border-radius: 0px;
    background-color: #fff;
    cursor: pointer;
    padding: 1rem;
    line-height: 1.65;
    font-size: 16px; }
  .f-select1__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0.25rem;
    margin: auto;
    width: 40px;
    height: 40px;
    background-color: #f7f7f7;
    pointer-events: none; }
    .f-select1__icon-arrow {
      display: block;
      transform: rotate(90deg); }
  @media screen and (max-width: 599px) {
    .f-select1 {
      display: block; }
      .f-select1__head, .f-select1__detail {
        width: 100%; }
      .f-select1__head {
        margin-bottom: 1rem; } }

/*************************************************************
* トグルスイッチ
*************************************************************/
.f-toggle__input {
  opacity: 0;
  width: 0px; }
  .f-toggle__input:checked + .f-toggle__label:before {
    background-color: #fdc23e;
    border-color: #fdc23e; }
  .f-toggle__input:checked + .f-toggle__label:after {
    transform: translateX(1rem); }

.f-toggle__label {
  padding-left: 2.8em;
  position: relative;
  line-height: 2.25; }
  .f-toggle__label:before {
    content: "";
    width: 2rem;
    height: 1rem;
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    margin-right: 4px;
    background-color: #e6e6e6;
    border-radius: 8px;
    box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.24) inset; }
  .f-toggle__label:after {
    content: "";
    display: block;
    width: calc(1rem - 4px);
    height: calc(1rem - 4px);
    position: absolute;
    top: 2px;
    left: 2px;
    border: 1px solid #ededed;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: 0 4px 8px -4px rgba(0, 0, 0, 0.6);
    transition: transform 100ms cubic-bezier(0.215, 0.61, 0.355, 1); }

/*************************************************************
* ファイル
*************************************************************/
input[type="file"] {
  display: none; }
  input[type="file"] + .btn_file {
    display: inline-block;
    width: auto;
    background-color: #efefef;
    border-radius: 3px;
    border: 1px solid #ccc;
    padding: 3px 8px;
    cursor: pointer;
    font-size: 0.85em; }

/************************************************
 * Block
 ***********************************************/
/* Header */
/**************************************************************
*
* Header
*
**************************************************************/
.b-header {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%; }
  .b-header .c-page-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
  .b-header__submenu {
    display: flex;
    align-items: center;
    padding-top: 1.5rem; }
    .b-header__submenu-item:not(:last-child) {
      margin-right: 1.25rem; }
    .b-header__submenu-item.__tb_visible {
      display: none; }
  .b-header.is-fix {
    position: fixed;
    height: 66px;
    background-color: #fff;
    padding-bottom: 5px;
    animation: navfix 200ms ease-in-out forwards; }
    .b-header.is-fix .b-header__logo {
      width: 140px; }
    .b-header.is-fix .b-header__submenu {
      font-size: 0.79em; }
  @media screen and (max-width: 979px) {
    .b-header__submenu-item {
      display: none; }
      .b-header__submenu-item.__tb_visible {
        display: block; } }
  @media screen and (max-width: 768px) {
    .b-header {
      position: fixed;
      z-index: 20; }
      .b-header__logo {
        width: 180px; }
      .b-header__submenu {
        padding-top: 1.333rem; } }
  @media screen and (max-width: 599px) {
    .b-header .c-page-container {
      padding-left: 10px; }
    .b-header__logo {
      width: 140px; }
    .b-header__submenu {
      padding-top: 0.8rem; } }

/* Navigation */
/**************************************************************
*
* Navigation
*
**************************************************************/
.b-navigation {
  background-color: #f7f7f7;
  height: 110px;
  position: relative;
  z-index: 5; }
  .b-navigation__list {
    display: flex;
    line-height: 1.65; }
    .b-navigation__list-item {
      position: relative;
      flex-grow: 1; }
      .b-navigation__list-item:not(:last-child) .b-navigation__list-anchor:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        background-color: #d9d9d9;
        width: 1px;
        height: 60%;
        margin: auto; }
    .b-navigation__list-anchor {
      display: block;
      position: relative;
      padding: 2.625rem 0.5rem;
      text-align: center;
      transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
      transition-property: "background-color,color"; }
      .hover .b-navigation__list-anchor:hover[href],
      .hover .b-navigation__list-anchor:hover[type], .b-navigation__list-anchor.hover[href], .b-navigation__list-anchor.hover[type] {
        background-color: #938fdf;
        color: transparent; }
    .b-navigation__list-text {
      display: block;
      position: relative;
      z-index: 2; }
    .b-navigation__list-image {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      padding: 0 1rem; }
  .b-navigation__submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #f7f7f7; }
    .b-navigation__submenu-anchor {
      display: block;
      position: relative;
      text-align: center;
      padding: 1.25rem 0;
      transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
      transition-property: "background-color,color"; }
      .b-navigation__submenu-anchor:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 1px;
        width: calc(100% - 28px);
        margin: auto;
        background-color: #d9d9d9; }
      .hover .b-navigation__submenu-anchor:hover[href],
      .hover .b-navigation__submenu-anchor:hover[type], .b-navigation__submenu-anchor.hover[href], .b-navigation__submenu-anchor.hover[type] {
        background-color: #938fdf;
        color: #fff; }
  .b-navigation__link {
    display: none; }
  .b-navigation.is-fix {
    position: fixed;
    z-index: 15;
    top: 66px;
    left: 0;
    width: 100%;
    height: 58px;
    animation: navfix 200ms ease-in-out forwards; }
    .b-navigation.is-fix .b-navigation__list-anchor {
      padding: 1rem 0; }
  @media screen and (max-width: 979px) {
    .b-navigation {
      position: fixed;
      z-index: 5;
      top: 0;
      right: 0;
      width: 500px;
      height: 100%;
      opacity: 0;
      visibility: hidden;
      overflow-y: scroll;
      background-color: rgba(255, 255, 255, 0.95);
      padding: 30px;
      padding-top: 3.125rem;
      transition: cubic-bezier(0.165, 0.84, 0.44, 1);
      transition-property: opacity, visibility;
      transition-duration: 200ms, 0ms;
      transition-delay: 0ms, 200ms; }
      .b-navigation.is-active {
        opacity: 1;
        visibility: visible;
        transition-delay: 1ms, 0ms; }
      .b-navigation .c-page-container {
        padding: 0; }
      .b-navigation__list {
        display: block;
        margin-bottom: 3.125rem; }
        .b-navigation__list-item {
          display: flex;
          align-items: center;
          justify-content: flex-start; }
          .b-navigation__list-item:not(:last-child) {
            margin-bottom: 1rem; }
            .b-navigation__list-item:not(:last-child) .b-navigation__list-anchor:after {
              content: none; }
        .b-navigation__list-anchor {
          padding: 1rem;
          padding-left: 0;
          text-align: left; }
          .hover .b-navigation__list-anchor:hover[href],
          .hover .b-navigation__list-anchor:hover[type], .b-navigation__list-anchor.hover[href], .b-navigation__list-anchor.hover[type] {
            background-color: rgba(147, 143, 223, 0.4);
            color: #fff; }
        .b-navigation__list-image {
          width: auto;
          max-width: none;
          height: 25px;
          left: 0;
          top: 0;
          transform: translateY(-50%);
          padding: 0; }
      .b-navigation__submenu {
        display: flex;
        position: relative;
        width: auto;
        background-color: transparent; }
        .b-navigation__submenu-anchor {
          padding: 1rem;
          background-color: transparent; }
          .hover .b-navigation__submenu-anchor:hover[href],
          .hover .b-navigation__submenu-anchor:hover[type], .b-navigation__submenu-anchor.hover[href], .b-navigation__submenu-anchor.hover[type] {
            background-color: rgba(147, 143, 223, 0.4); }
          .b-navigation__submenu-anchor:after {
            width: 1px;
            height: 100%;
            bottom: 0;
            left: 0;
            right: auto; }
      .b-navigation__link {
        display: flex;
        flex-flow: row wrap; }
        .b-navigation__link-item:nth-of-type(2) {
          margin-left: 1.75rem; }
        .b-navigation__link-item.__tel {
          width: 100%;
          margin-top: 1.75rem; } }
  @media screen and (max-width: 768px) {
    .b-navigation {
      padding: 4%;
      padding-top: 3.125rem; } }
  @media screen and (max-width: 599px) {
    .b-navigation {
      padding: 5%;
      padding-top: 100px;
      width: 100%;
      font-size: 0.866em; }
      .b-navigation__list {
        margin-bottom: 1.75rem; }
        .b-navigation__list-item:not(:last-child) {
          margin-bottom: 0.5rem; }
        .b-navigation__list-anchor {
          padding: 0.85rem;
          padding-left: 0; }
      .b-navigation__submenu-anchor {
        padding: 0.85rem; } }

/* Footer */
/**************************************************************
*
* フッター
*
**************************************************************/
.b-footer {
  position: relative; }
  .b-footer__navigation {
    background-color: #e2dff2;
    padding: 1.75rem 0;
    font-size: 1em; }
    .b-footer__navigation-list {
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-between;
      margin: 0 calc(-1 * 1rem); }
    .b-footer__navigation-item {
      flex-grow: 1;
      margin-bottom: 1.75rem; }
    .b-footer__navigation-anchor {
      transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
      transition-property: color; }
      .b-footer__navigation-anchor:before {
        content: "＞"; }
      .hover .b-footer__navigation-anchor:hover[href],
      .hover .b-footer__navigation-anchor:hover[type], .b-footer__navigation-anchor.hover[href], .b-footer__navigation-anchor.hover[type] {
        color: #938fdf; }
  .b-footer__submenu {
    display: flex;
    justify-content: center; }
    .b-footer__submenu-item:not(:last-child) {
      margin-right: 1.75rem; }
    .b-footer__submenu-anchor {
      transition: 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
      transition-property: color; }
      .hover .b-footer__submenu-anchor:hover[href],
      .hover .b-footer__submenu-anchor:hover[type], .b-footer__submenu-anchor.hover[href], .b-footer__submenu-anchor.hover[type] {
        color: #938fdf; }
    .b-footer__submenu-icon {
      color: #938fdf;
      vertical-align: -0.1em; }
  .b-footer__info {
    background-color: #c1bfee;
    padding: 1.75rem 0;
    text-align: center;
    line-height: 2.25;
    font-size: 1.125em; }
  .b-footer__name {
    font-weight: bold; }
  .b-footer__copyright {
    text-align: center;
    font-size: 1em;
    color: #fff;
    background-color: #938fdf;
    padding: 5px 30px;
    display: block; }
  @media screen and (max-width: 1059px) {
    .b-footer__navigation {
      font-size: 1em; } }
  @media screen and (max-width: 768px) {
    .b-footer__navigation {
      display: none; }
    .b-footer__info {
      font-size: 1em; }
    .b-footer__copyright {
      font-size: 0.75em; } }
  @media screen and (max-width: 599px) {
    .b-footer__copyright {
      padding: 5px 5%; } }

/* Mainimage  */
/**************************************************************
*
* Mainimage
*
**************************************************************/
/**************************************************************
* Toppage
**************************************************************/
.b-topmain {
  height: calc(100vh - 110px);
  min-height: 600px;
  position: relative; }
  .b-topmain .objfit {
    height: 100%;
    object-position: center top;
    font-family: 'object-fit:cover;object-position:center top'; }
  .b-topmain .c-page-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: auto; }
  .b-topmain__text {
    position: absolute;
    display: block;
    top: 50%;
    right: 30px;
    transform: translateY(-50%); }
  .b-topmain__topics {
    position: absolute;
    bottom: 5%;
    right: 30px; }
  @media screen and (max-width: 979px) {
    .b-topmain {
      height: 100vh; } }
  @media screen and (max-width: 768px) {
    .b-topmain {
      height: 70vh;
      min-height: inherit; }
      .b-topmain .objfit {
        object-position: left top;
        font-family: 'object-fit:cover;object-position:left top'; }
      .b-topmain__text {
        right: 4%; }
      .b-topmain__topics {
        right: 4%; } }
  @media screen and (max-width: 768px) and (orientation: landscape) {
    .b-topmain {
      height: auto; }
      .b-topmain .c-page-container {
        position: static; }
      .b-topmain .objfit {
        height: 100vh; }
      .b-topmain__text {
        top: 200px;
        transform: translateY(0%);
        right: 5%;
        max-width: calc(100% - (2 * 5%)); }
      .b-topmain__topics {
        margin-top: 1.75rem;
        position: static;
        text-align: center;
        width: 100%; } }
  @media screen and (max-width: 599px) {
    .b-topmain {
      height: auto; }
      .b-topmain .objfit {
        height: 400px; }
      .b-topmain .c-page-container {
        position: static; }
      .b-topmain__text {
        top: 250px;
        transform: translateY(0%);
        right: 5%;
        max-width: calc(100% - (2 * 5%)); }
      .b-topmain__topics {
        position: static;
        text-align: center;
        width: 100%; } }

/* 20230208 add --------------- */
.blog_link{
  width: 150px;
  height: auto;
  position: absolute;
  bottom:7%;
  right: 10%;
}
.blog_link img{
  width: 100%;
  transition: 0.5s;
}
.blog_link img:hover{
  opacity: 0.7;
}
@media screen and (max-width: 599px) {
  .blog_link{
    width: 100px;
    bottom:auto;
    top: 25%;
    right: 5%;
  }
}

/**************************************************************
* Subpage
**************************************************************/
.b-submain {
  position: relative; }
  .b-submain .objfit {
    height: 420px; }
  .b-submain .c-page-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 100%; }
  .b-submain__text {
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%); }
  .b-submain__title {
    margin-top: 0.25rem;
    font-weight: bold;
    font-size: 1.5em;
    line-height: 1.65; }
  @media screen and (max-width: 768px) {
    .b-submain .objfit {
      height: 300px; }
    .b-submain__text {
      left: 4%; }
    .b-submain__subtext {
      height: 50px; }
    .b-submain__title {
      font-size: 1.266em; } }
  @media screen and (max-width: 599px) {
    .b-submain .objfit {
      height: 180px; }
    .b-submain .c-page-container {
      position: static;
      padding: 0; }
    .b-submain__text {
      position: relative;
      left: 0;
      text-align: center;
      transform: translateY(0px);
      padding: 1rem;
      background-color: #f7f7f7; }
    .b-submain__subtext {
      height: 36px; }
    .b-submain__title {
      font-size: 1em; } }

/* Topicpath */
/**************************************************************
*
* Bread Crumb
*
**************************************************************/
.b-topicpath {
  margin-top: 2.5rem;
  margin-bottom: 5rem; }
  .b-topicpath__item {
    display: inline-block;
    line-height: 1.65; }
    .b-topicpath__item:after {
      content: "＞";
      margin-left: 5px; }
    .b-topicpath__item:last-child:after {
      content: none; }
  .b-topicpath__anchor {
    color: #938fdf;
    font-weight: bold;
    text-decoration: underline; }
    .hover .b-topicpath__anchor:hover[href],
    .hover .b-topicpath__anchor:hover[type], .b-topicpath__anchor.hover[href], .b-topicpath__anchor.hover[type] {
      text-decoration: none; }
  @media screen and (max-width: 599px) {
    .b-topicpath {
      margin-top: 1rem;
      margin-bottom: 3.125rem;
      font-size: 0.889em; } }

/* Contact */
.b-contact {
  background-color: #f3f3f3;
  text-align: center;
  padding-bottom: 3.125rem; }
  .b-contact__headline {
    transform: translateY(-50%); }
  .b-contact__paragraph {
    line-height: 2.25;
    margin-bottom: 2.5rem; }

/************************************************
 * Custom
 ***********************************************/
/* カスタム */
/**************************************************************
*
* Toppage
*
**************************************************************/
@media screen and (min-width: 980px) {
  .top .b-header, .top .b-navigation {
    opacity: 0;
    transition: opacity 3000ms cubic-bezier(0.165, 0.84, 0.44, 1); }
    .top .b-header.is-load, .top .b-navigation.is-load {
      opacity: 1; } }

.top .b-topmain .objfit {
  opacity: 0;
  transition: opacity 2000ms cubic-bezier(0.165, 0.84, 0.44, 1); }

.top .b-topmain .c-page-container {
  opacity: 0;
  transition: opacity 1800ms cubic-bezier(0.165, 0.84, 0.44, 1) 1500ms; }

.top .b-topmain.is-load .objfit {
  opacity: 1; }

.top .b-topmain.is-load .c-page-container {
  opacity: 1; }

.top .c-layout-about,
.top .c-layout-education,
.top .c-layout-effort,
.top .c-layout-message {
  opacity: 0;
  transform: translateY(-20px);
  transition: 3000ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-property: "opacity, transform"; }
  .top .c-layout-about.load,
  .top .c-layout-education.load,
  .top .c-layout-effort.load,
  .top .c-layout-message.load {
    opacity: 1;
    transform: translateY(0px); }
/*# sourceMappingURL=theme.css.map */

/**************************************************************
*
* facility
*
**************************************************************/
.facility {
  width:100%;
}
.facility .facility_box{
  width:45%;
  margin: 20px 2%;
  padding: 20px;
  border: 1px solid #938fdf;
  display: inline-block;
}
.facility .facility_box a.facility_title{
  width:100%;
  background-color: #e3e2f4;
  padding: 10px;
  font-weight: bold;
  font-size: 1.125em;
  text-align: center;
  margin-top: 5px;
  display: inline-block;
  -webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}
.facility .facility_box a.facility_title:hover{
  background-color: #938fdf;
  color: #fff;
}
.facility .facility_box ul.facility_list{
  width:100%;
  margin-top: 15px;
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.facility .facility_box ul.facility_list li{
  width: 33.33333%;
  width: -webkit-calc(100% / 3);
  width: calc(100% / 3);
  padding: 5px;
  display:flex;
}
.facility .facility_box ul.facility_list li.full{
  width: 100% !important;
}
.facility .facility_box ul.facility_list li a{
  display: inline-block;
  width: 100%;
  padding: 10px;
  text-align: center;
  background-color: #f7f7f7;
  -webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}
.facility .facility_box ul.facility_list li a:hover{
  background-color: #938fdf;
  color: #fff;
}
.facility .br_pc{
  display:block;
}

@media screen and (max-width: 599px) {
  .facility .facility_box{
    width:100%;
    margin: 20px 0;
    padding: 20px;
    border: 1px solid #938fdf;
    display: inline-block;
  }
  .facility .facility_box ul.facility_list li{
    width: 50%;
  }
  .facility .br_pc{
    display:none;
  }
}
