@charset "UTF-8";
/* ================================================================= 
 License : e-TRUST Inc.
 File name : common_style.css
 Style : common_style
================================================================= */
/*黒*/
/*茶グレー*/
/*(赤茶)*/
/*(青)*/
/*(濃い茶)*/
/*(薄い緑)*/
/*(紺)*/
/*(紺)*/
/*緑*/
/*
Zarigani Design Office Drawer Menu
Copyright 2018 Zarigani Design Office

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
@import url(https://use.typekit.net/fhd7qnz.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css2?family=Marcellus&display=swap);
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700|Noto+Serif+JP:300,400,500,600,700&display=swap);
.zdo_drawer_menu * {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-align: left;
  text-decoration: none;
  list-style: none; }
.zdo_drawer_menu a {
  color: inherit;
  text-decoration: none; }
.zdo_drawer_menu a:visited {
  color: inherit; }
.zdo_drawer_menu .zdo_drawer_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  background-color: rgba(51, 51, 51, 0.5);
  display: none;
  top: 0;
  left: 0; }
.zdo_drawer_menu .zdo_drawer_button {
  display: block;
  background: none;
  border: none;
  padding: 0;
  width: 42px;
  letter-spacing: 0.1em;
  cursor: pointer;
  position: fixed;
  top: 32px;
  right: 32px;
  z-index: 1001;
  text-align: center;
  outline: none; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar {
    width: 49px; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar1 {
    transform: rotate(30deg); }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar2 {
    opacity: 0; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar3 {
    transform: rotate(-30deg); }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_menu_text {
    display: none; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_close {
    display: block; }
.zdo_drawer_menu .zdo_drawer_bar {
  display: block;
  height: 2px;
  margin: 10px 0;
  transition: all 0.2s;
  transform-origin: 0 0; }
.zdo_drawer_menu .zdo_drawer_text {
  text-align: center;
  font-size: 10px; }
.zdo_drawer_menu .zdo_drawer_close {
  letter-spacing: 0.08em;
  display: none; }
.zdo_drawer_menu .zdo_drawer_menu_text {
  display: block; }
.zdo_drawer_menu .zdo_drawer_nav_wrapper {
  width: 312px;
  height: 100%;
  transition: all 0.2s;
  transform: translate(312px);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  background-color: #FFF; }
  .zdo_drawer_menu .zdo_drawer_nav_wrapper.open {
    transform: translate(0); }
.zdo_drawer_menu.left .zdo_drawer_button {
  right: auto;
  left: 32px; }
.zdo_drawer_menu.left .zdo_drawer_nav_wrapper {
  transform: translate(-312px);
  right: auto;
  left: 0; }
  .zdo_drawer_menu.left .zdo_drawer_nav_wrapper.open {
    transform: translate(0); }

/*+++ Default Navigation CSS +++*/
.zdo_drawer_menu .zdo_drawer_nav {
  padding: 112px 24px; }
  .zdo_drawer_menu .zdo_drawer_nav li {
    font-size: 16px;
    margin-bottom: 15px; }

/*+++ Default Button Color +++*/
.zdo_drawer_menu .zdo_drawer_button {
  color: #276490; }
  .zdo_drawer_menu .zdo_drawer_button .zdo_drawer_bar {
    background-color: #276490; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

body {
  counter-reset: number 0;
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 1.0px;
  color: #1b1b1b;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  word-wrap: break-word;
  overflow: hidden;
  font-size: 0.875rem;
  /*
  @media screen and (min-width:835px){
  background: url(../images/common/bg01.png) no-repeat right top;
  background-size: cover;
  background-attachment: fixed;
  }
  */ }
  @media only screen and (max-width: 640px) {
    body {
      font-size: 0.9375rem;
      line-height: 1.8em;
      letter-spacing: normal; } }

.contents-inner {
  /*
  	background:rgba(#fff,0.6);
  	padding:2%;
  	*/ }

@media screen and (min-width: 1001px) and (max-width: 1200px) {
  .inner {
    padding-left: 10px !important;
    padding-right: 10px !important; } }
@media screen and (min-width: 835px) and (max-width: 1000px) {
  .inner {
    padding-left: 10px !important;
    padding-right: 10px !important; } }
@media only screen and (max-width: 835px) {
  .inner {
    padding-left: 15px !important;
    padding-right: 15px !important; } }

/*
.inner2 {
	margin: 0 auto;
	max-width: 1000px;
}
*/
#contents_wrap {
  width: 100%;
  min-width: 100% !important; }

#contents {
  font-size: 100%;
  width: 100%;
  max-width: 1100px; }
  @media screen and (min-width: 1001px) and (max-width: 1200px) {
    #contents {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media screen and (min-width: 835px) and (max-width: 1000px) {
    #contents {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    #contents {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media only screen and (max-width: 640px) {
    #contents {
      padding-left: 15px !important;
      padding-right: 15px !important; } }

#main {
  width: 100%; }

#main #col_main {
  width: 100%; }

/*
#side {
	width: 18.75000%;
}
*/
.map {
  margin: 56px 20px 0; }

.map li {
  border-left: 5px solid #CCCCCC;
  list-style: none;
  margin: 0 0 15px;
  padding: 0 0 0 10px;
  text-align: left; }

.policy h2 {
  border-bottom: 2px solid #BBBBBB;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 15px;
  padding: 0 0 5px; }

.policy p {
  margin: 0 0 20px; }

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  table {
    table-layout: fixed; } }
.tlfixed table {
  table-layout: fixed; }

table td img {
  height: auto !important; }

.pdtd10 td {
  padding: 10px !important; }

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line; }

b, strong {
  font-weight: bold; }

u {
  text-decoration: line-through; }

img {
  max-width: 100%;
  height: auto !important; }

small {
  font-size: 80%; }

hr {
  border: none;
  height: 0;
  border-bottom: 1px dashed #B3B3B3; }

span {
  font-weight: inherit; }

u {
  text-decoration: underline; }

b {
  font-weight: 500; }

input[type="button"] {
  cursor: pointer;
  padding: 5px 10px; }

a {
  text-decoration: none; }

a:hover {
  opacity: 0.6; }

@media screen and (min-width: 641px) and (max-width: 835px) {
  .imgR, .imgL {
    max-width: 30% !important; } }
@media only screen and (max-width: 640px) {
  .imgR, .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px;
    max-width: 100% !important;
    text-align: center; } }

.mincho {
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "a-otf-ryumin-pr6n", serif; }

.gothic {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

@media only screen and (max-width: 640px) {
  .fltL {
    float: none;
    width: 100% !important; }

  .fltR {
    float: none;
    width: 100% !important; }

  .sptal {
    text-align: left !important; }

  .sptar {
    text-align: right !important; }

  .sptac {
    text-align: center !important; }

  .spcenter {
    text-align: center;
    display: block;
    margin-top: 10px; } }
header#global_header {
  max-width: 100%;
  width: 100%;
  min-width: 100%; }
  header#global_header #header-wrap {
    width: 100%; }

#header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end; }
  #header .header_L {
    width: 30%; }
    @media only screen and (max-width: 835px) {
      #header .header_L {
        display: none; } }
  #header .header_R {
    width: 70%; }
    @media only screen and (max-width: 835px) {
      #header .header_R {
        width: 100%; } }
  #header .header-logo {
    max-width: 220px;
    min-width: 180px;
    margin: 5% auto; }
    @media screen and (max-width: 1000px) {
      #header .header-logo {
        width: 80%; } }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      #header .header-logo {
        width: 100%;
        min-width: auto; } }
    @media only screen and (max-width: 640px) {
      #header .header-logo {
        width: 80%;
        min-width: auto; } }

#header2 {
  background: rgba(56, 74, 130, 0.1); }
  #header2 .header_L {
    display: flex;
    align-items: center; }
    #header2 .header_L .header-logo {
      max-width: 220px;
      min-width: 180px;
      padding: 10px; }
    #header2 .header_L #nav-wrap {
      width: 100%;
      margin: 0 auto !important; }
      #header2 .header_L #nav-wrap #nav_global ul {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        align-items: center; }
        #header2 .header_L #nav-wrap #nav_global ul li {
          -webkit-flex-grow: 1;
          flex-grow: 1;
          width: auto; }

.mean-container .mean-push {
  display: none !important; }

#nav-wrap {
  width: 100%;
  margin: 15% auto; }
  @media screen and (max-width: 1500px) {
    #nav-wrap {
      margin: 10% auto; } }
  @media screen and (max-width: 1000px) {
    #nav-wrap {
      margin: 5% auto; } }
  @media only screen and (max-width: 835px) {
    #nav-wrap {
      display: none; } }

#nav_global ul {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap; }
  #nav_global ul li {
    width: 50%;
    position: relative; }
    #nav_global ul li a {
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 20px 0;
      text-align: center;
      position: relative;
      text-decoration: none;
      color: #000;
      font-weight: 600;
      font-size: 0.875rem; }
      #nav_global ul li a:hover {
        transition: 0.5s;
        color: #384a82; }
      @media screen and (max-width: 1500px) {
        #nav_global ul li a {
          padding: 15px 0; } }
      @media screen and (max-width: 1500px) {
        #nav_global ul li a {
          padding: 10px 0; } }
    #nav_global ul li ul {
      position: absolute;
      background: rgba(226, 242, 221, 0.9);
      margin: auto;
      display: block;
      width: 100%;
      z-index: 1; }
      #nav_global ul li ul li:before {
        content: none !important; }
      #nav_global ul li ul li a {
        padding: 10px 5px;
        font-size: 0.875rem; }

.mean-bar {
  display: none; }

.header_info {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }
  .header_info .header_cont, .header_info .header_tel {
    width: 70px; }
    .header_info .header_cont a, .header_info .header_tel a {
      height: 200px;
      background: #fff;
      border: 1px solid #dd2328;
      padding: 20px;
      writing-mode: vertical-rl;
      writing-mode: tb-lr;
      display: flex;
      justify-content: center;
      text-orientation: upright;
      color: #dd2328;
      font-weight: 500;
      font-size: 1rem; }
      .header_info .header_cont a i, .header_info .header_tel a i {
        padding-bottom: 10px;
        margin: 0 auto; }
      .header_info .header_cont a span, .header_info .header_tel a span {
        -moz-transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        -ms-transform: rotate(90deg); }
      .header_info .header_cont a:hover, .header_info .header_tel a:hover {
        background: #dd2328;
        transition: 0.5s;
        opacity: 1;
        color: #fff; }
      @media screen and (max-width: 1200px) {
        .header_info .header_cont a, .header_info .header_tel a {
          padding: 10px; } }
    @media screen and (max-width: 1200px) {
      .header_info .header_cont, .header_info .header_tel {
        width: 50px; } }
  .header_info .header_tel a {
    height: 280px;
    background: #151b31;
    color: #fff;
    border: 1px solid #151b31; }
    .header_info .header_tel a:hover {
      background: #151b31; }
  @media screen and (max-width: 835px) {
    .header_info {
      display: none !important; } }

#mainArea {
  position: relative;
  left: 0;
  right: 0;
  max-width: 100%; }
  #mainArea #slider img {
    width: 100%; }
  #mainArea .slick-prev, #mainArea .slick-next {
    z-index: 100;
    height: auto !important;
    width: auto !important; }
  #mainArea .slick-prev {
    left: 18% !important; }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      #mainArea .slick-prev {
        width: 50px !important; } }
  #mainArea .slick-next {
    right: 18% !important; }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      #mainArea .slick-next {
        width: 50px !important; } }
  #mainArea .slick-prev:before, #mainArea .slick-next:before {
    display: none; }

.main_txt {
  width: 60%;
  margin: 0 auto;
  padding: 2%; }
  @media only screen and (max-width: 640px) {
    .main_txt {
      width: 85%; } }

.slick-dotted.slick-slider {
  margin-bottom: 0 !important; }

.mean-container .mean-bar {
  background: #151b31 !important;
  position: fixed !important; }

.mean-container .mean-nav {
  background: #151b31 !important; }

.mean-container .mean-nav ul li a {
  border-top: 1px solid #fff !important;
  padding: 0.8em 5% !important; }

.mean-container .mean-nav ul li a.mean-expand:hover {
  /*
  background-color: #e9832f !important;*/ }

.mean-container .mean-nav ul li a.mean-expand {
  height: 30px !important; }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .mean-container .mean-nav ul li a.mean-expand {
      height: 25px !important; } }

.mean-container .mean-nav ul li li a {
  padding: 0.2em 10% !important; }

.anchor {
  display: block;
  transform: translateY(-100px); }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .anchor {
      transform: translateY(-100px); } }
  @media only screen and (max-width: 640px) {
    .anchor {
      transform: translateY(-60px); } }

.anchor2 {
  display: block;
  transform: translateY(-150px); }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .anchor2 {
      transform: translateY(-100px); } }
  @media only screen and (max-width: 640px) {
    .anchor2 {
      transform: translateY(-100px); } }

/*
飛ばしたいところの前に以下のような記述
<span id="map" class="anchor"></span>
*/
.clone-nav {
  margin: 0 auto !important;
  width: 100%  !important;
  max-width: 100% !important;
  position: fixed;
  background: rgba(237, 237, 237, 0.9);
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  transition: .3s;
  transform: translateY(-100%);
  margin-left: 0 !important; }
  @media only screen and (max-width: 835px) {
    .clone-nav {
      display: none !important; } }
  .clone-nav #nav_global ul {
    -webkit-justify-content: flex-start !important;
    justify-content: flex-start !important; }
    .clone-nav #nav_global ul li {
      -webkit-flex-grow: 1 !important;
      flex-grow: 1 !important;
      width: auto; }

.is-show {
  transform: translateY(0); }

@media screen and (min-width: 836px) {
  .zdo_drawer_menu {
    display: none !important; } }

.zdo_drawer_menu .zdo_drawer_button {
  background: #151b31 !important; }

.zdo_drawer_menu .zdo_drawer_button .zdo_drawer_bar {
  background: #151b31 !important; }

.store_areA {
  padding: 0 10% 5% 10%; }
  .store_areA .h_logo {
    margin: 20px auto 0 auto;
    width: 180px; }
  .store_areA .header-icon-wrap {
    display: flex;
    justify-content: center; }
    .store_areA .header-icon-wrap li {
      width: 30%; }
      .store_areA .header-icon-wrap li a {
        width: 40px;
        height: 40px;
        line-height: 40px;
        margin: 0 auto;
        color: #151b31;
        background: #fff;
        border-radius: 50%; }
        .store_areA .header-icon-wrap li a i {
          padding-right: 0;
          color: #151b31; }

.h_tel, .h_cont {
  width: 220px;
  height: 50px;
  line-height: 50px;
  background: #151b31;
  color: #fff;
  letter-spacing: 0.2em;
  font-size: 1rem;
  margin-bottom: 10px; }
  .h_tel i, .h_cont i {
    margin-right: 5px; }
  .h_tel a, .h_cont a {
    display: block;
    color: #fff !important;
    font-size: 1rem;
    text-align: center; }

.zdo_drawer_menu .zdo_drawer_nav {
  padding: 50px 20px 10px 20px !important;
  	/*height: 400px;
      overflow: scroll;
  	*/ }

.zdo_drawer_menu a {
  display: block;
  color: #fff !important;
  padding-bottom: 10px;
  text-align: center; }
  .zdo_drawer_menu a i {
    color: #151b31;
    padding-right: 5px; }

.zdo_drawer_menu .zdo_drawer_nav li {
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px !important; }

.zdo_drawer_menu .zdo_drawer_menu_text, .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_close {
  display: none !important; }

.zdo_drawer_menu .zdo_drawer_button {
  background: rgba(255, 255, 255, 0.5) !important;
  padding: 0 5px !important;
  width: 50px;
  height: 50px;
  top: 5px !important;
  right: 5px !important; }

.line_tel, .line_tel {
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "a-otf-ryumin-pr6n", serif; }

.zdo_drawer_menu .zdo_drawer_nav_wrapper {
  background: #151b31;
  height: 100%;
  overflow: scroll; }

.zdo_drawer_menu a:visited {
  color: #151b31; }

footer#global_footer {
  position: relative;
  background: none !important;
  min-width: auto !important;
  margin-top: 60px; }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    footer#global_footer {
      margin-top: 40px; } }
  @media only screen and (max-width: 640px) {
    footer#global_footer {
      margin-top: 30px; } }

.TCT-wrap {
  position: relative;
  padding: 4% 15px !important; }
  @media only screen and (max-width: 835px) {
    .TCT-wrap {
      padding: 10% 15px !important; } }

.TCT-inr {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/common/TCT_bg.png) no-repeat center bottom;
  background-size: cover;
  z-index: -1; }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .TCT-inr {
      padding: 10% 0 !important;
      background-attachment: inherit; } }
  @media only screen and (max-width: 640px) {
    .TCT-inr {
      padding: 10% 0 !important;
      background-attachment: inherit; } }

.TCT {
  color: #fff; }
  .TCT .TCT-ttl h2 {
    font-weight: 500;
    line-height: 1.5em;
    font-size: 1.75rem;
    position: relative;
    margin-bottom: 40px; }
    @media (max-width: 1200px) {
      .TCT .TCT-ttl h2 {
        font-size: calc(1.3rem + 0.6vw) ; } }
    @media only screen and (max-width: 835px) {
      .TCT .TCT-ttl h2 {
        font-size: 1.5rem; } }
  @media only screen and (max-width: 835px) and (max-width: 1200px) {
    .TCT .TCT-ttl h2 {
      font-size: calc(1.275rem + 0.3vw) ; } }

    .TCT .TCT-ttl h2:after {
      position: absolute;
      content: '';
      background: rgba(255, 255, 255, 0.8);
      width: 60px;
      height: 3px;
      bottom: -20px;
      left: 0;
      right: 0;
      margin: 0 auto; }
    @media only screen and (max-width: 835px) {
      .TCT .TCT-ttl h2 {
        margin-bottom: 20px; }
        .TCT .TCT-ttl h2:after {
          bottom: -10px; } }
  .TCT .TCT-txt {
    font-size: 1rem;
    letter-spacing: 0.1em;
    margin: 20px auto; }
    @media only screen and (max-width: 640px) {
      .TCT .TCT-txt {
        margin: 15px auto; } }

.TCT-info {
  font-family: "Arial,Helvetica" "Neue", "Helvetica", "sans-serif";
  font-size: 3rem;
  line-height: 1;
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 10px; }
  @media (max-width: 1200px) {
    .TCT-info {
      font-size: calc(1.425rem + 2.1vw) ; } }
  .TCT-info div {
    margin: 5px;
    font-family: "Arial,Helvetica" "Neue", "Helvetica", "sans-serif"; }
    .TCT-info div a {
      color: #fff;
      opacity: 1; }

.TCT-cont a {
  text-align: center;
  font-weight: 500;
  width: 90%;
  margin: 15px auto 0 auto;
  max-width: 500px;
  background: #fff;
  display: block;
  padding: 20px;
  font-size: 1.125rem;
  letter-spacing: normal;
  color: #dd2328;
  border: 1px solid #dd2328; }
  .TCT-cont a i {
    margin-right: 5px; }
  .TCT-cont a img {
    margin-right: 5px;
    vertical-align: initial; }
  .TCT-cont a:hover {
    opacity: 1;
    background: #dd2328;
    color: #fff;
    transition: 0.5s; }
    .TCT-cont a:hover i {
      color: #fff;
      transition: 0.5s; }
  @media only screen and (max-width: 835px) {
    .TCT-cont a {
      font-size: 1rem; } }

.footer-wrap {
  background: #151b31;
  border-top: 20px solid #1e3883;
  padding: 30px 15px; }

.footer {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  color: #fff;
  text-align: left;
  letter-spacing: normal; }
  .footer a {
    color: #fff; }
  .footer .footer-info .footer-logo {
    margin-bottom: 5px; }
    .footer .footer-info .footer-logo a {
      font-size: 1.25rem;
      margin: 5px; }
  .footer .footer-info address {
    font-size: 0.8125rem; }
    .footer .footer-info address a {
      color: #fff;
      opacity: 1; }
  .footer .footer-nav {
    width: 55%;
    max-width: 500px; }
    .footer .footer-nav ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end; }
      .footer .footer-nav ul li {
        margin: 1%; }
        .footer .footer-nav ul li a {
          display: block;
          text-align: right;
          padding: 5px; }
  @media only screen and (max-width: 835px) {
    .footer {
      align-items: center;
      flex-direction: column; }
      .footer .footer-info {
        text-align: center; }
      .footer .footer-nav {
        flex-direction: column;
        width: 100%; }
        .footer .footer-nav ul {
          margin: 5px 0;
          display: flex;
          flex-wrap: wrap;
          justify-content: space-around; }
          .footer .footer-nav ul li {
            flex-grow: 1;
            margin: 1%; }
            .footer .footer-nav ul li a {
              display: block;
              width: 100%;
              text-align: center;
              padding: 5px;
              background: rgba(255, 255, 255, 0.3); }
          .footer .footer-nav ul .pick {
            display: none; } }

#copyright {
  text-align: center;
  background: #151b31;
  color: #fff !important; }
  #copyright a {
    color: #fff !important; }

.mean-container .mean-push {
  display: none !important; }

.title_01 h1 {
  font-size: 2.25rem;
  color: #384a82;
  font-weight: 600;
  position: relative;
  margin-bottom: 40px; }
  @media (max-width: 1200px) {
    .title_01 h1 {
      font-size: calc(1.35rem + 1.2vw) ; } }
  .title_01 h1 .sub {
    color: #000;
    font-size: 1.5rem;
    margin-bottom: 10px;
    display: block; }
    @media (max-width: 1200px) {
      .title_01 h1 .sub {
        font-size: calc(1.275rem + 0.3vw) ; } }
  @media screen and (max-width: 1000px) {
    .title_01 h1 {
      font-size: 1.875rem; } }
  @media screen and (max-width: 1000px) and (max-width: 1200px) {
    .title_01 h1 {
      font-size: calc(1.3125rem + 0.75vw) ; } }
  @media screen and (max-width: 1000px) {
      .title_01 h1 .sub {
        font-size: 1.25rem; } }
  @media only screen and (max-width: 835px) {
    .title_01 h1 {
      font-size: 1.5rem; } }
  @media only screen and (max-width: 835px) and (max-width: 1200px) {
    .title_01 h1 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  @media only screen and (max-width: 835px) {
      .title_01 h1 .sub {
        font-size: 1.125rem;
        margin-bottom: 5px; } }
  .title_01 h1:after {
    position: absolute;
    content: '';
    background: #cccccc;
    width: 60px;
    height: 5px;
    bottom: -30px;
    left: 0; }
  @media only screen and (max-width: 835px) {
    .title_01 h1 {
      margin-bottom: 20px; }
      .title_01 h1:after {
        bottom: -10px; } }

.title_02 h2 {
  color: #fff;
  font-size: 1.75rem;
  font-weight: 500;
  position: relative;
  margin-bottom: 40px; }
  @media (max-width: 1200px) {
    .title_02 h2 {
      font-size: calc(1.3rem + 0.6vw) ; } }
  .title_02 h2:after {
    position: absolute;
    content: '';
    background: rgba(255, 255, 255, 0.6);
    width: 60px;
    height: 5px;
    bottom: -20px;
    left: 0;
    right: 0;
    margin: 0 auto; }
  @media only screen and (max-width: 835px) {
    .title_02 h2 {
      font-size: 1.5rem;
      margin-bottom: 20px; } }
  @media only screen and (max-width: 835px) and (max-width: 1200px) {
    .title_02 h2 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  @media only screen and (max-width: 835px) {
      .title_02 h2:after {
        bottom: -10px; } }

.title_03 h2, .title_03b h2 {
  color: #384a82;
  font-size: 1.75rem;
  font-weight: 500;
  position: relative;
  margin-bottom: 40px; }
  @media (max-width: 1200px) {
    .title_03 h2, .title_03b h2 {
      font-size: calc(1.3rem + 0.6vw) ; } }
  .title_03 h2:after, .title_03b h2:after {
    position: absolute;
    content: '';
    background: rgba(204, 204, 204, 0.8);
    width: 60px;
    height: 5px;
    bottom: -20px;
    left: 0; }
  @media only screen and (max-width: 835px) {
    .title_03 h2, .title_03b h2 {
      font-size: 1.5rem;
      margin-bottom: 20px; } }
  @media only screen and (max-width: 835px) and (max-width: 1200px) {
    .title_03 h2, .title_03b h2 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  @media only screen and (max-width: 835px) {
      .title_03 h2:after, .title_03b h2:after {
        bottom: -10px; } }
  @media only screen and (max-width: 640px) {
    .title_03 h2, .title_03b h2 {
      text-align: center; }
      .title_03 h2:after, .title_03b h2:after {
        right: 0;
        margin: 0 auto; } }

.title_03b h2 {
  text-align: center; }
  .title_03b h2:after {
    right: 0;
    margin: 0 auto; }

.page_title {
  text-align: center; }
  .page_title h1 {
    font-size: 2.25rem;
    color: #151b31;
    font-weight: 600;
    line-height: 1;
    display: inline-block;
    position: relative;
    margin-bottom: 40px; }
    @media (max-width: 1200px) {
      .page_title h1 {
        font-size: calc(1.35rem + 1.2vw) ; } }
    .page_title h1:after {
      position: absolute;
      content: '';
      background: rgba(56, 74, 130, 0.7);
      width: 60px;
      height: 3px;
      left: 0;
      right: 0;
      margin: 0 auto;
      bottom: -20px; }
    @media only screen and (max-width: 835px) {
      .page_title h1 {
        font-size: 1.5rem; } }
  @media only screen and (max-width: 835px) and (max-width: 1200px) {
    .page_title h1 {
      font-size: calc(1.275rem + 0.3vw) ; } }

  .page_title .sub {
    display: block;
    margin: 0 auto;
    width: 50px;
    margin-bottom: 10px; }

.title_a h2, .title_a h3 {
  font-size: 1.5rem;
  color: #384a82;
  font-weight: 500;
  padding-left: 20px;
  background: rgba(21, 27, 49, 0.1);
  border-left: 5px solid #384a82;
  border-bottom: 3px solid #cccccc;
  padding: 7px 0 7px 10px; }
  @media (max-width: 1200px) {
    .title_a h2, .title_a h3 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .title_a h2, .title_a h3 {
      font-size: 1.125rem; } }
  @media only screen and (max-width: 640px) {
    .title_a h2, .title_a h3 {
      font-size: 1.125rem; } }
  .title_a h2 .sub, .title_a h3 .sub {
    font-size: 1rem;
    color: #384a82; }

.title_b h3, .title_b h4 {
  position: relative;
  padding-left: 25px;
  margin: 30px auto 15px auto;
  font-size: 1.125rem;
  font-weight: 500;
  color: #151b31;
  border-bottom: solid 2px rgba(21, 27, 49, 0.5);
  display: flex;
  align-items: center; }
  .title_b h3:after, .title_b h4:after {
    font-family: "Font Awesome 5 Pro";
    content: "\f04b";
    /*アイコンのユニコード*/
    font-weight: 600;
    color: #384a82;
    font-size: 1.25rem;
    position: absolute;
    /*絶対位置*/
    left: 0px;
    /*アイコンの位置*/
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center; }
  @media only screen and (max-width: 835px) {
    .title_b h3, .title_b h4 {
      padding-left: 20px;
      font-size: 1.125rem;
      font-weight: bold; }
      .title_b h3:after, .title_b h4:after {
        font-size: 1rem; } }

.title_c h3, .title_c h4 {
  font-size: 1.125rem;
  color: #fff;
  background: #151b31;
  padding: 5px 10px; }

.title_d h2, .title_d h3, .title_d h4 {
  font-size: 1.125rem;
  font-weight: 600;
  color: #384a82;
  background: rgba(255, 255, 255, 0.5);
  border-left: 5px solid #151b31;
  border-bottom: 3px solid #cccccc;
  padding: 5px 10px; }

.title_e h3, .title_e h4 {
  position: relative;
  padding-left: 20px;
  font-weight: 500;
  color: #384a82;
  border-bottom: dotted 1px rgba(21, 27, 49, 0.5);
  display: flex;
  align-items: center;
  margin: 10px 0; }
  .title_e h3:after, .title_e h4:after {
    font-family: "Font Awesome 5 Pro";
    content: "\f04b";
    /*アイコンのユニコード*/
    font-weight: 600;
    color: #151b31;
    position: absolute;
    /*絶対位置*/
    left: 0px;
    /*アイコンの位置*/
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center; }

.title_center h2, .title_center h3 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex; }
  .title_center h2 div, .title_center h3 div {
    min-width: 20px;
    flex-grow: 1;
    position: relative;
    z-index: 1; }
    .title_center h2 div:after, .title_center h3 div:after {
      content: "";
      width: 100%;
      height: 3px;
      background: url(../images/common/line2.png) repeat-x;
      background-size: contain;
      position: absolute;
      top: 60%;
      left: 0;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      z-index: -1;
      display: block;
      visibility: initial;
      opacity: 0.8; }
  .title_center h2 span, .title_center h3 span {
    position: relative;
    font-weight: 600;
    font-size: 1.25rem;
    color: #384a82;
    background: #transpatent;
    padding: 0 20px; }
    @media only screen and (max-width: 835px) {
      .title_center h2 span, .title_center h3 span {
        font-size: 1.125rem; } }

.title_center2 h2, .title_center2 h3 {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  display: block;
  padding: 10px;
  width: 100%;
  background: #384a82;
  color: #fff; }
  @media (max-width: 1200px) {
    .title_center2 h2, .title_center2 h3 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  .title_center2 h2 a, .title_center2 h3 a {
    color: #fff;
    font-weight: 600;
    text-decoration: underline !important; }
  @media only screen and (max-width: 835px) {
    .title_center2 h2, .title_center2 h3 {
      font-size: 1.25rem; } }

.title_center2b h2, .title_center2b h3 {
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  display: block;
  padding: 10px;
  width: 100%;
  background: #151b31;
  color: #fff; }
  @media (max-width: 1200px) {
    .title_center2b h2, .title_center2b h3 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  .title_center2b h2 a, .title_center2b h3 a {
    color: #fff;
    font-weight: 600;
    text-decoration: underline !important; }

.bg_img_wrap1 {
  position: relative;
  margin: 4% auto;
  padding: 10% 5% 5% 5% !important;
  position: relative; }
  @media screen and (max-width: 1500px) {
    .bg_img_wrap1 {
      padding: 10% 5% 5% 5% !important; } }
  @media screen and (max-width: 1300px) {
    .bg_img_wrap1 {
      padding: 10% 5% 5% 5% !important; } }
  @media screen and (max-width: 1200px) {
    .bg_img_wrap1 {
      padding: 5% 5% 5% 5% !important; } }
  @media screen and (max-width: 1000px) {
    .bg_img_wrap1 {
      padding: 5% 60px !important; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .bg_img_wrap1 {
      padding: 25% 15px 5% 15px !important; } }
  @media only screen and (max-width: 640px) {
    .bg_img_wrap1 {
      padding: 35% 15px 5% 15px !important; } }

.bg_img_inr1 {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/common/top_bg1.png) no-repeat right 10% bottom;
  background-size: 60%;
  z-index: -1; }
  @media only screen and (max-width: 835px) {
    .bg_img_inr1 {
      background-size: 80%;
      background-position: top right 0; } }
  @media only screen and (max-width: 640px) {
    .bg_img_inr1 {
      opacity: 0.7; } }

.cont_01 {
  width: 100%;
  max-width: 750px;
  position: relative;
  z-index: 1;
  font-size: 1rem;
  line-height: 2em;
  background: rgba(255, 255, 255, 0.6); }
  @media screen and (max-width: 1500px) {
    .cont_01 {
      background: rgba(255, 255, 255, 0.6); } }
  @media only screen and (max-width: 835px) {
    .cont_01 {
      font-size: 1rem; } }

.bg_img_wrap2 {
  position: relative;
  padding: 4% 0  !important; }
  @media screen and (max-width: 1300px) {
    .bg_img_wrap2 {
      padding: 6% 0  !important; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .bg_img_wrap2 {
      padding: 8% 0 !important; } }
  @media only screen and (max-width: 640px) {
    .bg_img_wrap2 {
      padding: 10% 0 !important; } }

.bg_img_inr2 {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/common/top_bg2.png) repeat top;
  background-size: cover;
  z-index: -1; }
  @media only screen and (max-width: 640px) {
    .bg_img_inr2 {
      background-position: right bottom; } }

.cont_02 {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto; }
  .cont_02 a {
    width: 23%;
    margin: 1%;
    text-align: center;
    color: #fff; }
    .cont_02 a .box article > h3 {
      display: none; }
    .cont_02 a .box article div {
      text-align: left; }
      .cont_02 a .box article div h3 {
        text-align: center;
        color: #fff;
        font-size: 1.25rem;
        font-weight: 500;
        position: relative;
        margin: 15px auto 20px auto; }
        .cont_02 a .box article div h3:after {
          position: absolute;
          content: '';
          background: rgba(255, 255, 255, 0.6);
          width: 40px;
          height: 3px;
          bottom: -10px;
          left: 0;
          right: 0;
          margin: 0 auto; }
        @media screen and (min-width: 835px) and (max-width: 1000px) {
          .cont_02 a .box article div h3 {
            font-size: 1.125rem; } }
        @media only screen and (max-width: 835px) {
          .cont_02 a .box article div h3 {
            font-size: 1.125rem;
            margin-bottom: 20px; }
            .cont_02 a .box article div h3:after {
              bottom: -10px; } }
  @media only screen and (max-width: 835px) {
    .cont_02 {
      width: 100%; }
      .cont_02 a {
        width: 48%; } }
  @media only screen and (max-width: 640px) {
    .cont_02 a {
      background: rgba(255, 255, 255, 0.3);
      padding: 5px; } }
  @media screen and (max-width: 350px) {
    .cont_02 {
      flex-direction: column; }
      .cont_02 a {
        width: 100%;
        margin: 0 auto 15px auto; } }

.cont_03 {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  align-items: center;
  margin: 0 auto 4% auto; }
  @media screen and (max-width: 1500px) {
    .cont_03 {
      margin: 0 auto 10% auto; } }
  @media screen and (max-width: 1200px) {
    .cont_03 {
      margin: 0 auto 15% auto; } }
  @media screen and (max-width: 1100px) {
    .cont_03 {
      margin: 0 auto 20% auto; } }
  @media screen and (max-width: 1000px) {
    .cont_03 {
      margin: 0 auto 10% auto; } }
  @media only screen and (max-width: 835px) {
    .cont_03 {
      margin: 8% auto; } }
  .cont_03 .box_img {
    width: 50%; }
    .cont_03 .box_img img {
      display: block;
      width: 100%; }
    @media screen and (max-width: 1000px) {
      .cont_03 .box_img {
        width: 90%; } }
    @media only screen and (max-width: 640px) {
      .cont_03 .box_img {
        width: 95%;
        margin: 0 auto; } }
  .cont_03 .box_txt {
    background: rgba(255, 255, 255, 0.8);
    width: 50%;
    padding: 3%;
    display: flex;
    position: absolute;
    max-width: 960px;
    margin: 0 0 0 auto;
    right: 0;
    top: 5%;
    align-items: center; }
    .cont_03 .box_txt .cont_01 {
      min-width: 500px;
      background: none; }
    .cont_03 .box_txt .box_ilust {
      width: 40%; }
    @media screen and (max-width: 1500px) {
      .cont_03 .box_txt {
        width: 60%; } }
    @media screen and (min-width: 1001px) and (max-width: 1200px) {
      .cont_03 .box_txt {
        width: 80%;
        top: 10%; } }
    @media screen and (max-width: 1000px) {
      .cont_03 .box_txt {
        width: 90%;
        top: 20%; } }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      .cont_03 .box_txt {
        position: static;
        margin-top: -10%;
        width: 95%; }
        .cont_03 .box_txt .cont_01 {
          min-width: auto; } }
    @media only screen and (max-width: 640px) {
      .cont_03 .box_txt {
        position: static;
        margin-top: 0;
        width: 100%;
        flex-direction: column-reverse; }
        .cont_03 .box_txt .cont_01 {
          min-width: auto; } }

.bnr1 {
  max-width: 980px;
  width: 95%;
  margin: 0 auto; }

.news_wrap {
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
  padding: 30px;
  width: 95%;
  max-width: 1000px;
  margin: 0 auto; }
  @media only screen and (max-width: 835px) {
    .news_wrap {
      padding: 15px; } }

.news {
  width: 100%;
  margin: 0 auto;
  height: 250px;
  overflow-y: auto;
  line-height: 1.5; }
  .news dt {
    font-size: 1rem; }
  .news dl {
    border: none !important;
    border-bottom: 1px dashed #ccc !important;
    padding: 20px 0;
    display: block !important; }
    .news dl dt {
      border: none !important;
      width: 110px !important;
      background: #fff !important;
      border-radius: 30px;
      padding: 5px 8px !important;
      color: #384a82;
      font-weight: 600; }
    .news dl dd {
      border: none !important;
      width: 100% !important;
      background: none !important;
      padding: 5px 8px !important; }

.bnr_wrap1 {
  max-width: 1200px;
  margin: 0 auto;
  width: 95%;
  align-items: center; }

.btn1 a, .btn1_L a, .btn1_rad30 a, .btn1_rad30_L a {
  text-align: center;
  position: relative;
  z-index: 2;
  background: #151b31;
  transition: all .5s;
  display: block;
  margin: 0 auto;
  width: 90%;
  max-width: 400px;
  min-width: 220px;
  padding: 15px 10px;
  color: #fff;
  font-size: 1rem;
  font-weight: 500; }
  .btn1 a:after, .btn1_L a:after, .btn1_rad30 a:after, .btn1_rad30_L a:after {
    font-family: "Font Awesome 5 Pro";
    content: "\f138";
    /*アイコンのユニコード*/
    font-weight: 600;
    position: absolute;
    /*絶対位置*/
    right: 10px;
    /*アイコンの位置*/
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center; }
  .btn1 a:hover, .btn1_L a:hover, .btn1_rad30 a:hover, .btn1_rad30_L a:hover {
    opacity: 1 !important;
    background-color: #dd2328;
    color: #fff; }
    .btn1 a:hover:after, .btn1_L a:hover:after, .btn1_rad30 a:hover:after, .btn1_rad30_L a:hover:after {
      transform: translate(3px, 0);
      transition: 0.5s;
      color: #fff; }

@media screen and (min-width: 640px) {
  .btn1_L a {
    margin: 0 auto 0 0; } }

.btn1_rad30 a, .btn1_rad30_L a {
  border-radius: 30px; }

@media screen and (min-width: 640px) {
  .btn1_rad30_L a {
    margin: 0 auto 0 0; } }

@media only screen and (max-width: 835px) {
  .btn_wrap {
    flex-direction: column; }
    .btn_wrap .box:first-child {
      width: 100%;
      margin: 0 auto 15px auto; }
    .btn_wrap .box:nth-child(2) {
      width: 100%;
      margin: 0 auto; } }

.bg_color_wrap {
  position: relative;
  padding: 3% 0 !important; }
  @media screen and (max-width: 1500px) {
    .bg_color_wrap {
      padding: 7% 0 !important; } }
  @media only screen and (max-width: 835px) {
    .bg_color_wrap {
      padding: 10% 0 !important; } }

.bg_color_inr {
  width: 1000%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0% 0% 0% -500%;
  background: rgba(21, 27, 49, 0.15);
  z-index: -1; }

.bg_img_wrap {
  position: relative;
  padding: 4% 0  !important; }
  @media screen and (max-width: 1300px) {
    .bg_img_wrap {
      padding: 6% 0  !important; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .bg_img_wrap {
      padding: 8% 0 !important; } }
  @media only screen and (max-width: 640px) {
    .bg_img_wrap {
      padding: 10% 0 !important; } }

.bg_img_inr {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/common/top_bg1.png) repeat top;
  background-size: cover;
  z-index: -1; }
  @media only screen and (max-width: 640px) {
    .bg_img_inr {
      background-position: right bottom; } }

.img_txt_flx {
  display: flex;
  justify-content: space-between; }
  .img_txt_flx .box:first-child {
    width: 38%;
    margin: 1%; }
  .img_txt_flx .box:nth-child(2) {
    width: 58%;
    margin: 1%; }
  @media only screen and (max-width: 640px) {
    .img_txt_flx {
      flex-direction: column; }
      .img_txt_flx .box:first-child {
        width: 100%;
        margin: 0 auto; }
      .img_txt_flx .box:nth-child(2) {
        width: 100%;
        margin: 0 auto; } }

.txt_img_flx {
  display: flex;
  justify-content: space-between; }
  .txt_img_flx .box:first-child {
    width: 58%;
    margin: 1%; }
  .txt_img_flx .box:nth-child(2) {
    width: 38%;
    margin: 1%; }
  @media only screen and (max-width: 640px) {
    .txt_img_flx {
      flex-direction: column-reverse !important; }
      .txt_img_flx .box:first-child {
        width: 100%;
        margin: 0 auto; }
      .txt_img_flx .box:nth-child(2) {
        width: 100%;
        margin: 0 auto; } }

.flx2 {
  border: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }
  @media only screen and (max-width: 835px) {
    .flx2 {
      justify-content: space-between; } }
  .flx2 .box {
    width: 48%;
    margin: 1%; }
    .flx2 .box img {
      width: 100% !important; }
    .flx2 .box tr td {
      padding: 0 !important;
      border: 0 !important; }
  @media only screen and (max-width: 640px) {
    .flx2 {
      flex-direction: column; }
      .flx2 .box:first-child {
        width: 100%;
        margin: 0 auto 15px auto; }
      .flx2 .box:nth-child(2) {
        width: 100%;
        margin: 0 auto; } }

.flx3 {
  position: relative;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }
  @media only screen and (max-width: 835px) {
    .flx3 {
      justify-content: space-between; } }
  .flx3 .box {
    width: 31.333%;
    margin: 1%; }
    .flx3 .box article > h3 {
      display: none; }
    .flx3 .box img {
      width: 100% !important; }
    .flx3 .box tr td {
      padding: 0 !important;
      border: 0 !important; }
  @media only screen and (max-width: 640px) {
    .flx3 {
      flex-direction: column; }
      .flx3 .box {
        width: 100%;
        margin: 0 auto; }
        .flx3 .box:not(:last-child) {
          margin-bottom: 15px; } }

.flx4 {
  border: 0;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row; }
  .flx4 .box {
    width: 23%;
    margin: 1%; }
    .flx4 .box article > h3 {
      display: none; }
    .flx4 .box tr td {
      padding: 0 !important;
      border: 0 !important; }
    .flx4 .box img {
      width: 100% !important; }
  @media only screen and (max-width: 835px) {
    .flx4 .box {
      width: 48%; } }
  @media screen and (max-width: 350px) {
    .flx4 {
      flex-direction: column; }
      .flx4 .box {
        width: 100%;
        margin-bottom: 15px; }
        .flx4 .box:not(:last-child) {
          margin-bottom: 15px; } }

.flx5 {
  border: 0;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row; }
  .flx5 .box {
    width: 18%;
    margin: 1%; }
    .flx5 .box article a:hover img {
      opacity: 0.6 !important; }
    .flx5 .box article > h3 {
      display: none; }
    .flx5 .box article div {
      text-align: center; }
    .flx5 .box tr td {
      padding: 0 !important;
      border: 0 !important; }
    .flx5 .box img {
      display: block;
      margin: 0 auto; }
  @media only screen and (max-width: 835px) {
    .flx5 .box {
      width: 48%; } }
  @media screen and (max-width: 350px) {
    .flx5 {
      flex-direction: column; }
      .flx5 .box {
        width: 100%;
        margin-bottom: 15px; }
        .flx5 .box:not(:last-child) {
          margin-bottom: 15px; } }

.top-insta {
  max-width: 1200px;
  margin: 0 auto; }
  .top-insta .sns_list {
    flex-direction: inherit !important;
    border: none  !important;
    flex-wrap: wrap; }
    .top-insta .sns_list .sns_text {
      display: none; }
    .top-insta .sns_list .sns_photo {
      width: 100% !important;
      height: 100%;
      padding: 0 !important; }
      .top-insta .sns_list .sns_photo img {
        width: 100%;
        height: 100% !important;
        object-fit: cover; }
  .top-insta .sns_list > div {
    border: none !important;
    width: 18%;
    margin: 1%; }
    @media screen and (min-width: 641px) and (max-width: 835px) {
      .top-insta .sns_list > div {
        width: 31%; } }
    @media only screen and (max-width: 640px) {
      .top-insta .sns_list > div {
        width: 48%; } }
    @media screen and (max-width: 350px) {
      .top-insta .sns_list > div {
        width: 100%; } }

section div.form_wrap dl dt {
  background: transration !important; }

.bssp {
  margin: 20px auto; }
  @media only screen and (max-width: 640px) {
    .bssp {
      margin: 15px auto; } }

a.tel-link {
  color: #1b1b1b;
  opacity: 1; }

@media only screen and (max-width: 835px) {
  .brdnt {
    text-align: left !important; }
    .brdnt br {
      display: none; }
    .brdnt div {
      text-align: left !important; }
      .brdnt div br {
        display: none; } }

@media only screen and (max-width: 640px) {
  .brdn {
    text-align: left !important; }
    .brdn br {
      display: none; }
    .brdn div {
      text-align: left !important; }
      .brdn div br {
        display: none; } }

@media screen and (min-width: 836px) {
  .brdnpc br {
    display: none; } }

@media screen and (min-width: 641px) {
  .brdnpct br {
    display: none; } }

@media only screen and (max-width: 640px) {
  .CLS table tr {
    display: flex;
    flex-direction: column-reverse; } }

.company_DL dt {
  align-items: center !important;
  background: rgba(21, 27, 49, 0.6) !important;
  color: #fff; }
@media only screen and (max-width: 640px) {
  .company_DL dl {
    display: block !important; }
    .company_DL dl dt {
      width: 100% !important;
      border-right: 1px solid #ccc !important; }
    .company_DL dl dd {
      width: 100% !important; } }

.company_DL2 dl dt {
  border-bottom: 1px solid #384a82 !important;
  background: none  !important;
  padding: 2% !important;
  align-items: center !important; }
.company_DL2 dl dd {
  border-bottom: 1px solid #ccc !important;
  padding: 2% 2% 2% 5% !important; }
@media only screen and (max-width: 640px) {
  .company_DL2 dl {
    display: block !important; }
    .company_DL2 dl dt {
      width: 100% !important;
      background: rgba(21, 27, 49, 0.7) !important;
      color: #fff;
      align-items: center  !important; }
    .company_DL2 dl dd {
      width: 100% !important;
      border: 1px solid #ccc !important; } }

.company_DL_red dt, .company_DL_black dt, .company_DL_gr dt, .company_DL_blue dt {
  align-items: center !important;
  background: rgba(208, 24, 50, 0.9) !important;
  color: #fff; }
@media only screen and (max-width: 640px) {
  .company_DL_red dl, .company_DL_black dl, .company_DL_gr dl, .company_DL_blue dl {
    display: block !important; }
    .company_DL_red dl dt, .company_DL_black dl dt, .company_DL_gr dl dt, .company_DL_blue dl dt {
      width: 100% !important;
      border-right: 1px solid #ccc !important; }
    .company_DL_red dl dd, .company_DL_black dl dd, .company_DL_gr dl dd, .company_DL_blue dl dd {
      width: 100% !important; } }

.company_DL_black dt {
  background: rgba(0, 0, 0, 0.9) !important; }

.company_DL_gr dt {
  background: rgba(34, 131, 32, 0.9) !important; }

.company_DL_blue dt {
  background: rgba(21, 111, 181, 0.9) !important; }

.form_wrap dl dd > div {
  display: block !important; }

@media only screen and (max-width: 835px) {
  .fancybox-toolbar {
    top: 50px !important; } }

.pankuzu {
  text-align: right;
  margin-top: 20px; }
  @media only screen and (max-width: 835px) {
    .pankuzu {
      display: none; } }

.imgL {
  max-width: 100% !important; }

.error2 h2 {
  font-size: 40px;
  font-weight: bold; }
.error2 a {
  border: 1px solid #ccc;
  padding: 3px 20px;
  display: inline-block; }

.pick01 {
  background: rgba(56, 74, 130, 0.2);
  padding: 30px; }
  @media only screen and (max-width: 835px) {
    .pick01 {
      padding: 20px 10px; } }
  .pick01 h2, .pick01 h3 {
    font-size: 1.5rem;
    color: #384a82;
    font-weight: 600;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 10px;
    text-align: center;
    line-height: 1.5em; }
    @media (max-width: 1200px) {
      .pick01 h2, .pick01 h3 {
        font-size: calc(1.275rem + 0.3vw) ; } }
    .pick01 h2:after, .pick01 h3:after {
      position: absolute;
      content: '';
      background: #cccccc;
      width: 100px;
      height: 3px;
      left: 0;
      right: 0;
      margin: 0 auto;
      bottom: 0; }
    @media only screen and (max-width: 835px) {
      .pick01 h2, .pick01 h3 {
        font-size: 1.125rem; }
        .pick01 h2 br, .pick01 h3 br {
          display: block; } }
  .pick01 .bg1 {
    padding: 10px;
    background: rgba(255, 255, 255, 0.8); }
    .pick01 .bg1 div {
      color: #151b31;
      font-weight: bold; }
  .pick01 .left {
    margin-top: 15px;
    text-align: left !important; }
    .pick01 .left .report-ttl {
      text-align: left !important;
      font-weight: bold;
      border-bottom: 1px solid #1b1b1b; }

.pick02 {
  background: rgba(27, 27, 27, 0.1);
  padding: 15px; }
  @media only screen and (max-width: 835px) {
    .pick02 {
      padding: 10px; } }
  .pick02 .pick_txt div {
    color: #dd2328;
    font-size: 1.25rem;
    font-weight: 500; }

.pick03 {
  padding: 2%;
  background: rgba(21, 27, 49, 0.1); }
  .pick03 h3 {
    font-size: 1.125rem; }
  @media only screen and (max-width: 835px) {
    .pick03 {
      padding: 5%; } }

.picktxt {
  font-size: 1.1em;
  font-weight: 500;
  line-height: 2em; }
  @media only screen and (max-width: 835px) {
    .picktxt {
      font-size: 1.0em;
      line-height: 1.8em; } }

.hosoku {
  background: #ededed;
  padding: 15px;
  font-size: 0.8125rem; }
  .hosoku h2, .hosoku h3 {
    font-size: 1rem;
    color: #384a82;
    font-weight: 600; }

.contact_contents #contents_wrap {
  margin-top: 100px; }
  @media only screen and (max-width: 835px) {
    .contact_contents #contents_wrap {
      margin-top: 50px; } }

.img100 img {
  display: block !important;
  width: 100% !important; }

section form h2.mail.title {
  display: none; }

.page_title_wrap {
  position: relative;
  padding: 10% 0 !important;
  position: relative; }
  @media screen and (max-width: 1300px) {
    .page_title_wrap {
      padding: 7%  !important; } }
  @media screen and (max-width: 1000px) {
    .page_title_wrap {
      padding: 8% 0  !important; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .page_title_wrap {
      padding: 15% 0 !important; } }
  @media only screen and (max-width: 640px) {
    .page_title_wrap {
      padding: 15% 0 !important; } }

.page_title_inr {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/common/main_pc.png) no-repeat center;
  background-size: cover;
  z-index: -1;
  opacity: 1; }
  @media only screen and (max-width: 835px) {
    .page_title_inr {
      opacity: 0.5; } }

.step-title h2, .step-title2 h2 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #384a82;
  position: relative;
  border-top: solid 2px rgba(21, 27, 49, 0.3);
  border-bottom: solid 2px rgba(21, 27, 49, 0.3);
  background: rgba(21, 27, 49, 0.1);
  line-height: 1.4;
  padding: 0.2em; }
  @media (max-width: 1200px) {
    .step-title h2, .step-title2 h2 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  .step-title h2:after, .step-title2 h2:after {
    /*タブ*/
    position: absolute;
    font-family: "Font Awesome 5 pro", "heisei-maru-gothic-std", sans-serif;
    content: '\f0a6\ Point';
    font-size: 0.875rem;
    background: #151b31;
    color: #fff;
    left: 0px;
    bottom: 100%;
    border-radius: 3px 3px 0 0;
    padding: 5px 10px 3px;
    line-height: 1;
    letter-spacing: 0.05em; }
  @media only screen and (max-width: 835px) {
    .step-title h2 h2, .step-title2 h2 h2 {
      font-size: 1.0625rem; } }
.step-title h3, .step-title2 h3 {
  font-size: 1.5rem;
  background: #eee;
  color: #151b31;
  position: relative;
  border-top: solid 2px #151b31;
  border-bottom: solid 2px #151b31;
  line-height: 1.4;
  padding: 0.2em; }
  @media (max-width: 1200px) {
    .step-title h3, .step-title2 h3 {
      font-size: calc(1.275rem + 0.3vw) ; } }
  .step-title h3:after, .step-title2 h3:after {
    /*タブ*/
    position: absolute;
    font-family: "Font Awesome 5 pro", Montserrat, sans-serif;
    content: '\f5ad\ point';
    background: #151b31;
    color: #fff;
    left: 0px;
    bottom: 100%;
    border-radius: 3px 3px 0 0;
    padding: 5px 10px 3px;
    font-size: 0.7em;
    line-height: 1;
    letter-spacing: 0.05em; }

.step-title2 h3:after {
  content: '\f4b6\ voice'; }

.step-title3 h3 {
  font-size: 1.25rem;
  font-weight: 500;
  color: #151b31;
  border-bottom: 1px dashed #555;
  padding-bottom: 10px; }
  .step-title3 h3 span {
    font-size: 1.5rem;
    background: #384a82;
    border-radius: 5px;
    font-family: "balboa", sans-serif;
    color: #fff;
    font-weight: 500;
    padding: 5px 5px 3px 5px;
    margin-right: 5px; }
    @media (max-width: 1200px) {
      .step-title3 h3 span {
        font-size: calc(1.275rem + 0.3vw) ; } }

.staff-title h2, .staff-title h3 {
  font-size: 1.25rem;
  color: #4c3c14;
  position: relative;
  border-top: solid 2px rgba(156, 77, 42, 0.3);
  border-bottom: solid 2px rgba(156, 77, 42, 0.3);
  background: rgba(21, 27, 49, 0.1);
  line-height: 1.4;
  padding: 0.2em; }
  .staff-title h2:after, .staff-title h3:after {
    /*タブ*/
    position: absolute;
    font-family: "Font Awesome 5 pro";
    content: '\f7f3\ STAFF';
    background: #9c4d2a;
    color: #fff;
    left: 0px;
    bottom: 100%;
    border-radius: 3px 3px 0 0;
    padding: 5px 10px 3px;
    font-size: 0.7em;
    line-height: 1;
    letter-spacing: 0.05em; }
  @media only screen and (max-width: 835px) {
    .staff-title h2, .staff-title h3 {
      font-size: 1.125rem; } }

.ippan_flx {
  display: flex;
  justify-content: space-between; }
  .ippan_flx .box_img {
    width: 28%;
    margin: 1%; }
  .ippan_flx .box_txt {
    width: 68%;
    margin: 1%; }
  @media only screen and (max-width: 640px) {
    .ippan_flx {
      flex-direction: column; }
      .ippan_flx .box_img {
        width: 100%;
        margin: 0 auto; }
      .ippan_flx .box_txt {
        width: 100%;
        margin: 0 auto; } }

.ippan_DL dt {
  min-width: 170px; }

.ippan_flx2 .box article > h3 {
  display: none; }
.ippan_flx2 .box article div {
  padding-top: 10px; }
  .ippan_flx2 .box article div h3 {
    background: #dd2328;
    text-align: center;
    color: #fff;
    font-size: 1rem;
    padding: 5px; }

.ippan_flx3 .box div {
  text-align: center;
  background: rgba(221, 35, 40, 0.2);
  font-weight: 500;
  font-size: 1rem;
  padding: 10px; }
@media screen and (min-width: 641px) and (max-width: 835px) {
  .ippan_flx3 .box {
    width: 31.333%; } }
@media screen and (max-width: 350px) {
  .ippan_flx3 {
    flex-direction: column; }
    .ippan_flx3 .box {
      width: 100%;
      margin: 0 auto 15px auto; } }

.ippan_cont .box {
  width: 100%; }
  .ippan_cont .box div {
    text-align: center;
    background: rgba(221, 35, 40, 0.2);
    font-weight: 500;
    font-size: 1rem;
    padding: 10px; }

.work_flx {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .work_flx .box_img {
    width: 33%;
    margin: 1%; }
  .work_flx .box_txt {
    width: 63%;
    margin: 1%; }
  @media only screen and (max-width: 640px) {
    .work_flx {
      flex-direction: column; }
      .work_flx .box_img {
        width: 100%;
        margin: 0 auto; }
      .work_flx .box_txt {
        width: 100%;
        margin: 0 auto; } }

.work_info {
  width: 600px;
  display: flex; }
  .work_info .header_tel {
    width: 48%;
    margin: 1%; }
    .work_info .header_tel a {
      display: flex;
      justify-content: center;
      align-items: center;
      background: #151b31;
      color: #fff;
      padding: 20px;
      color: #fff;
      font-weight: 500;
      font-size: 1.25rem; }
      .work_info .header_tel a i {
        padding-right: 10px; }
      .work_info .header_tel a:hover {
        opacity: 1; }
  .work_info .header_cont, .work_info .header_info .header_tel, .header_info .work_info .header_tel {
    width: 48%;
    margin: 1%; }
    .work_info .header_cont a, .work_info .header_info .header_tel a, .header_info .work_info .header_tel a {
      display: flex;
      justify-content: center;
      align-items: center;
      background: #fff;
      border: 1px solid #dd2328;
      padding: 20px;
      color: #dd2328;
      font-weight: 500;
      font-size: 1.125rem; }
      .work_info .header_cont a i, .work_info .header_info .header_tel a i, .header_info .work_info .header_tel a i {
        padding-right: 10px; }
      .work_info .header_cont a:hover, .work_info .header_info .header_tel a:hover, .header_info .work_info .header_tel a:hover {
        background: #dd2328;
        transition: 0.5s;
        opacity: 1;
        color: #fff; }
  @media only screen and (max-width: 640px) {
    .work_info {
      width: auto;
      flex-direction: column; }
      .work_info .header_tel, .work_info .header_cont, .work_info .header_info .header_tel, .header_info .work_info .header_tel {
        width: 95%;
        max-width: 300px;
        margin: 0 auto 15px auto; } }

.grl3 .box article > h3 {
  display: none; }
.grl3 .box article div {
  margin: 5px auto;
  color: #151b31;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.5em; }
@media only screen and (max-width: 640px) {
  .grl3 .box {
    width: 48%;
    margin: 1%; } }

.step_txt span {
  font-size: 1rem;
  font-weight: bold;
  color: #151b31; }

.price_tbl table {
  table-layout: auto !important; }
@media screen and (max-width: 835px) {
  .price_tbl {
    overflow-x: auto !important;
    white-space: nowrap !important; } }

.gomi_flx {
  display: flex;
  justify-content: space-between; }
  .gomi_flx .box:first-child {
    width: 28%;
    margin: 1%; }
  .gomi_flx .box:nth-child(2) {
    width: 68%;
    margin: 1%; }
  @media only screen and (max-width: 640px) {
    .gomi_flx {
      flex-direction: column; }
      .gomi_flx .box:first-child {
        width: 100%;
        margin: 0 auto; }
      .gomi_flx .box:nth-child(2) {
        width: 100%;
        margin: 0 auto; } }

.rs-tel {
  font-size: 1.5rem;
  color: #384a82 !important;
  font-family: century-gothic, sans-serif;
  font-style: normal;
  font-weight: 400; }
  @media (max-width: 1200px) {
    .rs-tel {
      font-size: calc(1.275rem + 0.3vw) ; } }
  .rs-tel a {
    color: #384a82; }
  .rs-tel:before {
   /*
 font-family: "Font Awesome 5 Free";
 content: "\f0c4";
 font-weight: 600;
*/
    content: '';
    background: url(../images/common/header_tel_icon.png) no-repeat;
    background-size: contain;
    display: inline-block;
    width: 35px;
    height: 35px;
    vertical-align: middle;
    padding-right: 5px; }

.list01 dl, .list02 dl {
  border-bottom: 1px dashed #1b1b1b; }
  .list01 dl dt, .list02 dl dt {
    border: none !important;
    background: none !important; }
  .list01 dl dd, .list02 dl dd {
    border: none !important;
    background: none !important;
    text-align: right !important;
    min-width: 180px;
    color: #151b31;
    font-weight: bold; }
  @media only screen and (max-width: 640px) {
    .list01 dl, .list02 dl {
      display: block !important; }
      .list01 dl dd, .list02 dl dd, .list01 dl dt, .list02 dl dt {
        width: 100% !important; }
      .list01 dl dd, .list02 dl dd {
        padding: 0 !important; } }

.list02 dl dd {
  min-width: 300px; }
@media only screen and (max-width: 640px) {
  .list02 dl {
    display: block !important; }
    .list02 dl dd, .list02 dl dt {
      width: 100% !important; } }

.list03 dl {
  border-bottom: 1px dashed #1b1b1b; }
  .list03 dl dt {
    border: none !important;
    background: none !important;
    color: #8a4609;
    font-weight: bold;
    min-width: 280px; }
  .list03 dl dd {
    border: none !important;
    background: none !important;
    text-align: right !important; }
  @media only screen and (max-width: 640px) {
    .list03 dl {
      display: block !important; }
      .list03 dl dd, .list03 dl dt {
        width: 100% !important;
        text-align: left !important; } }

.faq table td {
  border: none; }

.faq-q span, .faq-a span {
  width: 40px;
  height: 40px;
  display: block;
  background: #384a82;
  line-height: 40px;
  border-radius: 5px;
  color: #fff;
  font-size: 1.5rem; }
  @media (max-width: 1200px) {
    .faq-q span, .faq-a span {
      font-size: calc(1.275rem + 0.3vw) ; } }
@media only screen and (max-width: 640px) {
  .faq-q, .faq-a {
    background: #384a82;
    padding: 0 !important; }
    .faq-q span, .faq-a span {
      display: inline-block; } }

.faq-a span {
  background: #151b31; }
@media only screen and (max-width: 640px) {
  .faq-a {
    background: #151b31; } }

@media screen and (min-width: 640px) {
  .faq-q-txt {
    border-bottom: 1px dashed #ccc !important; } }

.qa_FLX .box {
  width: 100%; }
  .qa_FLX .box:first-child {
    margin-bottom: 10px; }
    .qa_FLX .box:first-child > div {
      display: flex;
      flex-wrap: wrap; }
      .qa_FLX .box:first-child > div .icon {
        background: #151b31;
        border-radius: 5px;
        width: 40px;
        min-width: 40px;
        height: 40px;
        line-height: 2em;
        margin-right: 10px;
        color: #fff;
        display: block;
        font-size: 1.25rem;
        text-align: center; }
  .qa_FLX .box:nth-child(2) > div {
    display: flex; }
    .qa_FLX .box:nth-child(2) > div .icon {
      background: #dd2328;
      border-radius: 5px;
      width: 40px;
      min-width: 40px;
      height: 40px;
      height: 40px;
      line-height: 2em;
      margin-right: 10px;
      color: #fff;
      display: block;
      font-size: 1.25rem;
      text-align: center; }
  @media only screen and (max-width: 640px) {
    .qa_FLX .box:first-child, .qa_FLX .box:nth-child(2) {
      width: 100%; }
      .qa_FLX .box:first-child > div, .qa_FLX .box:nth-child(2) > div {
        flex-direction: column;
        width: 100%; }
        .qa_FLX .box:first-child > div .icon, .qa_FLX .box:nth-child(2) > div .icon {
          width: 100%; } }
.qa_FLX:not(:last-child) {
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 15px; }

.blog {
  max-width: 1200px;
  margin: 80px auto 0; }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .blog {
      margin: 50px auto 0; } }
  @media only screen and (max-width: 640px) {
    .blog {
      margin: 30px auto 0; } }
  .blog .wrap {
    display: flex; }
    .blog .wrap aside {
      width: 28%;
      margin: 1%; }
      .blog .wrap aside nav {
        line-height: 2.0em; }
        .blog .wrap aside nav h3 {
          background: #384a82 !important; }
        .blog .wrap aside nav ul li .blogside {
          color: #1b1b1b; }
          .blog .wrap aside nav ul li .blogside span {
            color: #151b31;
            margin-left: 5px;
            display: block; }
        .blog .wrap aside nav > a {
          background: #151b31 !important; }
    .blog .wrap #contents {
      width: 68%;
      margin: 1%;
      min-width: auto; }
      .blog .wrap #contents article .date {
        color: #151b31 !important; }
      .blog .wrap #contents article div img {
        width: 48%;
        margin: 1%; }
      .blog .wrap #contents article .date {
        color: #151b31 !important; }
      .blog .wrap #contents article h2 {
        background: #151b31;
        color: #fff !important;
        font-family: "heisei-maru-gothic-std", sans-serif; }
    @media only screen and (max-width: 835px) {
      .blog .wrap {
        flex-direction: column; }
        .blog .wrap aside, .blog .wrap #contents {
          width: 100%;
          margin: 10px auto; }
        .blog .wrap aside {
          text-align: center !important; } }
    @media only screen and (max-width: 640px) {
      .blog .wrap #contents article {
        padding: 0; }
        .blog .wrap #contents article div {
          flex-direction: column; }
          .blog .wrap #contents article div img {
            width: 100%; } }

.items:not(.slick-initialized) {
  display: flex;
  margin-left: 0; }
  .items:not(.slick-initialized) article {
    width: 23% !important;
    margin: 1% !important; }
    .items:not(.slick-initialized) article .photo {
      width: 100% !important;
      height: 170px !important; }
      .items:not(.slick-initialized) article .photo img {
        height: 170px !important;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
    .items:not(.slick-initialized) article .price {
      text-align: center; }
    .items:not(.slick-initialized) article button {
      margin: 0 auto; }
  @media screen and (max-width: 1000px) {
    .items:not(.slick-initialized) article {
      width: 31.333% !important;
      margin: 1% !important; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .items:not(.slick-initialized) article {
      width: 31.333% !important;
      margin: 1% !important; } }
  @media only screen and (max-width: 640px) {
    .items:not(.slick-initialized) article {
      width: 48% !important;
      margin: 1% !important; } }
  @media screen and (max-width: 350px) {
    .items:not(.slick-initialized) article {
      width: 100% !important;
      margin: 1% !important; } }

.items article {
  align-items: stretch !important; }

.custum_shop .items:not(.slick-initialized) {
  display: flex;
  margin-left: 0; }
  .custum_shop .items:not(.slick-initialized) article {
    width: 18% !important;
    margin: 1% !important; }
    .custum_shop .items:not(.slick-initialized) article .photo {
      width: 100% !important;
      height: 170px !important; }
      .custum_shop .items:not(.slick-initialized) article .photo img {
        height: 170px !important;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
    .custum_shop .items:not(.slick-initialized) article .price {
      text-align: center; }
    .custum_shop .items:not(.slick-initialized) article button {
      margin: 0 auto; }
  @media screen and (max-width: 1000px) {
    .custum_shop .items:not(.slick-initialized) article {
      width: 23% !important;
      margin: 1% !important; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .custum_shop .items:not(.slick-initialized) article {
      width: 31.333% !important;
      margin: 1% !important; } }
  @media only screen and (max-width: 640px) {
    .custum_shop .items:not(.slick-initialized) article {
      width: 48% !important;
      margin: 1% !important; } }
  @media screen and (max-width: 350px) {
    .custum_shop .items:not(.slick-initialized) article {
      width: 100% !important;
      margin: 1% !important; } }
.custum_shop .items article {
  align-items: stretch !important; }

@media only screen and (max-width: 835px) {
  #col_main .errorbg {
    padding: 0 !important; } }

.slide-bottom {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1500ms; }

.slide-bottom.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-top {
  opacity: 0;
  transform: translate(0, -50px);
  transition: all 1500ms; }

.slide-top.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-top2 {
  opacity: 0.4;
  transform: translate(0, -50px);
  transition: all 1500ms; }

.slide-top2.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-right {
  opacity: 0;
  transform: translate(100px, 0px);
  transition: all 2500ms; }

.slide-right.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-left {
  opacity: 0;
  transform: translate(-100px, 0px);
  transition: all 2500ms; }

.slide-left.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-left2 {
  opacity: 0;
  transform: translate(-100px, 0px);
  transition: all 1000ms; }

.slide-left2.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.works-FLX {
  display: flex;
  flex-wrap: wrap;
  align-items: top; }
  .works-FLX a:hover {
    opacity: 1 !important; }
  .works-FLX .boxL {
    width: 43%;
    margin: 1%; }
    .works-FLX .boxL ul li article div {
      display: none; }
  .works-FLX .boxR, .works-FLX .boxall {
    width: 53%;
    margin: 1%; }
    .works-FLX .boxR ul, .works-FLX .boxall ul {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      .works-FLX .boxR ul li, .works-FLX .boxall ul li {
        width: 32.333%;
        margin: 0 0.5% 1% 0.5%; }
        .works-FLX .boxR ul li article, .works-FLX .boxall ul li article {
          position: relative; }
          .works-FLX .boxR ul li article:before, .works-FLX .boxall ul li article:before {
            content: '';
            display: block;
            padding-top: 100%; }
          .works-FLX .boxR ul li article img, .works-FLX .boxall ul li article img {
            position: absolute;
            top: 0;
            right: 0;
            height: 100% !important;
            width: 100% !important;
            object-fit: cover;
            font-family: 'object-fit: cover;';
            display: block; }
          .works-FLX .boxR ul li article div, .works-FLX .boxall ul li article div {
            display: none; }
  @media only screen and (max-width: 835px) {
    .works-FLX {
      flex-direction: column;
      align-items: center; }
      .works-FLX .boxL {
        width: 90%; }
      .works-FLX .boxR, .works-FLX .boxall {
        width: 95%; } }
  @media only screen and (max-width: 640px) {
    .works-FLX .boxR ul li, .works-FLX .boxall ul li {
      width: 48%; } }
  .works-FLX .boxall {
    width: 100%; }
    .works-FLX .boxall ul li article:before {
      padding-top: 70%; }

/* title */
.midashi h2 {
  color: #fff;
  line-height: 2em;
  font-size: 40px;
  font-weight: bold; }
  @media only screen and (max-width: 640px) {
    .midashi h2 {
      font-size: 20px; } }

.tdpd10 td {
  padding: 10px !important; }

/*# sourceMappingURL=common_style.css.map */
