@charset "UTF-8";
/*
Theme Name: frontier4u
Theme URI:
Author: name
Description:
Version: 1.0.0
License:
License URI:
Tags:
Text Domain:
*/
/*-------------------------------------------

reset

--------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*-------------------------------------------

変数

--------------------------------------------*/
/*-------------------------------------------

mixin

--------------------------------------------*/
.cf::after {
  content: "";
  display: block;
  clear: both;
}

.cf .left-box {
  float: left;
}

@media screen and (max-width: 768px) {
  .cf .left-box {
    float: none;
  }
}

.cf .right-box {
  float: right;
}

@media screen and (max-width: 768px) {
  .cf .right-box {
    float: none;
  }
}

.ajax-loader {
  display: none !important;
}

.m0 {
  margin: 0 !important;
}

/*-------------------------------------------


common


--------------------------------------------*/
html,
body {
  min-width: 1040px;
}

@media screen and (max-width: 768px) {
  html,
  body {
    min-width: inherit;
    min-width: auto;
  }
}

html {
  height: 100%;
  font-size: 62.5%;
}

body {
  height: 100%;
  line-height: 1.8;
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  color: #6e6a83;
  -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 768px) {
  body {
    line-height: 1.5;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

a {
  display: inline-block;
  color: inherit;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
  outline: none;
  text-decoration: none;
}

a:hover {
  opacity: 0.7;
}

a:focus {
  outline: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  pointer-events: none;
  margin: 0 auto;
}

input,
textarea,
select {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="text"],
input[type="email"],
input[type="mail"],
input[type="tel"],
input[type="submit"],
input[type="url"],
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 3px 17px;
  border: 1px solid #B3B3B3;
  font-size: 1.6rem;
  line-height: 1.5;
}

input[type="text"]:focus::-webkit-input-placeholder,
input[type="email"]:focus::-webkit-input-placeholder,
input[type="mail"]:focus::-webkit-input-placeholder,
input[type="tel"]:focus::-webkit-input-placeholder,
input[type="submit"]:focus::-webkit-input-placeholder,
input[type="url"]:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder,
select:focus::-webkit-input-placeholder {
  color: transparent;
}

input[type="text"]:focus:-ms-input-placeholder,
input[type="email"]:focus:-ms-input-placeholder,
input[type="mail"]:focus:-ms-input-placeholder,
input[type="tel"]:focus:-ms-input-placeholder,
input[type="submit"]:focus:-ms-input-placeholder,
input[type="url"]:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder,
select:focus:-ms-input-placeholder {
  color: transparent;
}

input[type="text"]:focus::-ms-input-placeholder,
input[type="email"]:focus::-ms-input-placeholder,
input[type="mail"]:focus::-ms-input-placeholder,
input[type="tel"]:focus::-ms-input-placeholder,
input[type="submit"]:focus::-ms-input-placeholder,
input[type="url"]:focus::-ms-input-placeholder,
textarea:focus::-ms-input-placeholder,
select:focus::-ms-input-placeholder {
  color: transparent;
}

input[type="text"]:focus::placeholder,
input[type="email"]:focus::placeholder,
input[type="mail"]:focus::placeholder,
input[type="tel"]:focus::placeholder,
input[type="submit"]:focus::placeholder,
input[type="url"]:focus::placeholder,
textarea:focus::placeholder,
select:focus::placeholder {
  color: transparent;
}

input[type="text"],
input[type="email"],
input[type="mail"],
input[type="tel"],
input[type="url"] {
  width: 70%;
}

@media screen and (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="mail"],
  input[type="tel"],
  input[type="url"] {
    width: 100%;
  }
}

textarea {
  width: 80%;
}

@media screen and (max-width: 768px) {
  textarea {
    width: 100%;
  }
}

select {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 16px 17px 14px;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  select {
    padding: 11px 17px 9px;
  }
}

select::-ms-expand {
  display: none;
}

.table-pcfix {
  overflow-x: scroll;
}

.table-pcfix table {
  width: 1000px;
}

table {
  table-layout: fixed;
  width: 100%;
}

@media screen and (max-width: 768px) {
  table.tb-vertical thead {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  table.tb-vertical tr {
    border: 1px solid #D6D6D6;
  }
}

@media screen and (max-width: 768px) {
  table.tb-vertical tr th,
  table.tb-vertical tr td {
    display: block;
    width: 100% !important;
    border: none;
  }
}

@media screen and (max-width: 414px) {
  table.sp-vertical thead {
    display: none;
  }
}

@media screen and (max-width: 414px) {
  table.sp-vertical tr {
    border: 1px solid #D6D6D6;
  }
}

@media screen and (max-width: 414px) {
  table.sp-vertical tr th,
  table.sp-vertical tr td {
    display: block;
    width: 100% !important;
    border: none;
  }
}

table.small tr th,
table.small tr td {
  padding: 10px;
}

@media screen and (max-width: 768px) {
  table.small tr th,
  table.small tr td {
    padding: 7px;
  }
}

table tr th,
table tr td {
  border: 1px solid #D6D6D6;
  vertical-align: top;
  padding: 15px;
  text-align: left;
}

@media screen and (max-width: 768px) {
  table tr th,
  table tr td {
    padding: 10px;
  }
}

table tr th {
  background-color: #E7E7EB;
  font-weight: bold;
}

/*-----------------------------------------------------
class
------------------------------------------------------*/
.txt-center {
  text-align: center;
}

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

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

.block {
  display: block;
}

.iblock {
  display: inline-block;
}

.inline {
  display: inline;
}

.pc-block {
  display: block;
}

@media screen and (max-width: 768px) {
  .pc-block {
    display: none;
  }
}

@media screen and (max-width: 414px) {
  .pc-block.spmin-block {
    display: block;
  }
}

.pc-iblock {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .pc-iblock {
    display: none;
  }
}

.sp-block {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-block {
    display: block;
  }
}

@media screen and (max-width: 414px) {
  .sp-block.spmin-block {
    display: none;
  }
}

.sp-iblock {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-iblock {
    display: inline-block;
  }
}

.sp-inline {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-inline {
    display: inline;
  }
}

.tel {
  cursor: default;
  pointer-events: none;
  font: 900 4rem "Catamaran", sans-serif;
  color: #514985;
  letter-spacing: 0.3rem;
}

.tel:hover {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .tel {
    pointer-events: auto;
  }
}

.wrapper {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .wrapper {
    width: 100%;
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media screen and (max-width: 414px) {
  .wrapper {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.flex, .bg2 ol, .box-wrap06, .sampling .flow ul, .sampling .bg03 .cf dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.breadcrumb {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 1000px;
  margin: 0 auto;
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  .breadcrumb {
    overflow-x: scroll;
    overflow-y: hidden;
    width: 100%;
    height: 30px;
    padding: 0 0 0 10px;
    white-space: nowrap;
  }
}

.breadcrumb::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.breadcrumb::-webkit-scrollbar-track {
  background: transparent;
}

.breadcrumb::-webkit-scrollbar-thumb {
  background: transparent;
}

.breadcrumb > span {
  margin: 0 20px;
}

.breadcrumb > span:first-child {
  margin: 0 20px 0 0;
}

.breadcrumb a {
  color: #514985;
  text-decoration: underline;
}

.box-pagenation-01 {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1;
  color: #6e6a83;
}

@media screen and (max-width: 768px) {
  .box-pagenation-01 {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 414px) {
  .box-pagenation-01 {
    font-size: 1.2rem;
  }
}

.box-pagenation-01 > span {
  display: inline-block;
  margin: 0 6px;
}

.box-pagenation-01 a {
  padding: 12px 26px 11px;
  border: 1px solid #6e6a83;
  color: inherit;
}

@media screen and (max-width: 768px) {
  .box-pagenation-01 a {
    padding: 10px 22px 10px;
  }
}

@media screen and (max-width: 414px) {
  .box-pagenation-01 a {
    padding: 8px 10px 7px;
  }
}

.box-pagenation-01 a:hover {
  opacity: 1;
  color: #ffffff;
  background-color: #6e6a83;
}

.box-pagenation-01 .prev a:before {
  content: "<";
  margin-right: 10px;
}

@media screen and (max-width: 768px) {
  .box-pagenation-01 .prev a:before {
    margin-right: 5px;
  }
}

.box-pagenation-01 .next a:after {
  content: ">";
  margin-left: 10px;
}

@media screen and (max-width: 768px) {
  .box-pagenation-01 .next a:after {
    margin-left: 5px;
  }
}

.box-404 {
  text-align: center;
}

.box-404 .title-wrap .title {
  display: block;
  font-weight: bold;
  font-size: 4.5rem;
  letter-spacing: 0.1em;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .box-404 .title-wrap .title {
    font-size: 2.5rem;
  }
}

.box-404 .title-wrap .catch {
  display: block;
  margin-top: 5px;
}

.box-404 p {
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  .box-404 p {
    margin-top: 15px;
  }
}

.box-404 .unit-link-01 {
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  .box-404 .unit-link-01 {
    margin-top: 15px;
  }
}

.box-undertitle-01 {
  margin: 80px 0 0 0;
}

@media screen and (max-width: 768px) {
  .box-undertitle-01 {
    margin: 60px 0 0 0;
  }
}

.box-undertitle-01 .title-wrap {
  position: relative;
  width: 100%;
  height: 590px;
  background: url(images/title/title_default.jpg) no-repeat center center transparent;
  background-size: cover;
}

@media screen and (max-width: 1400px) {
  .box-undertitle-01 .title-wrap {
    height: 390px;
  }
}

@media screen and (max-width: 768px) {
  .box-undertitle-01 .title-wrap {
    height: 250px;
  }
}

@media screen and (max-width: 414px) {
  .box-undertitle-01 .title-wrap {
    height: 200px;
  }
}

.box-undertitle-01 .title-wrap.thanks {
  background: url(images/title/title_contact.jpg) no-repeat center center transparent;
  background-size: cover;
}

.box-undertitle-01 .title-wrap.contact {
  background: url(images/title/title_contact.jpg) no-repeat center center transparent;
  background-size: cover;
}

.box-undertitle-01 .title-wrap.mind {
  background: url(images/title/title_mind.jpg) no-repeat center center transparent;
  background-size: cover;
}

.box-undertitle-01 .title-wrap.message {
  background: url(images/title/title_message.jpg) no-repeat center center transparent;
  background-size: cover;
}

.box-undertitle-01 .title-wrap.example {
  background: url(images/title/title_example.jpg) no-repeat center center transparent;
  background-size: cover;
}

.box-undertitle-01 .title-wrap.internet-media {
  background: url(images/title/title_internet-media.jpg) no-repeat center center transparent;
  background-size: cover;
}

.box-undertitle-01 .title-wrap.news {
  background: url(images/title/title_news.jpg) no-repeat center center transparent;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .box-undertitle-01 .title-wrap.news {
    background: url(images/title/title_news.jpg) no-repeat -90px 0 transparent;
    background-size: cover;
  }
}

.box-undertitle-01 .title-wrap.recruit, .box-undertitle-01 .title-wrap.new-grsduate {
  background: url(images/title/title-recruit.jpg) no-repeat center center transparent;
  background-size: cover;
}

.box-undertitle-01 .title-wrap.color-white {
  color: #ffffff;
}

.box-undertitle-01 .title-wrap.color-white .title {
  border-color: #ffffff;
}

.box-undertitle-01 .title-wrap .title-inner {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  .box-undertitle-01 .title-wrap .title-inner {
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}

.box-undertitle-01 .title-wrap .title {
  padding: 25px 47px;
  font-size: 3.0rem;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .box-undertitle-01 .title-wrap .title {
    padding: 15px 25px;
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 414px) {
  .box-undertitle-01 .title-wrap .title {
    padding: 10px;
    font-size: 2.0rem;
  }
}

.box-undertitle-01 .title-wrap .ruby {
  display: block;
  font-size: 1.2rem;
  font-style: italic;
  letter-spacing: 0.1em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .box-undertitle-01 .title-wrap .ruby {
    font-size: 0.9rem;
  }
}

.box-form-01 dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 19px 0 18px;
  border-top: 1px solid #D6D6D6;
}

@media screen and (max-width: 768px) {
  .box-form-01 dl {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.box-form-01 dl:first-child {
  border-top: none;
  padding-top: 0;
  margin: 30px 0 0 0;
}

.box-form-01 dl dt {
  width: 250px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .box-form-01 dl dt {
    width: 100%;
    padding-top: 0;
  }
}

.box-form-01 dl dd {
  width: calc(100% - 250px);
}

@media screen and (max-width: 768px) {
  .box-form-01 dl dd {
    width: 100%;
    margin-top: 10px;
  }
}

.box-form-01 .required:after {
  display: inline-block;
  content: "必須";
  min-width: 40px;
  margin-left: 12px;
  padding: 2px 5px 0;
  background-color: #a40000;
  font-size: 1.2rem;
  text-align: center;
  color: #ffffff;
  position: absolute;
  right: 0;
}

@media screen and (max-width: 768px) {
  .box-form-01 .required:after {
    padding: 0 5px;
  }
}

.box-form-01 textarea {
  height: 180px;
}

.box-form-01 .unit-btn-01 {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .box-form-01 .unit-btn-01 {
    margin-top: 20px;
  }
}

.box-thanks-01 {
  text-align: center;
}

.box-thanks-01 .title-wrap {
  display: block;
  font-size: 3.0rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .box-thanks-01 .title-wrap {
    font-size: 2.5rem;
  }
}

.box-thanks-01 p {
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  .box-thanks-01 p {
    margin-top: 15px;
  }
}

.box-thanks-01 .unit-link-01 {
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  .box-thanks-01 .unit-link-01 {
    margin-top: 15px;
  }
}

.unit-pagenation-01 {
  text-align: center;
}

.unit-pagenation-01 a {
  display: inline-block;
  position: relative;
  margin: 0 10px;
  padding: 10px 10px;
  border: 1px solid #514985;
  background-color: #514985;
  font-size: 1.5rem;
  text-align: center;
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .unit-pagenation-01 a {
    margin: 0 5px;
    font-size: 1.4rem;
  }
}

.unit-pagenation-01 a:hover {
  opacity: 1;
  background-color: #ffffff;
  color: #514985;
}

.unit-pagenation-01 .prev a,
.unit-pagenation-01 .next a {
  min-width: 100px;
}

@media screen and (max-width: 768px) {
  .unit-pagenation-01 .prev a,
  .unit-pagenation-01 .next a {
    min-width: 70px;
    padding: 10px 0 10px 5px;
  }
}

.unit-pagenation-01 .prev a:before,
.unit-pagenation-01 .next a:before {
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: FontAwesome;
}

.unit-pagenation-01 .prev a:before {
  content: "\f104";
  left: 10px;
}

.unit-pagenation-01 .return a {
  min-width: 220px;
}

@media screen and (max-width: 768px) {
  .unit-pagenation-01 .return a {
    min-width: 100px;
  }
}

.unit-pagenation-01 .next a:before {
  content: "\f105";
  right: 10px;
}

.unit-list-01 li {
  position: relative;
  margin-top: 5px;
  padding-left: 1em;
}

.unit-list-01 li:before {
  content: "・";
  margin-left: -1em;
}

.unit-list-01 li:first-child {
  margin-top: 0;
}

.unit-list-01 li a {
  color: #0071BC;
  text-decoration: underline;
}

.unit-list-01.arrow li {
  padding-left: 1.3em;
}

.unit-list-01.arrow li:before {
  position: absolute;
  top: -3px;
  left: 0;
  content: "\f105";
  margin-left: 0;
  font-family: FontAwesome;
  font-size: 1.6rem;
}

.unit-note-01 {
  position: relative;
  padding-left: 1em;
}

.unit-note-01:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.unit-note-01 + .unit-note {
  margin-top: 5px;
}

.wp-pagenavi {
  margin-top: 56px;
  font-size: 1.6rem;
  text-align: center;
  /*
    .first,
    .last,
    .pages{
        display: none;
    }
    */
  /*
    .previouspostslink,
    .nextpostslink{
        border: none;
        background-color: transparent;
        font-size: 1.4rem;
        @media screen and (max-width: 768px) {
            font-size: 1.2rem;
        }
        &:before,
        &:after{
            display: block;
            color: $base_c;
            font-family: FontAwesome;
            line-height: 1;
        }
        &:before{
            line-height: 0.7;
            font-size: 2.0rem;
            @media screen and (max-width: 768px) {
                font-size: 1.6rem;
            }
        }
        &:after{
            margin-top: 5px;
            @media screen and (max-width: 768px)
            {
                margin-top: 3px;
            }
        }
    }
    .previouspostslink{
        margin-right: 31px;
        @media screen and (max-width: 768px) {
            margin-right: 25px;
        }
        @media screen and (max-width: 414px) {
            margin-right: 5px;
        }
        &:before{
            content: "\f104";
        }
        &:after{
            content: "前へ";
        }
    }
    .nextpostslink{
        margin-left: 31px;
        @media screen and (max-width: 768px) {
            margin-left: 25px;
        }
        @media screen and (max-width: 414px) {
            margin-left: 5px;
        }
        &:before{
            content: "\f105";
        }
        &:after{
            content: "次へ";
        }
    }
    */
}

@media screen and (max-width: 768px) {
  .wp-pagenavi {
    margin-top: 28px;
    font-size: 1.4rem;
  }
}

.wp-pagenavi .extend,
.wp-pagenavi .current {
  background-color: #514985;
  border-color: #514985;
  color: #fff;
}

.wp-pagenavi .extend {
  min-width: auto;
  min-width: inherit;
  padding: 0;
}

@media screen and (max-width: 414px) {
  .wp-pagenavi .extend {
    display: none;
  }
}

.wp-pagenavi > a,
.wp-pagenavi > span {
  vertical-align: middle;
  display: inline-block;
  min-width: 45px;
  min-height: 45px;
  margin: 0 2px 4px 3px;
  padding: 0 5px;
  border: 1px solid #efefef;
  background-color: #efefef;
  text-align: center;
  color: #acacac;
  line-height: 45px;
  text-decoration: none;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

@media screen and (max-width: 768px) {
  .wp-pagenavi > a,
  .wp-pagenavi > span {
    min-width: 30px;
    min-height: 30px;
    padding: 0;
    line-height: 30px;
  }
}

@media screen and (max-width: 414px) {
  .wp-pagenavi > a,
  .wp-pagenavi > span {
    min-width: 26px;
    min-height: 26px;
    padding: 0;
    line-height: 26px;
  }
}

.wp-pagenavi > a:hover {
  opacity: 1;
  background-color: #514985;
  color: #ffffff;
  border: 1px solid #514985;
}

.box-blogdetail-01 > * {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 > * {
    margin-top: 15px;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 > * {
    margin-top: 10px;
  }
}

.box-blogdetail-01 > *:first-child {
  margin-top: 0;
}

.box-blogdetail-01 h2,
.box-blogdetail-01 h3 {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 h2,
  .box-blogdetail-01 h3 {
    margin-top: 35px;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 h2,
  .box-blogdetail-01 h3 {
    margin-top: 30px;
  }
}

.box-blogdetail-01 h2:first-child,
.box-blogdetail-01 h3:first-child {
  margin-top: 0;
}

.box-blogdetail-01 h2 + h2,
.box-blogdetail-01 h2 + h3,
.box-blogdetail-01 h2 + h4,
.box-blogdetail-01 h2 + h5,
.box-blogdetail-01 h2 + h6,
.box-blogdetail-01 h3 + h2,
.box-blogdetail-01 h3 + h3,
.box-blogdetail-01 h3 + h4,
.box-blogdetail-01 h3 + h5,
.box-blogdetail-01 h3 + h6 {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 h2 + h2,
  .box-blogdetail-01 h2 + h3,
  .box-blogdetail-01 h2 + h4,
  .box-blogdetail-01 h2 + h5,
  .box-blogdetail-01 h2 + h6,
  .box-blogdetail-01 h3 + h2,
  .box-blogdetail-01 h3 + h3,
  .box-blogdetail-01 h3 + h4,
  .box-blogdetail-01 h3 + h5,
  .box-blogdetail-01 h3 + h6 {
    margin-top: 15px;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 h2 + h2,
  .box-blogdetail-01 h2 + h3,
  .box-blogdetail-01 h2 + h4,
  .box-blogdetail-01 h2 + h5,
  .box-blogdetail-01 h2 + h6,
  .box-blogdetail-01 h3 + h2,
  .box-blogdetail-01 h3 + h3,
  .box-blogdetail-01 h3 + h4,
  .box-blogdetail-01 h3 + h5,
  .box-blogdetail-01 h3 + h6 {
    margin-top: 10px;
  }
}

.box-blogdetail-01 h2 + table,
.box-blogdetail-01 h2 + p,
.box-blogdetail-01 h3 + table,
.box-blogdetail-01 h3 + p {
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 h2 + table,
  .box-blogdetail-01 h2 + p,
  .box-blogdetail-01 h3 + table,
  .box-blogdetail-01 h3 + p {
    margin-top: 8px;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 h2 + table,
  .box-blogdetail-01 h2 + p,
  .box-blogdetail-01 h3 + table,
  .box-blogdetail-01 h3 + p {
    margin-top: 5px;
  }
}

.box-blogdetail-01 h4,
.box-blogdetail-01 h5,
.box-blogdetail-01 h6 {
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 h4,
  .box-blogdetail-01 h5,
  .box-blogdetail-01 h6 {
    margin-top: 25px;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 h4,
  .box-blogdetail-01 h5,
  .box-blogdetail-01 h6 {
    margin-top: 20px;
  }
}

.box-blogdetail-01 h4:first-child,
.box-blogdetail-01 h5:first-child,
.box-blogdetail-01 h6:first-child {
  margin-top: 0;
}

.box-blogdetail-01 h4 + table,
.box-blogdetail-01 h4 + p,
.box-blogdetail-01 h5 + table,
.box-blogdetail-01 h5 + p,
.box-blogdetail-01 h6 + table,
.box-blogdetail-01 h6 + p {
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 h4 + table,
  .box-blogdetail-01 h4 + p,
  .box-blogdetail-01 h5 + table,
  .box-blogdetail-01 h5 + p,
  .box-blogdetail-01 h6 + table,
  .box-blogdetail-01 h6 + p {
    margin-top: 8px;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 h4 + table,
  .box-blogdetail-01 h4 + p,
  .box-blogdetail-01 h5 + table,
  .box-blogdetail-01 h5 + p,
  .box-blogdetail-01 h6 + table,
  .box-blogdetail-01 h6 + p {
    margin-top: 5px;
  }
}

.box-blogdetail-01 h2 {
  margin-bottom: 20px;
  padding-bottom: 19px;
  border-bottom: 1px solid #D6D6D6;
  font-size: 2.2rem;
  letter-spacing: 0.07em;
  margin-top: 75px;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 h2 {
    margin-top: 60px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 h2 {
    margin-top: 40px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    font-size: 1.8rem;
  }
}

.box-blogdetail-01 h2:first-child {
  margin-top: 0;
}

.box-blogdetail-01 h3 {
  font-size: 2.0rem;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 h3 {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 h3 {
    font-size: 1.6rem;
  }
}

.box-blogdetail-01 h4 {
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 h4 {
    font-size: 1.7rem;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 h4 {
    font-size: 1.5rem;
  }
}

.box-blogdetail-01 h5 {
  font-size: 1.7rem;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 h5 {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 h5 {
    font-size: 1.5rem;
  }
}

.box-blogdetail-01 h6 {
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 h6 {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 h6 {
    font-size: 1.4rem;
  }
}

.box-blogdetail-01 ul li {
  position: relative;
  margin-top: 5px;
  padding-left: 1em;
}

.box-blogdetail-01 ul li:before {
  content: "・";
  margin-left: -1em;
}

.box-blogdetail-01 ul li:first-child {
  margin-top: 0;
}

.box-blogdetail-01 ul li a {
  text-decoration: underline;
}

.box-blogdetail-01 a {
  text-decoration: underline;
}

.box-blogdetail-01 strong {
  font-weight: bold;
}

.box-blogdetail-01 img {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 img {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 img {
    margin-top: 15px;
    margin-bottom: 15px;
  }
}

.box-blogdetail-01 img.alignright {
  margin-left: 50px;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 img.alignright {
    margin-left: 30px;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 img.alignright {
    margin: 10px auto;
  }
}

.box-blogdetail-01 img.alignleft {
  margin-right: 50px;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 img.alignleft {
    margin-right: 30px;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 img.alignleft {
    margin: 10px auto;
  }
}

.box-blogdetail-01 hr {
  display: block;
  margin-top: 30px;
  margin-bottom: 30px;
  border: none;
  border-top: 1px solid #E7E7EB;
}

.box-blogdetail-01 iframe {
  width: 100% !important;
}

.box-blogdetail-01 table {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .box-blogdetail-01 table {
    margin-top: 30px;
  }
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 table {
    margin-top: 25px;
  }
}

.box-blogdetail-01 table:first-child {
  margin-top: 0;
}

.box-blogdetail-01 figure figcaption {
  padding: 5px 10px;
}

.box-blogdetail-01 .box-colomn .colomn-inner figure img {
  width: 100%;
}

.box-blogdetail-01 .alignright {
  float: right;
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 .alignright {
    float: none;
  }
}

.box-blogdetail-01 .alignleft {
  float: left;
}

@media screen and (max-width: 414px) {
  .box-blogdetail-01 .alignleft {
    float: none;
  }
}

.box-blogdetail-01 .aligncenter {
  margin-right: auto;
  margin-left: auto;
}

.cf .left-box {
  width: 50%;
  float: left;
}

@media screen and (max-width: 768px) {
  .cf .left-box {
    float: none;
    width: 100%;
  }
}

.cf .right-box {
  width: 50%;
  float: right;
}

@media screen and (max-width: 768px) {
  .cf .right-box {
    float: none;
    width: 100%;
  }
}

/*-------------------------------------------
title
--------------------------------------------*/
.title01 {
  font: bold 3rem "Noto Sans JP", sans-serif;
  color: #514985;
  margin: 0 0 37px;
  letter-spacing: .2rem;
  display: block;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .title01 {
    font: bold 2.8rem "Noto Sans JP", sans-serif;
  }
}

@media screen and (max-width: 414px) {
  .title01 {
    font: bold 2.5rem "Noto Sans JP", sans-serif;
    margin: 0 0 22px;
  }
}

.title01 span {
  display: block;
  font: 900 1.4rem "Catamaran", sans-serif;
  color: #7f77a1;
  margin: 3px 0 0 0;
}

@media screen and (max-width: 414px) {
  .title01 span {
    font: 900 1.2rem "Catamaran", sans-serif;
  }
}

.title02 {
  font: normal 2rem "Noto Sans JP", sans-serif;
  color: #fff;
  display: block;
  text-align: center;
  margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
  .title02 {
    font-size: 1.8rem;
  }
}

.title03 {
  font: bold 2.6rem "Noto Sans JP", sans-serif;
  color: #463f77;
  display: block;
  text-align: center;
  margin: 0 0 50px;
  letter-spacing: .3rem;
}

@media screen and (max-width: 768px) {
  .title03 {
    font: bold 2.1rem "Noto Sans JP", sans-serif;
    margin: 0 0 30px;
  }
}

.title03::after {
  content: '';
  display: block;
  text-align: center;
  width: 30px;
  height: 15px;
  margin: 5px auto 0;
  background: #e8dad0;
  background: -moz-linear-gradient(-45deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -webkit-linear-gradient(-45deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -webkit-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -o-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: linear-gradient(135deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e8dad0', endColorstr='#d9d3ee', GradientType=1);
  -webkit-transform: rotate(-5deg);
  -ms-transform: rotate(-5deg);
  transform: rotate(-5deg);
  line-height: 1;
}

.title04 {
  margin: 0 0 20px;
  font: bold 2rem "Noto Sans JP", sans-serif;
  color: #463f77;
}

.title04 span {
  color: #463f77;
  border: 1px solid #463f77;
  border-radius: 30px;
  padding: 10px 20px;
  line-height: 1;
  margin: 0 20px 0 0;
  font-size: 1.6rem;
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  .title04 span {
    font-size: 1.2rem;
    width: 140px;
    padding: 5px 0;
    display: block;
    text-align: center;
    margin: 0 0 5px;
  }
}

@media screen and (max-width: 768px) {
  .title04 {
    font: bold 1.6rem "Noto Sans JP", sans-serif;
  }
}

.title04::after {
  margin: 21px 0 0 0;
  content: '';
  display: block;
  width: 100%;
  height: 3px;
  background: #e8dad0;
  background: -moz-linear-gradient(-45deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -webkit-linear-gradient(-45deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -webkit-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -o-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: linear-gradient(135deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e8dad0', endColorstr='#d9d3ee', GradientType=1);
}

@media screen and (max-width: 768px) {
  .title04::after {
    margin: 15px 0 0 0;
  }
}

.title05 {
  color: #463f77;
  font: bold 2rem "Noto Sans JP", sans-serif;
  padding: 0 0 20px;
  margin: 0 0 40px;
  border-bottom: 3px solid #e8e4f4;
  position: relative;
}

@media screen and (max-width: 768px) {
  .title05 {
    font-size: 1.8rem;
    padding: 0 0 15px;
    margin: 0 0 25px;
  }
}

.title05 span {
  position: absolute;
  right: 0;
  color: inherit;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 1.2rem;
  font-weight: normal;
  top: 50%;
  -webkit-transform: translateY(-20%);
  -ms-transform: translateY(-20%);
  transform: translateY(-20%);
}

@media screen and (max-width: 414px) {
  .title05 span {
    position: inherit;
    display: block;
    top: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}

.title05 .cus-tarm {
  position: inherit;
  right: 0;
}

.title06 {
  font-size: 1.8rem;
  font-weight: bold;
  color: #463f77;
}

@media screen and (max-width: 768px) {
  .title06 {
    font-size: 1.5rem;
  }
}

.title07 {
  font-size: 2.4rem;
  font-weight: bold;
  color: #4e4a65;
  margin: 0 0 20px;
  position: relative;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .title07 {
    font-size: 1.6rem;
  }
}

.title07 span {
  position: absolute;
  right: 0;
  font-size: 1.3rem;
  font-weight: normal;
}

.unit-title-08 {
  font-size: 3rem;
  color: #463f77;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .unit-title-08 {
    font-size: 5vw;
  }
}

@media screen and (max-width: 414px) {
  .unit-title-08 {
    font-size: 5.5vw;
  }
}

/*-------------------------------------------
btn
--------------------------------------------*/
.btn01 {
  font: 900 1.6rem "Catamaran", sans-serif;
  color: #fff;
  border: 4px solid #fff;
  padding: 24px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 200px;
  text-align: center;
  position: relative;
  line-height: 1;
  display: block;
  margin: 0 auto;
}

.btn01.size01 {
  padding: 16px 0;
}

@media screen and (max-width: 768px) {
  .btn01.size01 {
    padding: 18px 0;
  }
}

.btn01.size02 {
  width: 250px;
}

.btn01.size03 {
  width: 435px;
  padding: 26px 0;
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  .btn01.size03 {
    width: 300px;
  }
}

@media screen and (max-width: 414px) {
  .btn01.size03 {
    width: 280px;
  }
}

.btn01.btn-color01 {
  color: #514985;
  border-color: #514985;
}

.btn01.btn-color01::after {
  background: #514985;
}

.btn01::after {
  content: '';
  width: 40px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: -12px;
  background: #fff;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

@media screen and (max-width: 768px) {
  .btn01::after {
    height: 2px;
  }
}

.btn01:hover::after {
  width: 0;
}

a:hover .btn01::after {
  width: 0;
}

.btn02 {
  margin: 30px 0 0 0;
  border: 0;
  font: 900 2rem "Catamaran", sans-serif;
  position: relative;
  width: 580px;
  height: 100px;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-perspective: 500px;
  perspective: 500px;
  letter-spacing: 0.2rem;
}

@media screen and (max-width: 768px) {
  .btn02 {
    height: 80px;
    margin: 20px 0 0 0;
  }
}

.btn02:hover {
  opacity: 1;
}

.btn02:hover div {
  color: #3c3282;
  border: 4px solid #3c3282;
  background-color: #fff;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.btn02:hover div:nth-child(1) {
  -webkit-transform: rotateX(0deg);
  transform: rotateX(0deg);
  z-index: 1;
}

.btn02:hover div:nth-child(2) {
  -webkit-transform: rotateX(-90deg);
  transform: rotateX(-90deg);
  color: #3c3282;
}

.btn02 div {
  position: absolute;
  text-align: center;
  width: 100%;
  height: 100px;
  line-height: 100px;
  max-height: 100px;
  pointer-events: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  background-color: #3c3282;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-transform-origin: 50% 50% -49px;
  -ms-transform-origin: 50% 50% -49px;
  transform-origin: 50% 50% -49px;
}

@media screen and (max-width: 768px) {
  .btn02 div {
    max-height: 80px;
    line-height: 80px;
    -webkit-transform-origin: 50% 50% -39px;
    -ms-transform-origin: 50% 50% -39px;
    transform-origin: 50% 50% -39px;
  }
}

.btn02 div:nth-child(1) {
  -webkit-transform: rotateX(90deg);
  transform: rotateX(90deg);
}

.btn02 div:nth-child(2) {
  -webkit-transform: rotateX(0deg);
  transform: rotateX(0deg);
}

.btn03 {
  border: 2.6px solid #fff;
  font: 900 2rem "Catamaran", sans-serif;
  color: #fff;
  position: relative;
  width: 100%;
  padding: 25px 0;
  display: block;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: 0.2rem;
  line-height: 1;
}

.btn04 {
  color: #fff;
  font-size: 1.5rem;
  padding: 10px 32px;
  margin: 0 10px;
}

/*-------------------------------------------
list
--------------------------------------------*/
.list01 li {
  padding: 0 0 0 20px;
  position: relative;
}

.list01 li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 2px;
  background: #514985;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.list02 li {
  text-align: center;
}

.list02 li a {
  color: #cbc4e5;
  font-size: 1.5rem;
}

.list02 li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 3px;
  background: #cbc4e5;
  position: relative;
  top: -4px;
  margin: 0 10px 0 0;
}

.list03 {
  margin: 0 0 40px;
}

.list03 li a {
  padding: 18px 38px;
}

@media screen and (max-width: 768px) {
  .list03 li a {
    padding: 30px;
  }
}

@media screen and (max-width: 414px) {
  .list03 li a {
    padding: 20px 15px;
  }
}

.list03 li time {
  font-size: 1.5rem;
  font-weight: bold;
  margin: 0 23px 0 20px;
}

@media screen and (max-width: 414px) {
  .list03 li time {
    font-size: 1.2rem;
    margin: 0 0 0 15px;
  }
}

.list03 li h3 {
  font-size: 1.5rem;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .list03 li h3 {
    margin: 12px 0 0 0;
  }
}

@media screen and (max-width: 768px) {
  .list03 li h3 {
    font-size: 1.3rem;
  }
}

.list03 li:nth-of-type(odd) {
  background: #f8f7fb;
}

.list03 li .gradation-wrap, .list03 li .title05 .cus-tarm, .title05 .list03 li .cus-tarm {
  font-size: 1.2rem;
  width: 130px;
}

.gradation-wrap, .title05 .cus-tarm {
  line-height: 1;
  width: 130px;
  border-radius: 20px;
  padding: 8px 0;
  display: inline-block;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  background: #e8dad0;
  /* Old browsers */
  background: -moz-linear-gradient(-45deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -webkit-linear-gradient(-45deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -webkit-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -o-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: linear-gradient(135deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e8dad0', endColorstr='#d9d3ee', GradientType=1);
}

@media screen and (max-width: 768px) {
  .gradation-wrap, .title05 .cus-tarm {
    width: 180px;
    padding: 6px 0;
  }
}

.list04 li {
  float: left;
  max-width: 320px;
  background: #514985;
  margin: 0 0 20px;
}

@media screen and (max-width: 768px) {
  .list04 li {
    max-width: inherit;
  }
}

@media screen and (max-width: 414px) {
  .list04 li {
    margin: 0 0 42px;
  }
}

.list04 li:last-child {
  margin: 0;
}

.list04 li > a {
  display: block;
}

.list04 li > a img {
  background: #514985;
}

@media screen and (max-width: 768px) {
  .list04 li > a img {
    width: 100%;
  }
}

.list04 li div {
  padding: 25px 28px 40px;
}

@media screen and (max-width: 768px) {
  .list04 li div {
    padding: 35px;
  }
}

@media screen and (max-width: 414px) {
  .list04 li div {
    padding: 20px 20px 30px;
  }
}

.list04 li div p {
  color: #aaa1d0;
  margin: 0 0 20px;
  font-size: 1.5rem;
}

@media screen and (max-width: 414px) {
  .list04 li div p {
    font-size: 1.4rem;
  }
}

.list04 li:first-child {
  position: relative;
  display: block;
  width: 100%;
  float: none;
  max-width: inherit;
}

.list04 li:first-child .left-box {
  width: 450px;
  padding: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .list04 li:first-child .left-box {
    width: 100%;
    padding: 40px;
  }
}

@media screen and (max-width: 414px) {
  .list04 li:first-child .left-box {
    padding: 20px 20px 30px;
  }
}

.list04 li:first-child a.posi01 {
  position: absolute;
  bottom: 0;
  right: 0;
  display: inline-block;
  background: #514985;
}

.list04 li:first-child a.posi01 div {
  padding: 0;
  background: #514985;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.list04 li:first-child a.posi01:hover {
  opacity: 1;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.list04 li:first-child a.posi01:hover img {
  opacity: .7;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

@media screen and (max-width: 768px) {
  .list04 li:first-child a.posi01 {
    position: inherit;
    bottom: inherit;
    right: inherit;
    width: 100%;
    height: auto;
  }
}

.list04 li:nth-of-type(3) {
  margin: 0 20px 20px;
}

@media screen and (max-width: 768px) {
  .list04 li:nth-of-type(3) {
    margin: 0 0 20px;
  }
}

@media screen and (max-width: 414px) {
  .list04 li:nth-of-type(3) {
    margin: 0 0 42px;
  }
}

.list04 .txt-center {
  padding: 0;
}

.list05 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 0 0 40px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .list05 {
    display: block;
  }
}

.list05 li {
  max-width: 245px;
  background: #fff;
  margin: 0 6px 20px 0;
}

.list05 li a {
  display: block;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .list05 li {
    margin: 0 0 20px 0;
    max-width: inherit;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 100%;
  }
}

.list05 li:last-child {
  margin: 0 0 20px 0;
}

@media screen and (max-width: 768px) {
  .list05 li img {
    width: 46%;
    float: left;
  }
}

@media screen and (max-width: 414px) {
  .list05 li img {
    width: 100%;
    float: none;
  }
}

.list05 li div {
  padding: 35px 21px 38px;
}

@media screen and (max-width: 768px) {
  .list05 li div {
    position: relative;
    padding: 3% 3% 0;
    float: right;
    width: 54%;
    height: 100%;
  }
}

@media screen and (max-width: 768px) and (max-width: 414px) {
  .list05 li div {
    width: 100%;
    float: none;
    padding: 30px;
  }
}

.list05 li div h3 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  margin: 0 0 20px;
  color: #4e4a65;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .list05 li div h3 {
    font-size: 1.4rem;
    margin: 0 0 10px;
  }
}

@media screen and (max-width: 414px) {
  .list05 li div h3 {
    font-size: 2rem;
    margin: 0 0 10px;
  }
}

.list05 li div h3 span {
  font-size: 1.3rem;
  display: block;
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  .list05 li div h3 span {
    font-size: 1.2rem;
  }
}

.list05 li div p {
  margin: 0 0 20px;
  font-size: 1.4rem;
  text-align: justify;
}

@media screen and (max-width: 768px) {
  .list05 li div p {
    font-size: 1.2rem;
    margin: 0 0 10px;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .list05 li div p {
    font-size: 1.4rem;
  }
}

.list05 li div .gradation-wrap, .list05 li div .title05 .cus-tarm, .title05 .list05 li div .cus-tarm {
  font-weight: bold;
  width: 100%;
  margin: 0 0 18px;
  padding: 8px 0;
  font-size: 1.3rem;
}

@media screen and (max-width: 768px) {
  .list05 li div .gradation-wrap, .list05 li div .title05 .cus-tarm, .title05 .list05 li div .cus-tarm {
    font-size: 1.2rem;
    margin: 0 0 10px;
    padding: 3px 0;
  }
}

@media screen and (max-width: 414px) {
  .list05 li div .gradation-wrap, .list05 li div .title05 .cus-tarm, .title05 .list05 li div .cus-tarm {
    font-size: 1.2rem;
    margin: 0 auto 10px;
    padding: 5px 0;
    width: 150px;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .list05 li div .btn01 {
    width: 85%;
    padding: 10px 0;
    position: absolute;
    bottom: 10px;
  }
}

@media screen and (max-width: 414px) {
  .list05 li div .btn01 {
    padding: 13px 0;
    position: inherit;
    bottom: inherit;
  }
}

/*-------------------------------------------
header
--------------------------------------------*/
#header {
  display: block;
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #3c3282;
  max-height: 80px;
}

@media screen and (max-width: 768px) {
  #header {
    width: 100%;
  }
}

#header.is-open .navbutton:before {
  display: block;
}

@media screen and (max-width: 768px) {
  #header .header-inner {
    z-index: 1;
    width: 100%;
    height: 60px;
  }
}

#header .header-inner .logo {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  display: inline-block;
  height: 100%;
  z-index: 1000;
}

@media screen and (max-width: 768px) {
  #header .header-inner .logo {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    left: 0;
  }
}

#header .header-inner .logo a {
  background: #fff;
  padding: 23px 0 25px;
  position: relative;
  max-height: 80px;
}

@media screen and (max-width: 768px) {
  #header .header-inner .logo a {
    padding: 15px 0 15px 15px;
    height: 100%;
  }
}

@media screen and (max-width: 414px) {
  #header .header-inner .logo a {
    padding: 20px 0 20px 15px;
    height: 100%;
  }
}

#header .header-inner .logo a::before {
  content: "";
  border-bottom: 80px solid #fff;
  border-left: 25px solid transparent;
  position: absolute;
  top: 0;
  left: -25px;
}

@media screen and (max-width: 768px) {
  #header .header-inner .logo a::before {
    display: none;
  }
}

#header .header-inner .logo a::after {
  content: "";
  border-bottom: 80px solid transparent;
  border-left: 25px solid #fff;
  position: absolute;
  top: 0;
  right: -25px;
}

@media screen and (max-width: 768px) {
  #header .header-inner .logo a::after {
    border-bottom: 60px solid transparent;
    border-left: 15px solid #fff;
    position: absolute;
    top: 0;
    right: -15px;
  }
}

@media screen and (max-width: 768px) {
  #header .header-inner .logo a img {
    width: 200px;
    height: auto;
  }
}

@media screen and (max-width: 414px) {
  #header .header-inner .logo a img {
    width: 150px;
    height: auto;
  }
}

@media screen and (max-width: 768px) {
  #header .globalNav {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
}

#header .globalNav .nav-inner {
  position: relative;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner {
    padding-top: 60px;
    padding-bottom: 0;
    height: 100vh;
    display: block;
    width: 100%;
  }
}

#header .globalNav .nav-inner > ul {
  width: 1000px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto;
}

#header .globalNav .nav-inner > ul > div {
  text-align: center;
  margin: 40px 0;
}

#header .globalNav .nav-inner > ul > div .tel {
  color: #fff;
  font-size: 2.8rem;
  line-height: 1;
}

#header .globalNav .nav-inner > ul > div p {
  color: #8278be;
  margin: 3px 0 20px;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul {
    overflow-y: scroll;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #3c3282;
  }
}

#header .globalNav .nav-inner > ul > li {
  -webkit-transition: all .3s linear;
  -o-transition: all .3s linear;
  transition: all .3s linear;
}

#header .globalNav .nav-inner > ul > li:nth-of-type(1), #header .globalNav .nav-inner > ul > li:nth-of-type(2), #header .globalNav .nav-inner > ul > li:nth-of-type(3) {
  margin: 0 60px 0 0;
}

#header .globalNav .nav-inner > ul > li:nth-of-type(4), #header .globalNav .nav-inner > ul > li:nth-of-type(5), #header .globalNav .nav-inner > ul > li:nth-of-type(6) {
  margin: 0 0 0 60px;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li:nth-of-type(4), #header .globalNav .nav-inner > ul > li:nth-of-type(5), #header .globalNav .nav-inner > ul > li:nth-of-type(6) {
    margin: 0;
  }
}

#header .globalNav .nav-inner > ul > li:nth-of-type(4) {
  margin: 0 0 0 281px;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li:nth-of-type(4) {
    margin: 0;
  }
}

#header .globalNav .nav-inner > ul > li:nth-of-type(6):hover::after {
  width: 95px;
}

#header .globalNav .nav-inner > ul > li::after {
  content: "";
  position: absolute;
  bottom: 1px;
  width: 65px;
  height: 0;
  background: #6757a0;
  -webkit-transition: all .2s linear;
  -o-transition: all .2s linear;
  transition: all .2s linear;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li::after {
    display: none;
  }
}

#header .globalNav .nav-inner > ul > li:hover .megamenu {
  max-height: 75px;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li:hover .megamenu {
    max-height: inherit;
  }
}

#header .globalNav .nav-inner > ul > li:hover::after {
  height: 4px;
}

#header .globalNav .nav-inner > ul > li .megamenu {
  max-height: 0;
  background: #6757a0;
  position: absolute;
  top: 80px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  width: 100%;
  left: 0;
  -webkit-transition: all .2s linear;
  -o-transition: all .2s linear;
  transition: all .2s linear;
  z-index: 999;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li .megamenu {
    position: relative;
    background: #33296f;
    display: block;
    max-height: 0;
    opacity: 1;
    top: 0;
  }
}

#header .globalNav .nav-inner > ul > li .megamenu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 1000px;
  margin: 0 auto;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li .megamenu ul {
    display: block;
    width: 100%;
    height: 0;
  }
}

#header .globalNav .nav-inner > ul > li .megamenu ul li {
  width: 25%;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li .megamenu ul li {
    width: 100%;
    text-align: left;
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li .megamenu ul li::before {
    display: none;
  }
}

#header .globalNav .nav-inner > ul > li .megamenu ul li a {
  padding: 25px 0;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li .megamenu ul li a {
    padding: 20px 15px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li .megamenu ul li a::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 3px;
    background: #cbc4e5;
    position: relative;
    top: -4px;
    margin: 0 10px 0 0;
  }
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li {
    width: 100%;
    border-bottom: 1px solid #4f4694;
    text-align: left;
  }
}

#header .globalNav .nav-inner > ul > li > a,
#header .globalNav .nav-inner > ul > li > span {
  padding: 26.5px 0;
  display: block;
  position: relative;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li > a,
  #header .globalNav .nav-inner > ul > li > span {
    background-color: #3c3282;
    padding: 15px 15px 12px;
    color: #ffffff;
  }
}

#header .globalNav .nav-inner > ul > li > a:hover,
#header .globalNav .nav-inner > ul > li > span:hover {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li > a:hover,
  #header .globalNav .nav-inner > ul > li > span:hover {
    color: #ffffff;
  }
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li > a:before,
  #header .globalNav .nav-inner > ul > li > span:before {
    content: "\f105";
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: FontAwesome;
    font-size: 2.0rem;
    color: #ffffff;
  }
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li > span::before {
    content: "\f107";
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: FontAwesome;
    font-size: 2.0rem;
    color: #ffffff;
  }
}

#header .globalNav .nav-inner > ul > li .title {
  display: block;
  font-size: 1.6rem;
}

#header .globalNav .nav-inner > ul > li .ruby {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  font-style: italic;
  letter-spacing: 0.2em;
}

#header .globalNav .nav-inner > ul > li.sp-menu.is-open {
  -webkit-transition: all .4s linear;
  -o-transition: all .4s linear;
  transition: all .4s linear;
}

@media screen and (max-width: 768px) {
  #header .globalNav .nav-inner > ul > li.sp-menu.is-open > span::before {
    content: "\f106" !important;
  }
}

#header .globalNav .nav-inner > ul > li.sp-menu.is-open > .megamenu {
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  max-height: inherit;
  display: block;
  opacity: 1;
  height: 100%;
}

#header .globalNav .nav-inner > ul > li.sp-menu.is-open > .megamenu ul {
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  height: 100%;
}

#header .func-btn {
  display: none;
}

@media screen and (max-width: 768px) {
  #header .func-btn {
    overflow: hidden;
    text-indent: 200%;
    white-space: nowrap;
    display: block;
    z-index: 102;
    position: absolute;
    top: 0;
    width: 60px;
    height: 60px;
    background: no-repeat center center transparent;
    background-size: contain;
  }
}

#header .func-btn a {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  #header .telbutton {
    right: 60px;
    background-image: url(images/common/tel_btn.svg);
  }
}

@media screen and (max-width: 768px) {
  #header .navbutton {
    right: 0;
    background-image: url(images/common/menu_btn.svg);
  }
}

#header .navbutton:before {
  display: none;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(images/common/menu_btn_close.svg) no-repeat center center transparent;
  background-size: contain;
}

/*-------------------------------------------
footer
--------------------------------------------*/
#contact {
  padding: 250px 0 300px;
  background: url(images/common/bg-contact.jpg) no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 414px) {
  #contact {
    background: url(images/common/bg-contact-sp.jpg) no-repeat;
    background-size: cover;
    padding: 140px 0 180px;
    background-position: 50% 100%;
  }
}

#contact::after {
  content: "";
  display: block;
  width: 120%;
  height: 300px;
  background: #d9d7ea;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: rotate(-7deg);
  -ms-transform: rotate(-7deg);
  transform: rotate(-7deg);
  position: absolute;
  bottom: 15px;
  right: -15%;
}

@media screen and (max-width: 768px) {
  #contact::after {
    height: 150px;
  }
}

@media screen and (max-width: 414px) {
  #contact::after {
    bottom: -5px;
  }
}

#contact p {
  margin: 0 0 27px;
}

@media screen and (max-width: 414px) {
  #contact p {
    margin: 0 0 15px;
  }
}

#contact .tel {
  line-height: 1;
}

@media screen and (max-width: 768px) {
  #contact .tel {
    font-size: 3.4rem;
  }
}

@media screen and (max-width: 414px) {
  #contact .tel {
    font-size: 2.7rem;
  }
}

#contact small {
  display: block;
  letter-spacing: .2rem;
}

@media screen and (max-width: 768px) {
  #contact .btn02 {
    width: 90%;
  }
}

#contact #pageTop {
  position: absolute;
  bottom: 250px;
  right: 0;
  width: 75px;
  border: 4px solid #514985;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
  z-index: 90;
}

@media screen and (max-width: 768px) {
  #contact #pageTop {
    left: 50%;
    -webkit-transform: translate(-50%, 500%);
    -ms-transform: translate(-50%, 500%);
    transform: translate(-50%, 500%);
    bottom: 50%;
  }
}

@media screen and (max-width: 414px) {
  #contact #pageTop {
    -webkit-transform: translate(-50%, 320%);
    -ms-transform: translate(-50%, 320%);
    transform: translate(-50%, 320%);
  }
}

#contact #pageTop a {
  font: 900 1.6rem "Catamaran", sans-serif;
  line-height: 1;
  color: #514985;
  position: relative;
  display: block;
  text-align: center;
  padding: 26px 0;
}

#contact #pageTop a::before {
  content: '';
  width: 1px;
  height: 25px;
  position: absolute;
  top: -12px;
  left: 50%;
  background: #514985;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

@media screen and (max-width: 768px) {
  #contact #pageTop a::before {
    width: 2px;
  }
}

#contact #pageTop a:hover::before {
  height: 0;
}

#footer {
  overflow: hidden;
  position: relative;
  display: block;
  background: #d9d7ea;
}

#footer > .wrapper > .flex li, .bg2 #footer > .wrapper > ol li, #footer > .wrapper > .box-wrap06 li, .sampling .flow #footer > .wrapper > ul li, .sampling .bg03 .cf #footer > .wrapper > dl li {
  width: 28%;
}

@media screen and (max-width: 768px) {
  #footer > .wrapper > .flex li, .bg2 #footer > .wrapper > ol li, #footer > .wrapper > .box-wrap06 li, .sampling .flow #footer > .wrapper > ul li, .sampling .bg03 .cf #footer > .wrapper > dl li {
    width: 100%;
    text-align: center;
    margin: 0 0 20px;
  }
}

#footer > .wrapper > .flex li:nth-of-type(2), .bg2 #footer > .wrapper > ol li:nth-of-type(2), #footer > .wrapper > .box-wrap06 li:nth-of-type(2), .sampling .flow #footer > .wrapper > ul li:nth-of-type(2), .sampling .bg03 .cf #footer > .wrapper > dl li:nth-of-type(2) {
  border-left: 1px solid #aba8b5;
  border-right: 1px solid #aba8b5;
  width: 40%;
  padding: 0 20px;
  margin: 0 20px;
}

@media screen and (max-width: 768px) {
  #footer > .wrapper > .flex li:nth-of-type(2), .bg2 #footer > .wrapper > ol li:nth-of-type(2), #footer > .wrapper > .box-wrap06 li:nth-of-type(2), .sampling .flow #footer > .wrapper > ul li:nth-of-type(2), .sampling .bg03 .cf #footer > .wrapper > dl li:nth-of-type(2) {
    width: 100%;
    padding: 0;
    margin: 0;
    border: none;
  }
}

#footer > .wrapper > .flex li:nth-of-type(2) address, .bg2 #footer > .wrapper > ol li:nth-of-type(2) address, #footer > .wrapper > .box-wrap06 li:nth-of-type(2) address, .sampling .flow #footer > .wrapper > ul li:nth-of-type(2) address, .sampling .bg03 .cf #footer > .wrapper > dl li:nth-of-type(2) address {
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  #footer > .wrapper > .flex li:nth-of-type(2) address, .bg2 #footer > .wrapper > ol li:nth-of-type(2) address, #footer > .wrapper > .box-wrap06 li:nth-of-type(2) address, .sampling .flow #footer > .wrapper > ul li:nth-of-type(2) address, .sampling .bg03 .cf #footer > .wrapper > dl li:nth-of-type(2) address {
    text-align: center;
  }
}

#footer > .wrapper > .flex li:last-child, .bg2 #footer > .wrapper > ol li:last-child, #footer > .wrapper > .box-wrap06 li:last-child, .sampling .flow #footer > .wrapper > ul li:last-child, .sampling .bg03 .cf #footer > .wrapper > dl li:last-child {
  text-align: right;
}

@media screen and (max-width: 768px) {
  #footer > .wrapper > .flex li:last-child, .bg2 #footer > .wrapper > ol li:last-child, #footer > .wrapper > .box-wrap06 li:last-child, .sampling .flow #footer > .wrapper > ul li:last-child, .sampling .bg03 .cf #footer > .wrapper > dl li:last-child {
    text-align: center;
  }
}

#footer > .wrapper > .flex li .tel, .bg2 #footer > .wrapper > ol li .tel, #footer > .wrapper > .box-wrap06 li .tel, .sampling .flow #footer > .wrapper > ul li .tel, .sampling .bg03 .cf #footer > .wrapper > dl li .tel {
  font-size: 2.5rem;
  line-height: 1.9;
}

@media screen and (max-width: 768px) {
  #footer > .wrapper > .flex li .tel, .bg2 #footer > .wrapper > ol li .tel, #footer > .wrapper > .box-wrap06 li .tel, .sampling .flow #footer > .wrapper > ul li .tel, .sampling .bg03 .cf #footer > .wrapper > dl li .tel {
    font-size: 3.4rem;
  }
}

@media screen and (max-width: 414px) {
  #footer > .wrapper > .flex li .tel, .bg2 #footer > .wrapper > ol li .tel, #footer > .wrapper > .box-wrap06 li .tel, .sampling .flow #footer > .wrapper > ul li .tel, .sampling .bg03 .cf #footer > .wrapper > dl li .tel {
    font-size: 2.8rem;
  }
}

#footer .cf {
  margin: 50px 0 0 0;
}

#footer .cf .left-box {
  width: 80%;
}

@media screen and (max-width: 768px) {
  #footer .cf .left-box {
    width: 100%;
  }
}

#footer .cf .left-box .flex, #footer .cf .left-box .bg2 ol, .bg2 #footer .cf .left-box ol, #footer .cf .left-box .box-wrap06, #footer .cf .left-box .sampling .flow ul, .sampling .flow #footer .cf .left-box ul, #footer .sampling .bg03 .cf .left-box dl, .sampling .bg03 #footer .cf .left-box dl {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

@media screen and (max-width: 768px) {
  #footer .cf .left-box .flex, #footer .cf .left-box .bg2 ol, .bg2 #footer .cf .left-box ol, #footer .cf .left-box .box-wrap06, #footer .cf .left-box .sampling .flow ul, .sampling .flow #footer .cf .left-box ul, #footer .sampling .bg03 .cf .left-box dl, .sampling .bg03 #footer .cf .left-box dl {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

#footer .cf .left-box .flex dl, #footer .cf .left-box .bg2 ol dl, .bg2 #footer .cf .left-box ol dl, #footer .cf .left-box .box-wrap06 dl, #footer .cf .left-box .sampling .flow ul dl, .sampling .flow #footer .cf .left-box ul dl, #footer .sampling .bg03 .cf .left-box dl dl, .sampling .bg03 #footer .cf .left-box dl dl {
  width: 33%;
  margin: 0 0 30px;
}

@media screen and (max-width: 768px) {
  #footer .cf .left-box .flex dl, #footer .cf .left-box .bg2 ol dl, .bg2 #footer .cf .left-box ol dl, #footer .cf .left-box .box-wrap06 dl, #footer .cf .left-box .sampling .flow ul dl, .sampling .flow #footer .cf .left-box ul dl, #footer .sampling .bg03 .cf .left-box dl dl, .sampling .bg03 #footer .cf .left-box dl dl {
    width: 50%;
  }
}

@media screen and (max-width: 768px) {
  #footer .cf .left-box .flex dl:nth-of-type(2), #footer .cf .left-box .bg2 ol dl:nth-of-type(2), .bg2 #footer .cf .left-box ol dl:nth-of-type(2), #footer .cf .left-box .box-wrap06 dl:nth-of-type(2), #footer .cf .left-box .sampling .flow ul dl:nth-of-type(2), .sampling .flow #footer .cf .left-box ul dl:nth-of-type(2), #footer .sampling .bg03 .cf .left-box dl dl:nth-of-type(2), .sampling .bg03 #footer .cf .left-box dl dl:nth-of-type(2), #footer .cf .left-box .flex dl:nth-of-type(4), #footer .cf .left-box .bg2 ol dl:nth-of-type(4), .bg2 #footer .cf .left-box ol dl:nth-of-type(4), #footer .cf .left-box .box-wrap06 dl:nth-of-type(4), #footer .cf .left-box .sampling .flow ul dl:nth-of-type(4), .sampling .flow #footer .cf .left-box ul dl:nth-of-type(4), #footer .sampling .bg03 .cf .left-box dl dl:nth-of-type(4), .sampling .bg03 #footer .cf .left-box dl dl:nth-of-type(4), #footer .cf .left-box .flex dl:nth-of-type(6), #footer .cf .left-box .bg2 ol dl:nth-of-type(6), .bg2 #footer .cf .left-box ol dl:nth-of-type(6), #footer .cf .left-box .box-wrap06 dl:nth-of-type(6), #footer .cf .left-box .sampling .flow ul dl:nth-of-type(6), .sampling .flow #footer .cf .left-box ul dl:nth-of-type(6), #footer .sampling .bg03 .cf .left-box dl dl:nth-of-type(6), .sampling .bg03 #footer .cf .left-box dl dl:nth-of-type(6) {
    padding: 0 0 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
}

#footer .cf .left-box .flex dl dt, #footer .cf .left-box .bg2 ol dl dt, .bg2 #footer .cf .left-box ol dl dt, #footer .cf .left-box .box-wrap06 dl dt, #footer .cf .left-box .sampling .flow ul dl dt, .sampling .flow #footer .cf .left-box ul dl dt, #footer .sampling .bg03 .cf .left-box dl dl dt, .sampling .bg03 #footer .cf .left-box dl dl dt {
  font-weight: bold;
  margin: 0 0 15px;
  color: #323243;
}

#footer .cf .left-box .flex dl dd .list01 li a, #footer .cf .left-box .bg2 ol dl dd .list01 li a, .bg2 #footer .cf .left-box ol dl dd .list01 li a, #footer .cf .left-box .box-wrap06 dl dd .list01 li a, #footer .cf .left-box .sampling .flow ul dl dd .list01 li a, .sampling .flow #footer .cf .left-box ul dl dd .list01 li a, #footer .sampling .bg03 .cf .left-box dl dl dd .list01 li a, .sampling .bg03 #footer .cf .left-box dl dl dd .list01 li a {
  font-size: 1.3rem;
}

@media screen and (max-width: 768px) {
  #footer .cf .left-box .flex dl dd .list01 li a, #footer .cf .left-box .bg2 ol dl dd .list01 li a, .bg2 #footer .cf .left-box ol dl dd .list01 li a, #footer .cf .left-box .box-wrap06 dl dd .list01 li a, #footer .cf .left-box .sampling .flow ul dl dd .list01 li a, .sampling .flow #footer .cf .left-box ul dl dd .list01 li a, #footer .sampling .bg03 .cf .left-box dl dl dd .list01 li a, .sampling .bg03 #footer .cf .left-box dl dl dd .list01 li a {
    font-size: 1.2rem;
  }
}

#footer .cf .right-box {
  width: inherit;
}

@media screen and (max-width: 768px) {
  #footer .cf .right-box ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media screen and (max-width: 414px) {
  #footer .cf .right-box ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 768px) {
  #footer .cf .right-box ul li:not(:last-of-type) {
    margin-right: 10px;
  }
}

@media screen and (max-width: 414px) {
  #footer .cf .right-box ul li {
    width: 49%;
  }
  #footer .cf .right-box ul li:not(:last-of-type) {
    margin-right: 0;
  }
}

#footer .cf .right-box ul img {
  margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
  #footer {
    width: 100%;
  }
}

#footer .copyright {
  margin: 50px 0 0 0;
  display: block;
  padding: 20px 0;
  background-color: #3c3282;
  font-size: 1.4rem;
  letter-spacing: 0.14em;
  text-align: center;
  color: #d8d3e9;
  border-bottom: 1px solid #d8d3e9;
}

@media screen and (max-width: 768px) {
  #footer .copyright {
    margin: 40px 0 0 0;
  }
}

@media screen and (max-width: 414px) {
  #footer .copyright {
    margin: 30px 0 0 0;
    font-size: 1.2rem;
  }
}

/*-------------------------------------------

top

--------------------------------------------*/
.box-prlogo-01 {
  text-align: center;
  padding: 0px 0 40px 0;
  position: relative;
}

@media screen and (max-width: 768px) {
  .box-prlogo-01 {
    padding: 0 8% 40px 8%;
  }
}

.box-prlogo-01 > .txt-right {
  font-size: 1.3rem;
  margin-bottom: 10px;
}

.box-prlogo-01 h3[class^='unit-title'] {
  background: #fff;
  margin: 0 auto;
  margin-top: -1em;
  margin-bottom: 20px;
  display: inline-block;
  padding: 0 80px;
}

@media screen and (max-width: 768px) {
  .box-prlogo-01 h3[class^='unit-title'] {
    padding: 0 3%;
    top: -5px;
    position: relative;
  }
}

/*-------------------------------------------
mainvisual
--------------------------------------------*/
#mainvisual {
  margin: 80px 0 0 0;
  overflow: hidden;
  position: relative;
  padding: 0;
  background: url(images/top/mainvisual.jpg) no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  #mainvisual {
    margin: 60px 0 0 0;
  }
}

#mainvisual img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  #mainvisual {
    width: 100%;
    height: auto;
  }
}

#mainvisual ul {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

#mainvisual ul li img {
  width: 100% !important;
}

@media screen and (max-width: 768px) {
  #mainvisual ul li img {
    width: 100% !important;
  }
}

#mainvisual .bx-wrapper {
  z-index: 1;
  position: relative;
  width: 100%;
  height: 100%;
}

#mainvisual .bx-controls .bx-pager {
  z-index: 100;
  position: absolute;
  bottom: 26px;
  width: 100%;
  height: 21px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #mainvisual .bx-controls .bx-pager {
    bottom: 7px;
  }
}

#mainvisual .bx-controls .bx-pager .bx-pager-item {
  display: inline-block;
}

#mainvisual .bx-controls .bx-pager .bx-pager-item .bx-pager-link {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  width: 13px;
  height: 13px;
  margin: 0 15px;
  border: 4px solid #ffffff;
  border-radius: 10px;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  #mainvisual .bx-controls .bx-pager .bx-pager-item .bx-pager-link {
    width: 10px;
    height: 10px;
    margin: 0 10px;
    border: 3px solid #ffffff;
  }
}

#mainvisual .bx-controls .bx-pager .bx-pager-item .bx-pager-link.active, #mainvisual .bx-controls .bx-pager .bx-pager-item .bx-pager-link:hover {
  opacity: 1;
  background-color: #514985;
}

@media screen and (max-width: 768px) {
  #mainvisual .bx-controls .bx-controls-direction {
    display: none;
  }
}

#mainvisual .bx-controls .bx-controls-direction a {
  display: block;
  z-index: 100;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 66px;
  height: 66px;
  background-size: contain;
}

#mainvisual .bx-controls .bx-controls-direction a:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-family: FontAwesome;
  font-size: 3.6rem;
  line-height: 1;
  text-align: center;
  color: #ffffff;
}

#mainvisual .bx-controls .bx-controls-direction .bx-prev {
  left: 15px;
}

#mainvisual .bx-controls .bx-controls-direction .bx-prev:before {
  content: "\f053";
}

#mainvisual .bx-controls .bx-controls-direction .bx-next {
  right: 15px;
}

#mainvisual .bx-controls .bx-controls-direction .bx-next:before {
  content: "\f054";
}

#mainvisual .maincatch,
#mainvisual .title-inner {
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -160px);
  -ms-transform: translate(-50%, -160px);
  transform: translate(-50%, -160px);
  text-align: center;
  display: block;
  width: 100%;
}

#mainvisual .maincatch h2,
#mainvisual .maincatch h1,
#mainvisual .title-inner h2,
#mainvisual .title-inner h1 {
  color: #79658b;
  font: 900 5rem "Catamaran", sans-serif;
  margin: 0 0 20px;
  letter-spacing: 1.8px;
}

@media screen and (max-width: 768px) {
  #mainvisual .maincatch h2,
  #mainvisual .maincatch h1,
  #mainvisual .title-inner h2,
  #mainvisual .title-inner h1 {
    font: 900 6.5vw "Catamaran", sans-serif;
  }
}

@media screen and (max-width: 414px) {
  #mainvisual .maincatch h2,
  #mainvisual .maincatch h1,
  #mainvisual .title-inner h2,
  #mainvisual .title-inner h1 {
    margin: 0 0 10px;
    font: 900 6vw "Catamaran", sans-serif;
  }
}

#mainvisual .maincatch h2 span,
#mainvisual .maincatch h1 span,
#mainvisual .title-inner h2 span,
#mainvisual .title-inner h1 span {
  display: block;
  line-height: 1.2;
  background: -webkit-linear-gradient(-45deg, #79658b 0%, #79658e 48%, #7466b2 51%, #7366ba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#mainvisual .maincatch h2 span + span,
#mainvisual .maincatch h1 span + span,
#mainvisual .title-inner h2 span + span,
#mainvisual .title-inner h1 span + span {
  background: -webkit-linear-gradient(-45deg, #79658b 0%, #79658e 48%, #7466b2 51%, #7366ba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#mainvisual .maincatch small,
#mainvisual .title-inner small {
  font: normal 2.6rem "Noto Sans JP", sans-serif;
  color: #79658b;
  background: -webkit-linear-gradient(-45deg, #79658b 0%, #79658e 48%, #7466b2 51%, #7366ba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  #mainvisual .maincatch small,
  #mainvisual .title-inner small {
    font: normal 2rem "Noto Sans JP", sans-serif;
  }
}

@media screen and (max-width: 414px) {
  #mainvisual .maincatch small,
  #mainvisual .title-inner small {
    font: normal 1.6rem "Noto Sans JP", sans-serif;
  }
}

@media screen and (max-width: 768px) {
  #mainvisual .maincatch,
  #mainvisual .title-inner {
    -webkit-transform: translate(-50%, -100%);
    -ms-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
  }
}

@media screen and (max-width: 414px) {
  #mainvisual .maincatch,
  #mainvisual .title-inner {
    -webkit-transform: translate(-50%, -85%);
    -ms-transform: translate(-50%, -85%);
    transform: translate(-50%, -85%);
  }
}

#mainvisual .maincatch {
  -webkit-transform: translate(-50%, -75%);
  -ms-transform: translate(-50%, -75%);
  transform: translate(-50%, -75%);
}

@media screen and (max-width: 768px) {
  #mainvisual .maincatch {
    -webkit-transform: translate(-50%, -75%);
    -ms-transform: translate(-50%, -75%);
    transform: translate(-50%, -75%);
  }
}

@media screen and (max-width: 414px) {
  #mainvisual .maincatch {
    -webkit-transform: translate(-50%, -75%);
    -ms-transform: translate(-50%, -75%);
    transform: translate(-50%, -75%);
  }
}

#mainvisual .subcatch {
  display: block;
}

#mainvisual .subcatch > .con {
  background: #fff;
  -webkit-transform: skewX(-10deg);
  -ms-transform: skewX(-10deg);
  transform: skewX(-10deg);
  font-size: 2.8rem;
  display: inline-block;
  font-weight: bold;
  padding: 0 20px;
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  #mainvisual .subcatch > .con {
    font-size: 2rem;
  }
}

@media screen and (max-width: 414px) {
  #mainvisual .subcatch > .con {
    font-size: 1.8rem;
  }
}

#mainvisual .subcatch > .con span {
  color: #79658b;
  -webkit-transform: skewX(10deg);
  -ms-transform: skewX(10deg);
  transform: skewX(10deg);
  background: -webkit-linear-gradient(-45deg, #79658b 0%, #79658e 48%, #7466b2 51%, #7366ba 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  letter-spacing: 0.1em;
}

/*-------------------------------------------
TOP-business
--------------------------------------------*/
#business {
  margin: -10% 0 0 0;
}

@media screen and (max-width: 768px) {
  #business {
    margin: -20% 0 0 0;
  }
}

@media screen and (max-width: 414px) {
  #business {
    margin: -15.5% 0 0 0;
  }
}

@media screen and (max-width: 768px) {
  #business .btn01 {
    padding: 18px 0;
  }
}

#business .box-prlogo-01 {
  margin-top: 100px;
}

@media screen and (max-width: 768px) {
  #business .box-prlogo-01 {
    margin-top: 50px;
  }
}

#business .bnr-box {
  margin: 80px 0;
}

@media screen and (max-width: 768px) {
  #business .bnr-box {
    margin: 20px 0;
  }
}

.txt-gr01 {
  /*   background: #ffe6ab;
background: -webkit-linear-gradient(top, #ffe6ab 0%,#eee6df 50%,#dfdaeb 51%,#a39ae0 100%);
-webkit-text-fill-color: transparent;
-webkit-background-clip: text; */
  font: 500 3rem "Catamaran", sans-serif;
  display: block;
  text-align: center;
  line-height: 1;
}

/*-------------------------------------------
TOP-service
--------------------------------------------*/
#service {
  padding: 200px 0 300px;
}

@media screen and (max-width: 768px) {
  #service {
    padding: 150px 0 300px;
  }
}

@media screen and (max-width: 414px) {
  #service {
    padding: 150px 0 200px;
    background-position: 100%;
  }
}

#service h2 + img,
#service h2 + img + img {
  margin: 0 0 30px;
}

@media screen and (max-width: 768px) {
  #service .txt-center .btn01 {
    width: 75%;
  }
}

.bg02 {
  background: url(images/common/bg02.png) no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .bg02 {
    background: url(images/common/bg02-sp.png) no-repeat;
    background-size: cover;
  }
}

.bg02::after {
  content: "";
  display: block;
  width: 120%;
  height: 300px;
  background: #fff;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: rotate(-6deg);
  -ms-transform: rotate(-6deg);
  transform: rotate(-6deg);
  position: absolute;
  bottom: 15px;
  right: -15%;
}

@media screen and (max-width: 768px) {
  .bg02::after {
    height: 150px;
  }
}

@media screen and (max-width: 768px) {
  .bg02::after {
    bottom: -5px;
  }
}

/*-------------------------------------------
TOP-about
--------------------------------------------*/
#about {
  margin: 0 0 100px;
}

@media screen and (max-width: 768px) {
  #about .wrapper {
    padding: 0 15px;
  }
}

@media screen and (max-width: 414px) {
  #about .wrapper {
    padding: 0;
  }
}

.bg01,
.home #about.bg01 {
  background: url(images/common/bg-gradation.png) no-repeat;
  background-size: 100% 80%;
  background-position: 0px 110px;
  padding: 0;
}

@media screen and (max-width: 768px) {
  .bg01,
  .home #about.bg01 {
    background-size: 100% 65%;
  }
}

@media screen and (max-width: 414px) {
  .bg01,
  .home #about.bg01 {
    background-size: 100% 50%;
  }
}

.box-wrap01 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.box-wrap01 div {
  margin: 0 0 40px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .box-wrap01 div {
    width: 48.5%;
    margin: 0 0 13px;
  }
}

.box-wrap01 div > a {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  position: relative;
}

.box-wrap01 div > a::after {
  content: '';
  background: rgba(73, 68, 97, 0.9);
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}

.box-wrap01 div > a:hover {
  opacity: 1;
}

.box-wrap01 div > a:hover::after {
  background: rgba(255, 255, 255, 0);
}

.box-wrap01 div > a:hover .btn01 {
  opacity: .7;
}

.box-wrap01 div > a:hover .btn01::after {
  width: 0;
}

.box-wrap01 div .btn01 {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10;
}

@media screen and (max-width: 768px) {
  .box-wrap01 div .btn01 {
    width: 80%;
    padding: 16px 0;
  }
}

@media screen and (max-width: 414px) {
  .box-wrap01 div .btn01 {
    font-size: 1.4rem;
  }
  .box-wrap01 div .btn01::after {
    width: 25px;
  }
}

.box-wrap01.business-wrap div > a {
  height: inherit;
}

.box-wrap01.business-wrap div > a .txt-gr01 {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 38px;
  z-index: 10;
}

@media screen and (max-width: 768px) {
  .box-wrap01.business-wrap div > a .txt-gr01 {
    top: 3px;
    font-size: 1.8rem;
  }
}

.box-wrap01.business-wrap div > a .title02 {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 70px;
  z-index: 10;
  width: 100%;
  display: block;
}

@media screen and (max-width: 768px) {
  .box-wrap01.business-wrap div > a .title02 {
    top: 19px;
    font-size: 1rem;
  }
}

.box-wrap01.business-wrap div > a .btn01 {
  -webkit-transform: translate(-50%, 30%);
  -ms-transform: translate(-50%, 30%);
  transform: translate(-50%, 30%);
}

@media screen and (max-width: 768px) {
  .box-wrap01.business-wrap div > a .btn01 {
    -webkit-transform: translate(-50%, 10%);
    -ms-transform: translate(-50%, 10%);
    transform: translate(-50%, 10%);
    padding: 3px 0;
    width: 60%;
  }
}

.box-wrap01.business-wrap div > a:hover .txt-gr01,
.box-wrap01.business-wrap div > a:hover .title02,
.box-wrap01.business-wrap div > a:hover .btn01 {
  opacity: 0;
}

/*-------------------------------------------
TOP-news
--------------------------------------------*/
#news .wrapper {
  padding: 0;
}

@media screen and (max-width: 768px) {
  #news .wrapper .btn01 {
    width: 75%;
  }
}

/*-------------------------------------------

page

--------------------------------------------*/
.page.home #mainvisual {
  margin: 80px 0 0 0;
}

@media screen and (max-width: 768px) {
  .page.home #mainvisual {
    margin: 60px 0 0 0;
  }
}

.page #mainvisual {
  background: none;
  margin: 80px 0 50px 0;
}

@media screen and (max-width: 768px) {
  .page #mainvisual {
    margin: 60px 0 30px 0;
  }
}

.page #mainvisual .title-inner {
  -webkit-transform: translate(-50%, -100px);
  -ms-transform: translate(-50%, -100px);
  transform: translate(-50%, -100px);
}

@media screen and (max-width: 768px) {
  .page #mainvisual .title-inner {
    -webkit-transform: translate(-50%, -50px);
    -ms-transform: translate(-50%, -50px);
    transform: translate(-50%, -50px);
  }
}

.page #mainvisual .title-inner h1 {
  margin: 0;
  line-height: .5;
}

@media screen and (max-width: 414px) {
  .page #mainvisual .title-inner h1 span {
    font-size: 8vw;
  }
}

.page .underline {
  text-decoration: underline;
}

.page .title03 + img {
  margin: 0 0 40px;
}

.page .title03 + p {
  margin: 0 0 40px;
}

.page .bg01 {
  background-size: 100% 80%;
  background-position: 0px 40px;
  padding: 70px 0;
}

@media screen and (max-width: 768px) {
  .page .bg01 {
    background-size: 100% 80%;
    background-position: 0px 25px;
    padding: 50px 0;
  }
}

/*-------------------------------------------
company
--------------------------------------------*/
.company .box-form-01 {
  margin: 0 auto 120px;
}

@media screen and (max-width: 768px) {
  .company .box-form-01 {
    margin: 0 auto 60px;
  }
}

.company .box-form-01 dl {
  border-color: #c5c4d4;
}

.company .box-form-01 dl:last-of-type {
  border-bottom: 1px solid #c5c4d4;
}

.company .box-form-01 dl dt {
  color: #463f77;
  font-weight: bold;
  width: 350px;
  padding: 0 0 0 20px;
}

@media screen and (max-width: 768px) {
  .company .box-form-01 dl dt {
    width: 100%;
    padding: 0;
  }
}

.company .box-form-01 dl dd {
  width: calc(100% - 350px);
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  .company .box-form-01 dl dd {
    width: 100%;
  }
}

.company .box-form-01 dl dd ul {
  margin: 0 0 20px;
}

.company .box-form-01 dl dd ul li {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .company .box-form-01 dl dd ul li {
    width: 47%;
  }
}

.company .box-form-01 dl dd ul p {
  font-size: 1.3rem;
}

.company .list03 {
  margin: 0 0 80px;
}

@media screen and (max-width: 768px) {
  .company .list03 {
    margin: 0 0 50px;
  }
}

.company .list03 li {
  padding: 20px 0;
}

@media screen and (max-width: 768px) {
  .company .list03 li {
    padding: 20px 10px;
  }
}

.company .list03 li dl dt {
  width: 145px;
  padding: 0 0 0 35px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #6e6a86;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .company .list03 li dl dt {
    width: 100%;
    padding: 0;
  }
}

.company .list03 li dl dd {
  width: calc(100% - 150px);
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .company .list03 li dl dd {
    width: 100%;
  }
}

.company .bg01 {
  background-size: 100% 80%;
  background-position: 0px 40px;
  padding: 70px 0;
}

@media screen and (max-width: 768px) {
  .company .bg01 {
    background-size: 100% 80%;
    background-position: 0px 25px;
    padding: 50px 0;
  }
}

.company .box-wrap01 > div {
  margin: 0;
}

.company iframe {
  margin: 0 0 50px;
}

@media screen and (max-width: 768px) {
  .company iframe {
    width: 100%;
  }
}

.company .title04 + p {
  margin: 0 0 50px;
}

.company #about {
  margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
  .company #about {
    margin: 0;
  }
}

.company #access {
  padding: 90px 0 0 0;
}

@media screen and (max-width: 768px) {
  .company #access {
    padding: 70px 0 0 0;
  }
}

.tel-wrap {
  margin: 0 0 40px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .tel-wrap {
    margin: 0 0 20px;
  }
}

.tel-wrap li a,
.tel-wrap li span {
  font-size: 3rem;
  margin: 0 20px;
}

@media screen and (max-width: 768px) {
  .tel-wrap li a,
  .tel-wrap li span {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 414px) {
  .tel-wrap li a,
  .tel-wrap li span {
    margin: 0;
  }
}

/*-------------------------------------------
message
--------------------------------------------*/
.message img {
  margin: 0 0 40px;
}

.message p {
  margin: 0 0 30px;
}

.message p small {
  font-size: 1.3rem;
  margin: 0 5px 0 0;
}

.message p .bold {
  font-weight: bold;
}

/*-------------------------------------------
mind
--------------------------------------------*/
.mind .box-wrap03 {
  padding: 75px 80px;
  margin: 0 0 70px;
}

@media screen and (max-width: 768px) {
  .mind .box-wrap03 {
    padding: 35px 30px;
  }
}

.mind .title04 span,
.mind .title05 span {
  padding: 5px 20px;
  width: 135px;
  display: inline-block;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .mind .title04 span,
  .mind .title05 span {
    margin: 0 10px 0 0;
  }
}

.mind .title04::after,
.mind .title05::after {
  background: #e8e4f4;
}

.mind .title04 + p,
.mind .title05 + p {
  margin: 0 0 65px;
}

.mind .idea {
  padding: 20px 0 0;
}

@media screen and (max-width: 768px) {
  .mind .idea {
    padding: 20px 15px 0;
  }
}

.mind .idea .bold {
  display: block;
}

.mind .idea p {
  margin: 0 0 65px;
}

.mind .idea .box-wrap03 {
  padding: 40px 80px;
}

@media screen and (max-width: 768px) {
  .mind .idea .box-wrap03 {
    padding: 30px 40px;
  }
}

@media screen and (max-width: 414px) {
  .mind .idea .box-wrap03 {
    padding: 20px 30px;
  }
}

.mind .idea .box-wrap03 .title06 {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .mind .idea .cf .left-box {
    margin: 0 0 20px;
  }
}

.box-mind dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 18px 0 16px;
}

@media screen and (max-width: 768px) {
  .box-mind dl {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.box-mind dl:first-child {
  padding: 0 0 16px;
}

.box-mind dl:last-child {
  padding: 18px 0 0 0;
}

.box-mind dl dt {
  width: 340px;
  font-size: 2.4rem;
  font-weight: bold;
  color: #463f77;
}

@media screen and (max-width: 768px) {
  .box-mind dl dt {
    width: 100%;
  }
}

.box-mind dl dt span {
  font-size: 3.6rem;
  margin: 0 5px 0 0;
}

@media screen and (max-width: 768px) {
  .box-mind dl dt span {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .box-mind dl dt {
    font-size: 1.8rem;
  }
}

.box-mind dl dd {
  width: calc(100% - 340px);
}

@media screen and (max-width: 768px) {
  .box-mind dl dd {
    width: 100%;
  }
}

/*-------------------------------------------
SERVICE-internet
--------------------------------------------*/
.service-wrap {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .service-wrap {
    width: 100%;
  }
}

.internet-media .title03 + img + p {
  margin: 0 0 90px;
}

.internet-media .cf {
  margin: 0 0 45px;
}

.internet-media .cf .left-box p {
  margin: 0 0 30px;
}

.internet-media .cf .right-box {
  text-align: right;
}

.internet-media .cf .right-box img {
  display: inline-block;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .internet-media .cf .right-box img {
    display: block;
    margin: 0 auto;
  }
}

.internet-media .box-wrap03 h3,
.internet-media .box-wrap03 h4 {
  margin: 0;
}

.internet-media article {
  margin: 0 auto 110px;
}

.internet-media article:last-child {
  margin: 0 auto;
}

.internet-media article .txt-center img {
  margin: 20px auto;
}

.internet-media article .box-wrap03 {
  margin: 35px 0 0 0;
}

.internet-media article .bg03 ul.flex, .internet-media article .bg03 ul.box-wrap06, .internet-media article .bg03 .sampling .flow ul, .sampling .flow .internet-media article .bg03 ul {
  display: block;
}

.internet-media article ul.flex li, .internet-media article ul.box-wrap06 li, .internet-media article .sampling .flow ul li, .sampling .flow .internet-media article ul li {
  display: inline-block;
  -ms-flex-item-align: end;
  align-self: flex-end;
}

@media screen and (max-width: 768px) {
  .internet-media article ul.flex li, .internet-media article ul.box-wrap06 li, .internet-media article .sampling .flow ul li, .sampling .flow .internet-media article ul li {
    margin: 0 0 25px;
  }
}

.internet-media article .title05 + p {
  margin: 0 0 30px;
}

.internet-media article .title05 + p + .txt-right {
  margin-bottom: 10px;
  font-size: 1.3rem;
}

.bg2 {
  background: url(images/common/bg-gradation.png) no-repeat;
  background-size: 100% 90%;
  background-position: 0px 0px;
  padding: 50px 0 100px 0;
}

@media screen and (max-width: 768px) {
  .bg2 {
    padding: 10px 0 10px 0;
  }
}

.bg2 ol li {
  width: 280px;
  height: 280px;
  background: url(images/service/internet/bg05.png) no-repeat;
  background-size: contain;
  position: relative;
}

@media screen and (max-width: 768px) {
  .bg2 ol li {
    margin: 0 0 25px;
    width: 260px;
    height: 260px;
  }
}

.bg2 ol li > div {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -45px);
  -ms-transform: translate(-50%, -45px);
  transform: translate(-50%, -45px);
  display: block;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .bg2 ol li > div {
    -webkit-transform: translate(-50%, -60px);
    -ms-transform: translate(-50%, -60px);
    transform: translate(-50%, -60px);
  }
}

.bg2 ol li > div .txt-gr01 {
  font-size: 4rem;
}

.bg2 ol li > div p {
  color: #fff;
  font: 500 2.2rem "Noto Sans JP", sans-serif;
  text-align: center;
  display: block;
  width: 100%;
  position: relative;
  top: -1em;
}

.bg2 ul.flex, .bg2 ul.box-wrap06, .bg2 .sampling .flow ul, .sampling .flow .bg2 ul {
  margin-top: 20px;
}

.bg2 ul.flex li, .bg2 ul.box-wrap06 li, .bg2 .sampling .flow ul li, .sampling .flow .bg2 ul li {
  width: 30%;
  font-size: 1.5rem;
}

.bg2 ul.flex li:nth-of-type(2), .bg2 ul.box-wrap06 li:nth-of-type(2), .bg2 .sampling .flow ul li:nth-of-type(2), .sampling .flow .bg2 ul li:nth-of-type(2) {
  border-left: 1px solid #514985;
  border-right: 1px solid #514985;
  -ms-flex-item-align: start;
  align-self: flex-start;
  padding: 0 2.5%;
}

@media screen and (max-width: 768px) {
  .bg2 ul.flex li:nth-of-type(2), .bg2 ul.box-wrap06 li:nth-of-type(2), .bg2 .sampling .flow ul li:nth-of-type(2), .sampling .flow .bg2 ul li:nth-of-type(2) {
    border: none;
  }
}

.bg03 {
  padding: 40px 50px 30px 55px;
  background: #f5f5f5;
  position: relative;
  margin: 60px 0 80px;
}

@media screen and (max-width: 768px) {
  .bg03 {
    padding: 20px 20px 30px;
  }
}

.bg03::before {
  position: absolute;
  left: 50%;
  top: -60px;
  border: 30px solid transparent;
  border-bottom: 30px solid #f5f5f5;
  content: '';
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.bg03 ul {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.bg03 ul li {
  font-size: 1.4rem;
  margin: 0 5px 0 0;
}

@media screen and (max-width: 768px) {
  .bg03 ul li {
    margin: 0 5px 0 0 !important;
  }
}

.fs24 {
  font-size: 2.4rem !important;
}

@media screen and (max-width: 768px) {
  .fs24 {
    font-size: 1.8rem !important;
  }
}

.icon-check {
  margin: 30px 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.icon-check li {
  color: #463f77;
  font-size: 2.2rem;
  font-weight: bold;
  margin: 0 15px;
}

@media screen and (max-width: 768px) {
  .icon-check li {
    font-size: 1.8rem;
    margin: 0 0 10px !important;
  }
}

.icon-check li::before {
  content: "\f14a";
  font-family: Font Awesome\ 5 Free;
  font-weight: 400;
  margin: 0 5px 0 0;
}

.icon-link::after {
  content: "\f35d";
  font-family: Font Awesome\ 5 Free;
  margin: 0 0 0 5px;
  font-size: 1.6rem;
}

/*-------------------------------------------
public-relations
--------------------------------------------*/
.public-relations .title03 + .txt-center + img {
  margin: 0 0 50px;
}

.public-relations .bg2 {
  background-size: 100% 100%;
  padding: 50px 0 150px 0;
}

@media screen and (max-width: 768px) {
  .public-relations .bg2 ol li {
    margin: 0;
  }
}

.public-relations .bg2 ol .sp-block {
  margin: 0 0 35px;
}

.public-relations .bg2 ul.flex li, .public-relations .bg2 ul.box-wrap06 li, .public-relations .bg2 .sampling .flow ul li, .sampling .flow .public-relations .bg2 ul li {
  -ms-flex-item-align: start;
  align-self: flex-start;
}

@media screen and (max-width: 768px) {
  .public-relations .bg2 ul.flex li, .public-relations .bg2 ul.box-wrap06 li, .public-relations .bg2 .sampling .flow ul li, .sampling .flow .public-relations .bg2 ul li {
    width: 100%;
    padding: 10px 0;
  }
}

.box-wrap06 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 0 100px;
}

@media screen and (max-width: 768px) {
  .box-wrap06 {
    margin: 0 0 70px;
  }
}

.box-wrap06 figure {
  width: 240px;
  display: inline-block;
  margin: 0 0 30px;
}

@media screen and (max-width: 768px) {
  .box-wrap06 figure {
    width: 48%;
  }
}

@media screen and (max-width: 768px) {
  .box-wrap06 figure img {
    width: 100%;
  }
}

.box-wrap06 figure figcaption {
  background: #f5f5f5;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 10px 0;
}

@media screen and (max-width: 768px) {
  .box-wrap06 figure figcaption {
    font-size: 1.5rem;
  }
}

/*-------------------------------------------
sampling
--------------------------------------------*/
.sampling .title03 + img + .title06 {
  font-size: 2.2rem;
  margin: 0 0 30px;
}

@media screen and (max-width: 768px) {
  .sampling .title03 + img + .title06 {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .sampling .title03 + img + .title06 span {
    display: block;
  }
}

.sampling .flow ul {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 0 60px;
}

@media screen and (max-width: 768px) {
  .sampling .flow ul {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.sampling .flow ul li {
  width: 240px;
  display: inline-block;
  margin: 0 0 40px;
  position: relative;
  z-index: 10;
}

.sampling .flow ul li:last-child {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .sampling .flow ul li {
    width: 400px;
    margin: 0 0 30px;
  }
}

@media screen and (max-width: 414px) {
  .sampling .flow ul li {
    width: 100%;
  }
}

.sampling .flow ul li::after {
  content: "\f105";
  font-family: "FontAwesome";
  background: #e8e4f4;
  z-index: 5;
  height: 20px;
  color: #463f77;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 20px;
  position: absolute;
  top: 50%;
  right: -15px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 0 10px;
}

@media screen and (max-width: 768px) {
  .sampling .flow ul li::after {
    content: "\f107";
    top: inherit;
    bottom: -30px;
    right: inherit;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 0 7px;
    height: 30px;
  }
}

.sampling .flow ul li:nth-of-type(4)::after {
  content: "\f107";
  top: inherit;
  bottom: -30px;
  right: inherit;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  padding: 0 7px;
  height: 30px;
}

.sampling .flow ul li:nth-of-type(7)::after, .sampling .flow ul li:nth-of-type(8)::after {
  display: none;
}

.sampling .flow ul li:nth-of-type(5)::before {
  content: "\f107";
  top: -30px;
  right: inherit;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  padding: 0 7px;
  height: 30px;
  font-family: "FontAwesome";
  color: #463f77;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 20px;
  background: #e8e4f4;
  position: absolute;
}

@media screen and (max-width: 768px) {
  .sampling .flow ul li:nth-of-type(5)::before {
    display: none;
  }
}

.sampling .flow ul li:nth-of-type(6)::before {
  content: "\f104";
  font-family: "FontAwesome";
  text-align: center;
  width: 750px;
  color: #463f77;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 20px;
  background: #e8e4f4;
  position: absolute;
  top: -30px;
  left: -128px;
}

@media screen and (max-width: 768px) {
  .sampling .flow ul li:nth-of-type(6)::before {
    display: none;
  }
}

.sampling .flow ul li figure {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .sampling .flow ul li figure {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .sampling .flow ul li figure img {
    width: 100%;
  }
}

.sampling .flow ul li figure figcaption {
  background: #f5f5f5;
  text-align: center;
  padding: 14px 0;
}

@media screen and (min-width: 769px) {
  .sampling .flow ul li figure figcaption {
    min-height: 90px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 768px) {
  .sampling .flow ul li figure figcaption {
    font-size: 1.5rem;
    padding: 10px 0;
  }
}

.sampling .flow ul li figure figcaption span {
  color: #928db0;
  font-size: 1.4rem;
  font-weight: bold;
  width: 100%;
}

.sampling .flow ul li figure figcaption p {
  font-size: 1.8rem;
  font-weight: bold;
  color: #463f77;
  line-height: 1;
  width: 100%;
}

.sampling .bg2 ol li div {
  -webkit-transform: translate(-50%, -65px);
  -ms-transform: translate(-50%, -65px);
  transform: translate(-50%, -65px);
}

.sampling .bg2 ol li div p {
  margin: 0;
}

.sampling .bg2 ol li div p + span {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 1.5rem;
}

.sampling .bg03 .cf {
  margin: 0;
}

.sampling .bg03 .cf h4 {
  border-bottom: 1px solid #463f77;
  padding: 0 0 8px;
  margin: 0 0 8px;
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .sampling .bg03 .cf h4 {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .sampling .bg03 .cf dl {
    margin: 0 0 8px;
  }
}

.sampling .bg03 .cf dl dt {
  color: #928db0;
  width: 80px;
  font-size: 1.4rem;
}

.sampling .bg03 .cf dl dd {
  width: calc(100% - 80px);
  font-size: 1.4rem;
}

.sampling .bg03 .cf .left-box {
  width: 48%;
}

@media screen and (max-width: 768px) {
  .sampling .bg03 .cf .left-box {
    width: 100%;
    margin: 0 0 30px;
  }
}

.sampling .bg03 .cf .right-box {
  width: 48%;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .sampling .bg03 .cf .right-box {
    width: 100%;
  }
}

/*-------------------------------------------
advertisement
--------------------------------------------*/
.box-recwig-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .box-recwig-01 {
    display: block;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .box-recwig-01 li:not(:last-of-type) {
    margin-bottom: 10px;
  }
}

.section-advertisement02-02 .bg03 {
  padding-left: 35px;
  padding-right: 35px;
}

@media screen and (max-width: 768px) {
  .section-advertisement02-02 .bg03 {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.section-advertisement02-02 .bg03 ul li {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .section-advertisement02-02 .bg03 ul li:not(:last-of-type) {
    margin: 0 0 10px 0 !important;
  }
}

.section-advertisement02-02 .box-recwig-01 {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .advertisement .title03 > span {
    display: block;
  }
}

.advertisement .title03 + img + .txt-center .title06 {
  margin: 15px 0;
  font-size: 2.2rem;
}

@media screen and (max-width: 768px) {
  .advertisement .title03 + img + .txt-center .title06 {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .advertisement .title03 + img + .txt-center .title06 span {
    display: block;
  }
}

.advertisement .service-effect {
  margin: 30px 0 90px 0;
  padding: 40px 60px;
}

@media screen and (max-width: 768px) {
  .advertisement .service-effect {
    margin: 30px 0 60px 0;
  }
}

@media screen and (max-width: 414px) {
  .advertisement .service-effect {
    padding: 20px 30px;
  }
}

.advertisement .service-effect .left-box {
  width: 75%;
}

@media screen and (max-width: 768px) {
  .advertisement .service-effect .left-box {
    width: 100%;
  }
}

.advertisement .service-effect .left-box p {
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  .advertisement .service-effect .left-box p {
    margin: 0;
  }
}

.advertisement .service-effect .left-box .btn04 {
  background: #463f77;
  position: relative;
  margin: 0;
  padding: 10px 45px;
}

@media screen and (max-width: 768px) {
  .advertisement .service-effect .left-box .btn04 {
    width: 180px;
    display: block;
    margin: 0 auto;
  }
}

.advertisement .service-effect .left-box .btn04::after {
  content: "\f0da";
  font-family: "FontAwesome";
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.advertisement .service-effect .right-box {
  width: 20%;
}

@media screen and (max-width: 768px) {
  .advertisement .service-effect .right-box {
    width: 100%;
  }
}

.advertisement .service-effect .right-box img {
  margin: 0 auto;
}

.advertisement img + .bg03 {
  margin: 60px 0 30px;
}

.advertisement .performance .flex, .advertisement .performance .bg2 ol, .bg2 .advertisement .performance ol, .advertisement .performance .box-wrap06, .advertisement .performance .sampling .flow ul, .sampling .flow .advertisement .performance ul, .advertisement .performance .sampling .bg03 .cf dl, .sampling .bg03 .cf .advertisement .performance dl {
  margin: 0 0 30px;
}

@media screen and (max-width: 768px) {
  .advertisement .performance .flex, .advertisement .performance .bg2 ol, .bg2 .advertisement .performance ol, .advertisement .performance .box-wrap06, .advertisement .performance .sampling .flow ul, .sampling .flow .advertisement .performance ul, .advertisement .performance .sampling .bg03 .cf dl, .sampling .bg03 .cf .advertisement .performance dl {
    margin: 0 0 20px;
  }
}

.advertisement .performance .flex li, .advertisement .performance .bg2 ol li, .bg2 .advertisement .performance ol li, .advertisement .performance .box-wrap06 li, .advertisement .performance .sampling .flow ul li, .sampling .flow .advertisement .performance ul li, .advertisement .performance .sampling .bg03 .cf dl li, .sampling .bg03 .cf .advertisement .performance dl li {
  width: 32%;
}

@media screen and (max-width: 768px) {
  .advertisement .performance .flex li, .advertisement .performance .bg2 ol li, .bg2 .advertisement .performance ol li, .advertisement .performance .box-wrap06 li, .advertisement .performance .sampling .flow ul li, .sampling .flow .advertisement .performance ul li, .advertisement .performance .sampling .bg03 .cf dl li, .sampling .bg03 .cf .advertisement .performance dl li {
    width: 100%;
  }
}

.advertisement .performance .flex + p, .advertisement .performance .bg2 ol + p, .bg2 .advertisement .performance ol + p, .advertisement .performance .box-wrap06 + p, .advertisement .performance .sampling .flow ul + p, .sampling .flow .advertisement .performance ul + p, .advertisement .performance .sampling .bg03 .cf dl + p, .sampling .bg03 .cf .advertisement .performance dl + p {
  margin: 0 0 120px;
}

@media screen and (max-width: 768px) {
  .advertisement .performance .flex + p, .advertisement .performance .bg2 ol + p, .bg2 .advertisement .performance ol + p, .advertisement .performance .box-wrap06 + p, .advertisement .performance .sampling .flow ul + p, .sampling .flow .advertisement .performance ul + p, .advertisement .performance .sampling .bg03 .cf dl + p, .sampling .bg03 .cf .advertisement .performance dl + p {
    margin: 0 0 60px;
  }
}

.advertisement article > .wrapper > .cf .title05 {
  border-bottom: 1px solid #463f77;
  padding: 0 0 8px;
  margin: 0 0 8px;
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .advertisement article > .wrapper > .cf .title05 {
    font-size: 1.6rem;
  }
}

.advertisement article > .wrapper > .cf .left-box {
  width: 48%;
}

@media screen and (max-width: 768px) {
  .advertisement article > .wrapper > .cf .left-box {
    width: 100%;
    margin: 0 0 30px;
  }
}

.advertisement article > .wrapper > .cf .right-box {
  width: 48%;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .advertisement article > .wrapper > .cf .right-box {
    width: 100%;
  }
}

.advertisement .bg2 {
  background-size: 100% 100%;
  padding: 50px 0 150px 0;
}

.advertisement .bg2 .flex li, .advertisement .bg2 ol li, .advertisement .bg2 .box-wrap06 li, .advertisement .bg2 .sampling .flow ul li, .sampling .flow .advertisement .bg2 ul li, .advertisement .bg2 .sampling .bg03 .cf dl li, .sampling .bg03 .cf .advertisement .bg2 dl li {
  -ms-flex-item-align: start;
  align-self: flex-start;
}

@media screen and (max-width: 768px) {
  .advertisement .bg2 .flex li, .advertisement .bg2 ol li, .advertisement .bg2 .box-wrap06 li, .advertisement .bg2 .sampling .flow ul li, .sampling .flow .advertisement .bg2 ul li, .advertisement .bg2 .sampling .bg03 .cf dl li, .sampling .bg03 .cf .advertisement .bg2 dl li {
    margin: 0;
  }
}

.advertisement .bg2 .flex .sp-block, .advertisement .bg2 ol .sp-block, .advertisement .bg2 .box-wrap06 .sp-block, .advertisement .bg2 .sampling .flow ul .sp-block, .sampling .flow .advertisement .bg2 ul .sp-block, .advertisement .bg2 .sampling .bg03 .cf dl .sp-block, .sampling .bg03 .cf .advertisement .bg2 dl .sp-block {
  margin: 0 0 40px;
}

/*-------------------------------------------
recruit
--------------------------------------------*/
.box-wrap04.flex, .bg2 ol.box-wrap04, .box-wrap04.box-wrap06, .sampling .flow ul.box-wrap04, .sampling .bg03 .cf dl.box-wrap04 {
  margin: 60px 0 0 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .box-wrap04.flex, .bg2 ol.box-wrap04, .box-wrap04.box-wrap06, .sampling .flow ul.box-wrap04, .sampling .bg03 .cf dl.box-wrap04 {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.box-wrap04.flex div, .bg2 ol.box-wrap04 div, .box-wrap04.box-wrap06 div, .sampling .flow ul.box-wrap04 div, .sampling .bg03 .cf dl.box-wrap04 div {
  display: inline-block;
  width: 480px;
  margin: 0 0 70px;
}

@media screen and (max-width: 768px) {
  .box-wrap04.flex div, .bg2 ol.box-wrap04 div, .box-wrap04.box-wrap06 div, .sampling .flow ul.box-wrap04 div, .sampling .bg03 .cf dl.box-wrap04 div {
    width: 100%;
    margin: 0 0 50px;
  }
}

.box-wrap04.flex div img, .bg2 ol.box-wrap04 div img, .box-wrap04.box-wrap06 div img, .sampling .flow ul.box-wrap04 div img, .sampling .bg03 .cf dl.box-wrap04 div img {
  margin: 0 0 30px;
}

.box-wrap04.flex div:last-child, .bg2 ol.box-wrap04 div:last-child, .box-wrap04.box-wrap06 div:last-child, .sampling .flow ul.box-wrap04 div:last-child, .sampling .bg03 .cf dl.box-wrap04 div:last-child {
  margin: 0;
}

.recruit .bg01 {
  background-size: 100% 90%;
}

@media screen and (max-width: 414px) {
  .recruit .bg01 .box-wrap01 div .btn01 {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 414px) {
  .recruit .bg01 .box-wrap01 div .btn01::after {
    width: 20px;
  }
}

/*-------------------------------------------
new-grsduate
--------------------------------------------*/
.new-grsduate article {
  margin: 0 auto 70px;
}

.new-grsduate article .title03 + img + p {
  margin: 0 0 40px;
}

.new-grsduate article .title03 + img + p + a {
  margin: 0 auto 80px;
}

.new-grsduate .box-form-01 dl:last-child {
  border-bottom: 1px solid #D6D6D6;
}

.new-grsduate .box-form-01 dl:first-child {
  border-top: 1px solid #D6D6D6;
  padding-top: 19px;
}

.new-grsduate .box-wrap03 {
  margin: 60px 0 0 0;
}

.new-grsduate .box-wrap03 h3 {
  margin: 0;
}

.new-grsduate .box-wrap03 a {
  display: block;
}

@media screen and (max-width: 768px) {
  .new-grsduate .box-wrap03 a {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 768px) {
  .new-grsduate .box-wrap03 a {
    font-size: 2.1rem;
  }
}

.box-wrap05 .cf {
  margin: 0 0 70px;
}

.box-wrap05 .cf .left-box {
  width: 55%;
}

@media screen and (max-width: 768px) {
  .box-wrap05 .cf .left-box {
    width: 100%;
  }
}

.box-wrap05 .cf .left-box p {
  margin: 0 0 30px;
}

.box-wrap05 .cf .right-box {
  width: 40%;
}

@media screen and (max-width: 768px) {
  .box-wrap05 .cf .right-box {
    width: 100%;
  }
  .box-wrap05 .cf .right-box img {
    margin: 0 auto;
  }
}

.box-form-01.op01 dl dt {
  color: #463f77;
  font-weight: bold;
  padding: 0 0 0 20px;
}

@media screen and (max-width: 768px) {
  .box-form-01.op01 dl dt {
    padding: 0;
  }
}

.box-form-01.op01 dl dd .title06 {
  margin: 0;
}

/*-------------------------------------------
interview（archive）
--------------------------------------------*/
.interview article {
  margin: 0 0 70px;
}

.interview article .left-box img {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .interview article .left-box img {
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .interview article .left-box {
    margin: 0 0 30px;
  }
}

.interview article .right-box .gradation-wrap, .interview article .right-box .title05 .cus-tarm, .title05 .interview article .right-box .cus-tarm {
  width: 100%;
  display: block;
  margin: 0 0 20px;
}

.interview article .right-box .cf .left-box {
  width: 100%;
}

.interview article .right-box .title05 {
  font-size: 1.8rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #463f77;
  border: none;
  padding: 0;
  margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
  .interview article .right-box .title05 {
    font-size: 1.5rem;
  }
}

.interview article .right-box .title05 .gradation-wrap, .interview article .right-box .title05 .cus-tarm {
  display: none;
}

.interview article .right-box .title06 {
  display: none;
}

.interview .txt-right {
  margin: 35px 0 0 0;
}

@media screen and (max-width: 768px) {
  .interview .txt-right {
    text-align: center;
  }
}

.interview .txt-right a {
  display: inline-block;
}

/*-------------------------------------------
single-interview
--------------------------------------------*/
.single-interview #edit .title03::after {
  margin: 20px auto 0;
}

.single-interview #edit .title03 .en {
  font: 500 1.3rem "Catamaran", sans-serif;
  color: #8683a2;
  line-height: 1;
  display: block;
  letter-spacing: .1rem;
}

.single-interview #edit .title03 .depart {
  display: block;
  line-height: 1;
  font: normal 1.8rem "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  color: #4e4a65;
}

.single-interview #edit .title05 .gradation-wrap, .single-interview #edit .title05 .cus-tarm {
  margin: 0 20px 0 0;
}

@media screen and (max-width: 768px) {
  .single-interview #edit .title05 .gradation-wrap, .single-interview #edit .title05 .cus-tarm {
    margin: 0 0 5px;
    display: block;
  }
}

.single-interview #edit .title05 p {
  display: inline-block;
}

.single-interview #edit .cf {
  margin: 0 0 30px;
}

.single-interview #edit .cf:nth-of-type(odd) .right-box {
  text-align: right;
}

@media screen and (max-width: 768px) {
  .single-interview #edit .cf:nth-of-type(odd) .right-box {
    text-align: center;
  }
}

.single-interview #edit .cf:nth-of-type(odd) .right-box img {
  margin: 0;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .single-interview #edit .cf:nth-of-type(odd) .right-box img {
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .single-interview #edit .cf .left-box {
    margin: 0 0 20px;
  }
}

.single-interview #edit .cf .left-box img {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .single-interview #edit .cf .left-box img {
    margin: 0 auto;
  }
}

.single-interview #edit .center.flex, .single-interview #edit .bg2 ol.center, .bg2 .single-interview #edit ol.center, .single-interview #edit .center.box-wrap06, .single-interview #edit .sampling .flow ul.center, .sampling .flow .single-interview #edit ul.center, .single-interview #edit .sampling .bg03 .cf dl.center, .sampling .bg03 .cf .single-interview #edit dl.center {
  margin: 80px 0 0 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.single-interview #edit .center.flex a, .single-interview #edit .bg2 ol.center a, .bg2 .single-interview #edit ol.center a, .single-interview #edit .center.box-wrap06 a, .single-interview #edit .sampling .flow ul.center a, .sampling .flow .single-interview #edit ul.center a, .single-interview #edit .sampling .bg03 .cf dl.center a, .sampling .bg03 .cf .single-interview #edit dl.center a {
  background: #efefef;
  font-size: 1.5rem;
  padding: 13px 20px;
  color: #acacac;
}

.single-interview #edit .center.flex .btn04, .single-interview #edit .bg2 ol.center .btn04, .bg2 .single-interview #edit ol.center .btn04, .single-interview #edit .center.box-wrap06 .btn04, .single-interview #edit .sampling .flow ul.center .btn04, .sampling .flow .single-interview #edit ul.center .btn04, .single-interview #edit .sampling .bg03 .cf dl.center .btn04, .sampling .bg03 .cf .single-interview #edit dl.center .btn04 {
  padding: 13px 36px;
  background: #514985;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .single-interview #edit h3 {
    font-size: 1.8rem;
  }
}

/*-------------------------------------------
news
--------------------------------------------*/
.news-nav {
  margin: 0 0 50px;
}

@media screen and (max-width: 768px) {
  .news-nav {
    margin: 0 0 30px;
  }
}

.news-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-bottom: 4px solid #514985;
}

.news-nav ul li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 20%;
  margin: 0 10px;
  background: #efefef;
  border-bottom: none;
}

@media screen and (max-width: 768px) {
  .news-nav ul li {
    width: 30%;
    margin: 0 5px;
  }
}

@media screen and (max-width: 414px) {
  .news-nav ul li {
    margin: 0 3px;
  }
}

.news-nav ul li.point-color {
  background: #514985;
}

.news-nav ul li.point-color a {
  color: #fefefe;
}

.news-nav ul li a {
  line-height: 1;
  width: 100%;
  padding: 19px 0;
  font-size: 1.6rem;
  color: #acacac;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .news-nav ul li a {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 414px) {
  .news-nav ul li a {
    font-size: 1.2rem;
  }
}

.term-news .news-color {
  background: #514985;
}

.term-news .news-color a {
  color: #fefefe;
}

.term-pressrelease .press-color {
  background: #514985;
}

.term-pressrelease .press-color a {
  color: #fefefe;
}

@media screen and (max-width: 414px) {
  .archive .list03 li time {
    margin: 0;
  }
}

.single-news .center.flex, .single-news .bg2 ol.center, .bg2 .single-news ol.center, .single-news .center.box-wrap06, .single-news .sampling .flow ul.center, .sampling .flow .single-news ul.center, .single-news .sampling .bg03 .cf dl.center, .sampling .bg03 .cf .single-news dl.center {
  margin: 80px 0 0 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.single-news .center.flex a, .single-news .bg2 ol.center a, .bg2 .single-news ol.center a, .single-news .center.box-wrap06 a, .single-news .sampling .flow ul.center a, .sampling .flow .single-news ul.center a, .single-news .sampling .bg03 .cf dl.center a, .sampling .bg03 .cf .single-news dl.center a {
  background: #efefef;
  font-size: 1.5rem;
  padding: 13px 20px;
  color: #acacac;
}

.single-news .center.flex .btn04, .single-news .bg2 ol.center .btn04, .bg2 .single-news ol.center .btn04, .single-news .center.box-wrap06 .btn04, .single-news .sampling .flow ul.center .btn04, .sampling .flow .single-news ul.center .btn04, .single-news .sampling .bg03 .cf dl.center .btn04, .sampling .bg03 .cf .single-news dl.center .btn04 {
  padding: 13px 36px;
  background: #514985;
  color: #fff;
  text-decoration: none;
}

/*-------------------------------------------
example
--------------------------------------------*/
.interview.example-wrap .title07 span {
  position: inherit;
  display: block;
  margin: 12px 0 0 0;
}

/*-------------------------------------------
single-example
--------------------------------------------*/
.single-example .title03 .gradation-wrap, .single-example .title03 .title05 .cus-tarm, .title05 .single-example .title03 .cus-tarm {
  padding: 5px 20px;
  margin: 0 auto 10px;
  display: table;
  width: auto;
}

.single-example .title03 .depart {
  display: block;
  font-size: 1.8rem;
  font-weight: normal;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  color: #4e4a65;
}

.single-example .title03::after {
  margin: 25px auto 0;
}

.single-example .cf {
  margin: 0 0 45px;
}

.single-example .cf .left-box img {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .single-example .cf .left-box img {
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .single-example .cf .left-box {
    margin: 0 0 20px;
  }
}

.single-example .cf .right-box dl {
  padding: 17px 0 16px;
}

.single-example .cf .right-box dl dt {
  width: 160px;
  font-weight: bold;
  color: #463f77;
}

@media screen and (max-width: 768px) {
  .single-example .cf .right-box dl dt {
    width: 100%;
  }
}

.single-example .cf .right-box dl dd {
  width: calc(100% - 160px);
}

@media screen and (max-width: 768px) {
  .single-example .cf .right-box dl dd {
    width: 100%;
  }
}

.single-example .cf .right-box dl:first-child {
  margin: 0;
  padding: 0 0 16px;
}

.single-example .center.flex, .single-example .bg2 ol.center, .bg2 .single-example ol.center, .single-example .center.box-wrap06, .single-example .sampling .flow ul.center, .sampling .flow .single-example ul.center, .single-example .sampling .bg03 .cf dl.center, .sampling .bg03 .cf .single-example dl.center {
  margin: 80px 0 0 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.single-example .center.flex a, .single-example .bg2 ol.center a, .bg2 .single-example ol.center a, .single-example .center.box-wrap06 a, .single-example .sampling .flow ul.center a, .sampling .flow .single-example ul.center a, .single-example .sampling .bg03 .cf dl.center a, .sampling .bg03 .cf .single-example dl.center a {
  background: #efefef;
  font-size: 1.5rem;
  padding: 13px 20px;
  color: #acacac;
}

.single-example .center.flex .btn04, .single-example .bg2 ol.center .btn04, .bg2 .single-example ol.center .btn04, .single-example .center.box-wrap06 .btn04, .single-example .sampling .flow ul.center .btn04, .sampling .flow .single-example ul.center .btn04, .single-example .sampling .bg03 .cf dl.center .btn04, .sampling .bg03 .cf .single-example dl.center .btn04 {
  padding: 13px 36px;
  background: #514985;
  color: #fff;
}

.client-task {
  padding: 40px 55px 30px;
  background: #f5f5f5;
  position: relative;
  margin: 0 0 50px;
}

@media screen and (max-width: 768px) {
  .client-task {
    padding: 20px 35px 20px;
  }
}

.client-task::after {
  position: absolute;
  left: 50%;
  bottom: -60px;
  border: 30px solid transparent;
  border-top: 30px solid #f5f5f5;
  content: '';
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.client-task h3 {
  font-size: 1.8rem;
  font-weight: bold;
  color: #463f77;
  border-bottom: 1px solid #463f77;
  padding: 0 0 10px;
  margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
  .client-task h3 {
    font-size: 1.6rem;
  }
}

.client-task h3::before {
  font-family: "FontAwesome";
  content: '\f007';
  color: #463f77;
  margin: 0 5px;
}

.client-task p {
  font-size: 1.5rem;
}

.service-effect {
  margin: 0 0 70px;
  padding: 40px 60px;
  background: #fff4d9;
  background: -webkit-linear-gradient(315deg, #fff4d9 0%, #fcf3de 43%, #f9f1e5 51%, #e4d8d6 51%, #f5efec 51%, #efedf7 84%, #eeecf9 100%);
  background: -o-linear-gradient(315deg, #fff4d9 0%, #fcf3de 43%, #f9f1e5 51%, #e4d8d6 51%, #f5efec 51%, #efedf7 84%, #eeecf9 100%);
  background: linear-gradient(135deg, #fff4d9 0%, #fcf3de 43%, #f9f1e5 51%, #e4d8d6 51%, #f5efec 51%, #efedf7 84%, #eeecf9 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff4d9', endColorstr='#eeecf9', GradientType=1);
}

@media screen and (max-width: 768px) {
  .service-effect {
    padding: 20px 30px;
  }
}

.service-effect h3 {
  font-size: 2.4rem;
  font-weight: bold;
  color: #ee7d13;
  border-bottom: 3px solid #ee7d13;
  padding: 0 0 10px;
  margin: 0 0 20px;
}

@media screen and (max-width: 768px) {
  .service-effect h3 {
    font-size: 2rem;
  }
}

.service-effect h3::before {
  font-family: "FontAwesome";
  content: '\f080';
  color: #ee7d13;
  margin: 0 5px;
}

.service-effect p {
  font-size: 1.8rem;
}

.service-effect p span {
  color: #ee7d13;
  font-weight: bold;
}

.performance ul {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.performance ul li {
  width: 49%;
  background: #ededf2;
  border-radius: 100px;
  border: 1px solid #463f77;
  position: relative;
  min-height: 80px;
  max-height: 80px;
  margin: 0 0 15px;
}

@media screen and (max-width: 768px) {
  .performance ul li {
    width: 100%;
  }
}

.performance ul li p {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  text-align: center;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0 40px;
  color: #463f77;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .performance ul li p {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 414px) {
  .performance ul li p {
    font-size: 1.4rem;
    padding: 0 15px;
  }
}

.performance ul li p span {
  color: #ee7d13;
  font-weight: bold;
  font-size: 2.2rem;
  display: inline-block;
  line-height: 1.4;
  vertical-align: bottom;
}

@media screen and (max-width: 768px) {
  .performance ul li p span {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .performance ul li p span {
    font-size: 1.6rem;
  }
}

/*-------------------------------------------
contact
--------------------------------------------*/
.contact .title05 + .txt-center img {
  display: inline-block;
  margin: 0 0 20px;
}

.contact .title05 + .txt-center + p {
  margin: 0 0 60px;
}

.contact .title05 + p + p {
  margin: 0 0 30px;
}

.contact .title05 + p + p .required::after {
  margin: 0;
}

.contact span.required {
  display: inline-block;
  width: 60px;
  position: relative;
  top: -17px;
  left: -10px;
}

.contact dt.required::after {
  top: 50%;
  right: 45px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .contact dt.required::after {
    right: 0;
  }
}

.contact .your-name1 input[type="text"],
.contact .your-name2 input[type="text"] {
  width: 25%;
}

@media screen and (max-width: 768px) {
  .contact .your-name1 input[type="text"],
  .contact .your-name2 input[type="text"] {
    width: 30%;
  }
}

.contact .your-name1 input[type="text"] {
  margin: 0 20px 0 0;
}

.contact .tel-number1 input[type="tel"],
.contact .tel-number2 input[type="tel"],
.contact .tel-number3 input[type="tel"] {
  width: 11%;
}

@media screen and (max-width: 768px) {
  .contact .tel-number1 input[type="tel"],
  .contact .tel-number2 input[type="tel"],
  .contact .tel-number3 input[type="tel"] {
    width: 20%;
  }
}

@media screen and (max-width: 414px) {
  .contact .tel-number1 input[type="tel"],
  .contact .tel-number2 input[type="tel"],
  .contact .tel-number3 input[type="tel"] {
    width: 25%;
    padding: 3px 14px;
  }
}

.contact .box-form-01 dl dt {
  width: 350px;
  position: relative;
  font-weight: bold;
  color: #463f77;
  padding-left: 15px;
}

@media screen and (max-width: 768px) {
  .contact .box-form-01 dl dt {
    padding-left: 0;
    width: 100%;
  }
}

.contact .box-form-01 dl:last-child dt::after {
  -webkit-transform: translateY(-400%);
  -ms-transform: translateY(-400%);
  transform: translateY(-400%);
}

.contact .box-form-01 .btn01.btn-color01 {
  padding: 0;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
  margin: 40px auto 0;
}

.contact .box-form-01 .btn01.btn-color01:hover {
  opacity: .7;
}

.contact .box-form-01 .btn01.btn-color01 input[type="submit"] {
  border: none;
  display: block;
  width: 100%;
  cursor: pointer;
  font: 900 2rem "Catamaran", sans-serif;
  color: #514985;
  padding: 23px 0;
}

.contact .box-form-01 .txt-center a {
  text-decoration: underline;
  margin: 30px 0 0 0;
}

.contact div.wpcf7-validation-errors,
.contact div.wpcf7-acceptance-missing {
  width: 1000px;
  margin: 2em auto;
}

@media screen and (max-width: 768px) {
  .contact div.wpcf7-validation-errors,
  .contact div.wpcf7-acceptance-missing {
    width: 100%;
  }
}

/*-------------------------------------------
privacy-policy
--------------------------------------------*/
.privacy-policy p {
  margin: 0 0 40px;
}

@media screen and (max-width: 768px) {
  .privacy-policy p {
    margin: 0 0 30px;
  }
}

.dl01 {
  margin: 0 0 35px;
}

.box-wrap03 {
  background: #f5f5f5;
  padding: 40px 50px;
}

.box-wrap03 p {
  margin: 0;
}

.box-wrap03 .title06 {
  margin: 0 0 20px;
}

@media screen and (max-width: 768px) {
  .box-wrap03 {
    padding: 20px 30px;
  }
}

.dotted::before {
  content: '・';
}

.bold {
  font-weight: bold;
}

.mB35 {
  margin: 0 0 35px;
}

/*-------------------------------------------
404
--------------------------------------------*/
.error404 #mainvisual {
  background-image: none;
}

.error404 #mainvisual .title-wrap404 {
  background: url(images/title/title-404.jpg) no-repeat center center transparent;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .error404 #mainvisual .title-wrap404 {
    background: url(images/title/title-404.jpg) no-repeat -80px 0 transparent;
    background-size: cover;
  }
}

.error404 #mainvisual h1 {
  line-height: 1;
}

/*-------------------------------------------
list 2018/10/29
--------------------------------------------*/
.unit-list-02 li {
  display: inline-block;
  margin-right: 1em;
}

.unit-list-02 li:before {
  content: '・';
}

/*-------------------------------------------
extention list
--------------------------------------------*/
.box-extention-01 {
  text-align: center;
  padding: 20px;
  width: 600px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .box-extention-01 {
    width: 90%;
  }
}

.box-extention-01 > .title {
  font-size: 2rem;
  font-weight: bold;
}

.box-extention-01 .unit-list-02 {
  margin-top: 20px;
}

.box-extention-01 .txt-box {
  margin-top: 20px;
  text-align: left;
}

/*-------------------------------------------
汎用マージンクラス 190625
--------------------------------------------*/
.fs12 {
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  .fs12 {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 414px) {
  .fs12 {
    font-size: 1.0rem;
  }
}

.fs13 {
  font-size: 1.3rem;
}

@media screen and (max-width: 768px) {
  .fs13 {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 414px) {
  .fs13 {
    font-size: 1.1rem;
  }
}

.fs14 {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .fs14 {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 414px) {
  .fs14 {
    font-size: 1.2rem;
  }
}

.fs15 {
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  .fs15 {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 414px) {
  .fs15 {
    font-size: 1.3rem;
  }
}

.fs16 {
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .fs16 {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 414px) {
  .fs16 {
    font-size: 1.4rem;
  }
}

.fs17 {
  font-size: 1.7rem;
}

@media screen and (max-width: 768px) {
  .fs17 {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 414px) {
  .fs17 {
    font-size: 1.5rem;
  }
}

.fs18 {
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .fs18 {
    font-size: 1.7rem;
  }
}

@media screen and (max-width: 414px) {
  .fs18 {
    font-size: 1.6rem;
  }
}

.fs19 {
  font-size: 1.9rem;
}

@media screen and (max-width: 768px) {
  .fs19 {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 414px) {
  .fs19 {
    font-size: 1.7rem;
  }
}

.fs20 {
  font-size: 2.0rem;
}

@media screen and (max-width: 768px) {
  .fs20 {
    font-size: 1.9rem;
  }
}

@media screen and (max-width: 414px) {
  .fs20 {
    font-size: 1.8rem;
  }
}

.fs21 {
  font-size: 2.1rem;
}

@media screen and (max-width: 768px) {
  .fs21 {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 414px) {
  .fs21 {
    font-size: 1.9rem;
  }
}

.fs22 {
  font-size: 2.2rem;
}

@media screen and (max-width: 768px) {
  .fs22 {
    font-size: 2.1rem;
  }
}

@media screen and (max-width: 414px) {
  .fs22 {
    font-size: 2.0rem;
  }
}

.fs23 {
  font-size: 2.3rem;
}

@media screen and (max-width: 768px) {
  .fs23 {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 414px) {
  .fs23 {
    font-size: 2.1rem;
  }
}

.fs24 {
  font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
  .fs24 {
    font-size: 2.3rem;
  }
}

@media screen and (max-width: 414px) {
  .fs24 {
    font-size: 2.2rem;
  }
}

.fs25 {
  font-size: 2.5rem;
}

@media screen and (max-width: 768px) {
  .fs25 {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 414px) {
  .fs25 {
    font-size: 2.3rem;
  }
}

.fs26 {
  font-size: 2.6rem;
}

@media screen and (max-width: 768px) {
  .fs26 {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 414px) {
  .fs26 {
    font-size: 2.4rem;
  }
}

.fs27 {
  font-size: 2.7rem;
}

@media screen and (max-width: 768px) {
  .fs27 {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 414px) {
  .fs27 {
    font-size: 2.5rem;
  }
}

.fs28 {
  font-size: 2.8rem;
}

@media screen and (max-width: 768px) {
  .fs28 {
    font-size: 2.7rem;
  }
}

@media screen and (max-width: 414px) {
  .fs28 {
    font-size: 2.6rem;
  }
}

.fs29 {
  font-size: 2.9rem;
}

@media screen and (max-width: 768px) {
  .fs29 {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 414px) {
  .fs29 {
    font-size: 2.7rem;
  }
}

.fs30 {
  font-size: 3.0rem;
}

@media screen and (max-width: 768px) {
  .fs30 {
    font-size: 2.9rem;
  }
}

@media screen and (max-width: 414px) {
  .fs30 {
    font-size: 2.8rem;
  }
}

.font-s12 {
  font-size: 1.2rem !important;
}

@media screen and (max-width: 768px) {
  .font-s12 {
    font-size: 1.1rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s12 {
    font-size: 1.0rem !important;
  }
}

.font-s13 {
  font-size: 1.3rem !important;
}

@media screen and (max-width: 768px) {
  .font-s13 {
    font-size: 1.2rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s13 {
    font-size: 1.1rem !important;
  }
}

.font-s14 {
  font-size: 1.4rem !important;
}

@media screen and (max-width: 768px) {
  .font-s14 {
    font-size: 1.3rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s14 {
    font-size: 1.2rem !important;
  }
}

.font-s15 {
  font-size: 1.5rem !important;
}

@media screen and (max-width: 768px) {
  .font-s15 {
    font-size: 1.4rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s15 {
    font-size: 1.3rem !important;
  }
}

.font-s16 {
  font-size: 1.6rem !important;
}

@media screen and (max-width: 768px) {
  .font-s16 {
    font-size: 1.5rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s16 {
    font-size: 1.4rem !important;
  }
}

.font-s17 {
  font-size: 1.7rem !important;
}

@media screen and (max-width: 768px) {
  .font-s17 {
    font-size: 1.6rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s17 {
    font-size: 1.5rem !important;
  }
}

.font-s18 {
  font-size: 1.8rem !important;
}

@media screen and (max-width: 768px) {
  .font-s18 {
    font-size: 1.7rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s18 {
    font-size: 1.6rem !important;
  }
}

.font-s19 {
  font-size: 1.9rem !important;
}

@media screen and (max-width: 768px) {
  .font-s19 {
    font-size: 1.8rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s19 {
    font-size: 1.7rem !important;
  }
}

.font-s20 {
  font-size: 2.0rem !important;
}

@media screen and (max-width: 768px) {
  .font-s20 {
    font-size: 1.9rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s20 {
    font-size: 1.8rem !important;
  }
}

.font-s21 {
  font-size: 2.1rem !important;
}

@media screen and (max-width: 768px) {
  .font-s21 {
    font-size: 2.0rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s21 {
    font-size: 1.9rem !important;
  }
}

.font-s22 {
  font-size: 2.2rem !important;
}

@media screen and (max-width: 768px) {
  .font-s22 {
    font-size: 2.1rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s22 {
    font-size: 2.0rem !important;
  }
}

.font-s23 {
  font-size: 2.3rem !important;
}

@media screen and (max-width: 768px) {
  .font-s23 {
    font-size: 2.2rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s23 {
    font-size: 2.1rem !important;
  }
}

.font-s24 {
  font-size: 2.4rem !important;
}

@media screen and (max-width: 768px) {
  .font-s24 {
    font-size: 2.3rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s24 {
    font-size: 2.2rem !important;
  }
}

.font-s25 {
  font-size: 2.5rem !important;
}

@media screen and (max-width: 768px) {
  .font-s25 {
    font-size: 2.4rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s25 {
    font-size: 2.3rem !important;
  }
}

.font-s26 {
  font-size: 2.6rem !important;
}

@media screen and (max-width: 768px) {
  .font-s26 {
    font-size: 2.5rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s26 {
    font-size: 2.4rem !important;
  }
}

.font-s27 {
  font-size: 2.7rem !important;
}

@media screen and (max-width: 768px) {
  .font-s27 {
    font-size: 2.6rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s27 {
    font-size: 2.5rem !important;
  }
}

.font-s28 {
  font-size: 2.8rem !important;
}

@media screen and (max-width: 768px) {
  .font-s28 {
    font-size: 2.7rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s28 {
    font-size: 2.6rem !important;
  }
}

.font-s29 {
  font-size: 2.9rem !important;
}

@media screen and (max-width: 768px) {
  .font-s29 {
    font-size: 2.8rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s29 {
    font-size: 2.7rem !important;
  }
}

.font-s30 {
  font-size: 3.0rem !important;
}

@media screen and (max-width: 768px) {
  .font-s30 {
    font-size: 2.9rem !important;
  }
}

@media screen and (max-width: 414px) {
  .font-s30 {
    font-size: 2.8rem !important;
  }
}

.t-center {
  text-align: center;
}

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

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

.txt-center {
  text-align: center !important;
}

.txt-left {
  text-align: left !important;
}

.txt-right {
  text-align: right !important;
}

.block {
  display: block;
}

.iblock {
  display: inline-block;
}

.inline {
  display: inline;
}

.pc-block {
  display: block;
}

@media screen and (max-width: 768px) {
  .pc-block {
    display: none;
  }
}

.pc-iblock {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .pc-iblock {
    display: none;
  }
}

.sp-block {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-block {
    display: block;
  }
}

.sp-iblock {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-iblock {
    display: inline-block;
  }
}

.mt5 {
  margin-top: 5px !important;
}

@media screen and (max-width: 414px) {
  .mt5 {
    margin-top: 3px !important;
  }
}

.mt10 {
  margin-top: 10px !important;
}

@media screen and (max-width: 414px) {
  .mt10 {
    margin-top: 5px !important;
  }
}

.mt15 {
  margin-top: 15px !important;
}

@media screen and (max-width: 414px) {
  .mt15 {
    margin-top: 8px !important;
  }
}

.mt20 {
  margin-top: 20px !important;
}

@media screen and (max-width: 414px) {
  .mt20 {
    margin-top: 10px !important;
  }
}

.mt25 {
  margin-top: 25px !important;
}

@media screen and (max-width: 414px) {
  .mt25 {
    margin-top: 13px !important;
  }
}

.mt30 {
  margin-top: 30px !important;
}

@media screen and (max-width: 414px) {
  .mt30 {
    margin-top: 15px !important;
  }
}

.mt35 {
  margin-top: 35px !important;
}

@media screen and (max-width: 414px) {
  .mt35 {
    margin-top: 18px !important;
  }
}

.mt40 {
  margin-top: 40px !important;
}

@media screen and (max-width: 414px) {
  .mt40 {
    margin-top: 20px !important;
  }
}

.mt45 {
  margin-top: 45px !important;
}

@media screen and (max-width: 414px) {
  .mt45 {
    margin-top: 23px !important;
  }
}

.mt50 {
  margin-top: 50px !important;
}

@media screen and (max-width: 414px) {
  .mt50 {
    margin-top: 25px !important;
  }
}

.mb5 {
  margin-bottom: 5px !important;
}

@media screen and (max-width: 414px) {
  .mb5 {
    margin-bottom: 3px !important;
  }
}

.mb10 {
  margin-bottom: 10px !important;
}

@media screen and (max-width: 414px) {
  .mb10 {
    margin-bottom: 5px !important;
  }
}

.mb15 {
  margin-bottom: 15px !important;
}

@media screen and (max-width: 414px) {
  .mb15 {
    margin-bottom: 8px !important;
  }
}

.mb20 {
  margin-bottom: 20px !important;
}

@media screen and (max-width: 414px) {
  .mb20 {
    margin-bottom: 10px !important;
  }
}

.mb25 {
  margin-bottom: 25px !important;
}

@media screen and (max-width: 414px) {
  .mb25 {
    margin-bottom: 13px !important;
  }
}

.mb30 {
  margin-bottom: 30px !important;
}

@media screen and (max-width: 414px) {
  .mb30 {
    margin-bottom: 15px !important;
  }
}

.mb35 {
  margin-bottom: 35px !important;
}

@media screen and (max-width: 414px) {
  .mb35 {
    margin-bottom: 18px !important;
  }
}

.mb40 {
  margin-bottom: 40px !important;
}

@media screen and (max-width: 414px) {
  .mb40 {
    margin-bottom: 20px !important;
  }
}

.mb45 {
  margin-bottom: 45px !important;
}

@media screen and (max-width: 414px) {
  .mb45 {
    margin-bottom: 23px !important;
  }
}

.mb50 {
  margin-bottom: 50px !important;
}

@media screen and (max-width: 414px) {
  .mb50 {
    margin-bottom: 25px !important;
  }
}

.ml5 {
  margin-left: 5px !important;
}

@media screen and (max-width: 414px) {
  .ml5 {
    margin-left: 3px !important;
  }
}

.ml10 {
  margin-left: 10px !important;
}

@media screen and (max-width: 414px) {
  .ml10 {
    margin-left: 5px !important;
  }
}

.ml15 {
  margin-left: 15px !important;
}

@media screen and (max-width: 414px) {
  .ml15 {
    margin-left: 8px !important;
  }
}

.ml20 {
  margin-left: 20px !important;
}

@media screen and (max-width: 414px) {
  .ml20 {
    margin-left: 10px !important;
  }
}

.ml25 {
  margin-left: 25px !important;
}

@media screen and (max-width: 414px) {
  .ml25 {
    margin-left: 13px !important;
  }
}

.ml30 {
  margin-left: 30px !important;
}

@media screen and (max-width: 414px) {
  .ml30 {
    margin-left: 15px !important;
  }
}

.ml35 {
  margin-left: 35px !important;
}

@media screen and (max-width: 414px) {
  .ml35 {
    margin-left: 18px !important;
  }
}

.ml40 {
  margin-left: 40px !important;
}

@media screen and (max-width: 414px) {
  .ml40 {
    margin-left: 20px !important;
  }
}

.ml45 {
  margin-left: 45px !important;
}

@media screen and (max-width: 414px) {
  .ml45 {
    margin-left: 23px !important;
  }
}

.ml50 {
  margin-left: 50px !important;
}

@media screen and (max-width: 414px) {
  .ml50 {
    margin-left: 25px !important;
  }
}

.mr5 {
  margin-right: 5px !important;
}

@media screen and (max-width: 414px) {
  .mr5 {
    margin-right: 3px !important;
  }
}

.mr10 {
  margin-right: 10px !important;
}

@media screen and (max-width: 414px) {
  .mr10 {
    margin-right: 5px !important;
  }
}

.mr15 {
  margin-right: 15px !important;
}

@media screen and (max-width: 414px) {
  .mr15 {
    margin-right: 8px !important;
  }
}

.mr20 {
  margin-right: 20px !important;
}

@media screen and (max-width: 414px) {
  .mr20 {
    margin-right: 10px !important;
  }
}

.mr25 {
  margin-right: 25px !important;
}

@media screen and (max-width: 414px) {
  .mr25 {
    margin-right: 13px !important;
  }
}

.mr30 {
  margin-right: 30px !important;
}

@media screen and (max-width: 414px) {
  .mr30 {
    margin-right: 15px !important;
  }
}

.mr35 {
  margin-right: 35px !important;
}

@media screen and (max-width: 414px) {
  .mr35 {
    margin-right: 18px !important;
  }
}

.mr40 {
  margin-right: 40px !important;
}

@media screen and (max-width: 414px) {
  .mr40 {
    margin-right: 20px !important;
  }
}

.mr45 {
  margin-right: 45px !important;
}

@media screen and (max-width: 414px) {
  .mr45 {
    margin-right: 23px !important;
  }
}

.mr50 {
  margin-right: 50px !important;
}

@media screen and (max-width: 414px) {
  .mr50 {
    margin-right: 25px !important;
  }
}

.page-id-69 .box-wrap01 {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 769px) {
  .list04 li:first-child .left-box {
    height: 397px;
  }
}

.unit-flex-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.unit-list-03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 20px;
}

@media screen and (max-width: 768px) {
  .unit-list-03 {
    margin-left: 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.unit-list-03 li {
  font-size: 1.2rem;
  position: relative;
  margin-right: 20px;
}

.unit-list-03 li:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -10px;
  width: 1px;
  height: 15px;
  background: #6e6a83;
}

.unit-list-03 li:last-of-type {
  margin-right: 0;
}

.unit-list-03 li:last-of-type:before {
  content: none;
}

@media screen and (max-width: 768px) {
  .p15sp {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.box-undertitle-01 .title-wrap {
  background: url(images/title/title_company.jpg) no-repeat center center transparent;
  background-size: cover;
}

.box-wrap04.flex .col1, .bg2 ol.box-wrap04 .col1, .box-wrap04.box-wrap06 .col1, .sampling .flow ul.box-wrap04 .col1, .sampling .bg03 .cf dl.box-wrap04 .col1 {
  width: 100%;
}

.box-wrap04.flex .flexbox, .bg2 ol.box-wrap04 .flexbox, .box-wrap04.box-wrap06 .flexbox, .sampling .flow ul.box-wrap04 .flexbox, .sampling .bg03 .cf dl.box-wrap04 .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 0 !important;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .box-wrap04.flex .flexbox, .bg2 ol.box-wrap04 .flexbox, .box-wrap04.box-wrap06 .flexbox, .sampling .flow ul.box-wrap04 .flexbox, .sampling .bg03 .cf dl.box-wrap04 .flexbox {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .box-wrap04.flex .flexbox > *, .bg2 ol.box-wrap04 .flexbox > *, .box-wrap04.box-wrap06 .flexbox > *, .sampling .flow ul.box-wrap04 .flexbox > *, .sampling .bg03 .cf dl.box-wrap04 .flexbox > * {
    width: 100% !important;
  }
}

@media screen and (min-width: 769px) {
  .box-example-01 {
    width: 792px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 70px;
  }
}

@media screen and (max-width: 768px) {
  .box-example-01 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 35px;
  }
}

.box-example-01 > *:nth-child(n+2) {
  margin-top: 20px;
}

.unit-example-01 .inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}

@media screen and (min-width: 769px) {
  .unit-example-01 .inner .left {
    width: 185px;
    height: 100%;
  }
}

@media screen and (max-width: 768px) {
  .unit-example-01 .inner .left {
    width: 92.5px;
  }
}

.unit-example-01 .inner .left figure {
  width: 100%;
  height: 100%;
}

.unit-example-01 .inner .left img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.unit-example-01 .inner .right {
  background: #fff;
  position: relative;
}

@media screen and (min-width: 769px) {
  .unit-example-01 .inner .right {
    width: calc(100% - 185px);
    padding: 20px 40px;
  }
}

@media screen and (max-width: 768px) {
  .unit-example-01 .inner .right {
    width: calc(100% - 92.5px);
    padding: 10px 20px;
  }
}

.unit-example-01 .inner .right .tagwrap .tag {
  font-size: 1.3rem;
  color: #fff;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  width: 200px;
  padding: 8px 0;
  background: -webkit-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -o-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: linear-gradient(135deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  border-radius: 20px;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .unit-example-01 .inner .right .tagwrap .tag {
    font-size: 1.0rem;
    margin-bottom: 5px;
    max-width: 100%;
  }
}

.unit-example-01 .inner .right .company {
  font-size: 2.2rem;
  font-weight: bold;
  color: #4e4a65;
}

@media screen and (max-width: 768px) {
  .unit-example-01 .inner .right .company {
    font-size: 1.8rem;
    margin-bottom: 5px;
  }
}

.unit-example-01 .inner .right .about {
  font-size: 1.7rem;
  color: #4e4a65;
}

@media screen and (max-width: 768px) {
  .unit-example-01 .inner .right .about {
    font-size: 1.5rem;
    margin-bottom: 5px;
  }
}

.unit-example-01 .inner .right .desc {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .unit-example-01 .inner .right .desc {
    font-size: 1.2rem;
  }
}

.unit-example-01 .inner .right .arrow {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 24px;
  height: 24px;
  background: #514985;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .unit-example-01 .inner .right .arrow {
    width: 16px;
    height: 16px;
  }
}

.unit-example-01 .inner .right .arrow:before {
  content: "\f105";
  font-family: "FontAwesome";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  z-index: 2;
}

@media screen and (min-width: 769px) {
  .unit-example-01.sampling h3 {
    margin-top: 25px;
  }
}

@media screen and (min-width: 769px) {
  .box-example-02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 70px;
  }
}

@media screen and (max-width: 768px) {
  .box-example-02 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 35px;
  }
}

@media screen and (max-width: 768px) {
  .box-example-02 > *:nth-child(n+2) {
    margin-top: 20px;
  }
}

.unit-example-02 .inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}

.unit-example-02 .inner .inner-box {
  background: #fff;
  position: relative;
}

@media screen and (min-width: 769px) {
  .unit-example-02 .inner .inner-box {
    width: 320px;
    padding: 20px 40px;
  }
}

@media screen and (max-width: 768px) {
  .unit-example-02 .inner .inner-box {
    width: 100%;
    padding: 20px;
  }
}

.unit-example-02 .inner .inner-box .tagwrap {
  text-align: center;
  margin-bottom: 10px;
}

.unit-example-02 .inner .inner-box .tagwrap .tag {
  font-size: 1.3rem;
  color: #fff;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  width: 200px;
  padding: 8px 0;
  background: -webkit-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -o-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: linear-gradient(135deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  border-radius: 20px;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .unit-example-02 .inner .inner-box .tagwrap .tag {
    font-size: 1.0rem;
    margin-bottom: 5px;
    max-width: 100%;
  }
}

.unit-example-02 .inner .inner-box .company {
  font-size: 2.2rem;
  font-weight: bold;
  color: #4e4a65;
  text-align: center;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .unit-example-02 .inner .inner-box .company {
    font-size: 1.8rem;
    margin-bottom: 5px;
  }
}

.unit-example-02 .inner .inner-box .about {
  font-size: 1.7rem;
  color: #4e4a65;
  text-align: center;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .unit-example-02 .inner .inner-box .about {
    font-size: 1.5rem;
    margin-bottom: 5px;
  }
}

.unit-example-02 .inner .inner-box .desc {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .unit-example-02 .inner .inner-box .desc {
    font-size: 1.2rem;
  }
}

.unit-example-02 .inner .inner-box .arrow {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 24px;
  height: 24px;
  background: #514985;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .unit-example-02 .inner .inner-box .arrow {
    width: 16px;
    height: 16px;
  }
}

.unit-example-02 .inner .inner-box .arrow:before {
  content: "\f105";
  font-family: "FontAwesome";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  z-index: 2;
}

.unit-example-02.sampling .inner {
  pointer-events: none;
}

.unit-example-02.sampling h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: calc(100% - 40px);
}

@media screen and (min-width: 769px) {
  .box-example-forarchive-01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 70px;
  }
}

@media screen and (max-width: 768px) {
  .box-example-forarchive-01 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 35px;
  }
}

@media screen and (min-width: 769px) {
  .box-example-forarchive-01 > *:nth-of-type(n+3) {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .box-example-forarchive-01 > *:nth-child(n+2) {
    margin-top: 20px;
  }
}

.unit-example-forarchive-01 .inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}

.unit-example-forarchive-01 .inner .inner-box {
  background: #fafafe;
  position: relative;
}

@media screen and (min-width: 769px) {
  .unit-example-forarchive-01 .inner .inner-box {
    width: 480px;
    padding: 20px 40px;
  }
}

@media screen and (max-width: 768px) {
  .unit-example-forarchive-01 .inner .inner-box {
    width: 100%;
    padding: 20px;
  }
}

.unit-example-forarchive-01 .inner .inner-box .tagwrap {
  text-align: center;
  margin-bottom: 10px;
}

.unit-example-forarchive-01 .inner .inner-box .tagwrap .tag {
  font-size: 1.3rem;
  color: #fff;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  width: 200px;
  padding: 8px 0;
  background: -webkit-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: -o-linear-gradient(315deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  background: linear-gradient(135deg, #e8dad0 0%, #e4d8d6 43%, #ded6e3 51%, #e4d8d6 51%, #d9d4ec 51%, #d9d3ee 84%, #d9d3ee 100%);
  border-radius: 20px;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .unit-example-forarchive-01 .inner .inner-box .tagwrap .tag {
    font-size: 1.0rem;
    margin-bottom: 5px;
    max-width: 100%;
  }
}

.unit-example-forarchive-01 .inner .inner-box .company {
  font-size: 2.2rem;
  font-weight: bold;
  color: #4e4a65;
  text-align: center;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .unit-example-forarchive-01 .inner .inner-box .company {
    font-size: 1.8rem;
    margin-bottom: 5px;
  }
}

.unit-example-forarchive-01 .inner .inner-box .about {
  font-size: 1.7rem;
  color: #4e4a65;
  text-align: center;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .unit-example-forarchive-01 .inner .inner-box .about {
    font-size: 1.5rem;
    margin-bottom: 5px;
  }
}

.unit-example-forarchive-01 .inner .inner-box .desc {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .unit-example-forarchive-01 .inner .inner-box .desc {
    font-size: 1.2rem;
  }
}

.unit-example-forarchive-01 .inner .inner-box .txt-center .btn01 {
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .unit-example-forarchive-01 .inner .inner-box .txt-center .btn01 {
    margin-bottom: 15px;
  }
}

.unit-example-forarchive-01 .inner .inner-box .arrow {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 24px;
  height: 24px;
  background: #514985;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .unit-example-forarchive-01 .inner .inner-box .arrow {
    width: 16px;
    height: 16px;
  }
}

.unit-example-forarchive-01 .inner .inner-box .arrow:before {
  content: "\f105";
  font-family: "FontAwesome";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  z-index: 2;
}

.unit-example-forarchive-01.sampling .inner {
  pointer-events: none;
}

.unit-example-forarchive-01.sampling h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: calc(100% - 40px);
}

.single-example .cf.custom .right-box {
  width: 100%;
  float: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 769px) {
  .single-example .cf.custom .right-box > dl {
    width: calc((100% - 20px) / 2);
    padding: 17px 0 16px;
    border: none;
    border-bottom: 1px solid #D6D6D6;
  }
  .single-example .cf.custom .right-box > dl:nth-of-type(2n) {
    margin-left: 20px;
  }
}

@media screen and (max-width: 768px) {
  .single-example .cf.custom .right-box > dl {
    width: 100%;
  }
}