﻿@charset "UTF-8";
/*--------------------------

base style-1

---------------------------*/
/* css初期化 */
/*----------------------------------------
       Reset
----------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul, li {
  list-style: none;
}

ol.decimal, ol.lower-roman {
	padding-left: 16px;
}

ul.disc {
	padding-left: 32px;
}

ol.decimal li {
	list-style: decimal;	
    margin-bottom: 10px;
    padding-left: 16px;	
}

ul.disc li {
	list-style: disc;	
    margin-bottom: 10px;
    padding-left: 8px;		
}

ol.lower-roman li {
    list-style: lower-roman;
    margin-bottom: 10px;
    padding-left: 16px;
}

h3.toggle-dd {
    font-size: 20px;
	margin-left: 5px;
	font-weight: 700;
}


dl.toggle-dd dt, h3.toggle-dd, dl.toggle dt {
	cursor: pointer;
	/* color: #444; */
	line-height: 1.4;
}

dl.toggle-dd dt, dl.toggle dt {
	clear: both;
	margin-left: 20px;
	margin-bottom: 10px;
	font-weight: 700;
}

dl.toggle-dd dt:before, dl.toggle dt:before {
	/* content: "- ";*/
}

dl.toggle-dd dt:hover, dl.toggle dt:hover, h3.toggle-dd:hover {
	color: #428bca;
}

dl.toggle-dd dd {
	margin-left: 30px;
	color: #555;
	margin-bottom: 10px;	
	line-height: 1.4;
}

dl.toggle-dd dd img {
	padding-right: 10px;
	padding-bottom: 10px;
	padding-top: 10px;
	width: auto;
	height: auto;
}

dl.hide-dd dd {
	display: none;	
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: none;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* mixin */
.clearfix {
  *zoom: 1;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

/* フォント */
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Regular.ttf?43099012") format("truetype");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Bold.ttf?43099012") format("truetype");
  font-weight: 700;
  font-display: swap;	
}

/* アイコン */
@font-face {
  font-family: 'fontello';
  src: url("../fonts/icon/fontello.eot?46661255");
  src: url("../fonts/icon/fontello.eot?46661255#iefix") format("embedded-opentype"), 
	   url("../fonts/icon/fontello.woff2?46661255") format("woff2"), 
	   url("../fonts/icon/fontello.woff?46661255") format("woff"), 
	   url("../fonts/icon/fontello.ttf?46661255") format("truetype"), 
	   url("../fonts/icon/fontello.svg?46661255#fontello") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;	
}

[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-file:before {
  content: '\e800';
}

/* '' */
.icon-cart:before {
  content: '\e801';
}

/* '' */
.icon-mail:before {
  content: '\e802';
}

/* '' */
.icon-folder:before {
  content: '\e803';
}

/* '' */
.icon-star:before {
  content: '\e804';
}

/* '' */
.icon-search:before {
  content: '\e805';
}

/* '' */
.icon-plus:before {
  content: '\e806';
}

/* '' */
.icon-earth:before {
  content: '\e807';
}

/* '' */
.icon-facebook:before {
  content: '\e808';
}

/* '' */
.icon-twitter:before {
  content: '\1d54f';
  /*content: '\e809';*/
}

/* '' */
.icon-play:before {
  content: '\e80a';
}

/* '' */
.icon-up-hand:before {
  content: '\e80b';
}

/* '' */
.icon-youtube:before { 
	content: '\e80c'; 	
	color: #ff0000;
}

 /* '' */
.icon-vimeo:before { 
	content: '\e80d'; 
	color: #19B7EA;
}

 /* '' */
.icon-stumbleupon:before { 
	content: '\e80e'; 
	color: #EB471D;
}

/* '' */
.icon-xing-squared:before { 
	content: '\f169'; 
	colod: #046064;
}

/* '' */
.icon-github-text:before { 
	content: '\f307'; 
} 

/* '' */
.icon-googleplus-rect:before { 
	content: '\f309'; 
} 

/* '' */
.icon-skype:before { 
	content: '\f30b'; 
	color: #00AFF0;
} 

/* '' */
.icon-linkedin-squared:before { 
	content: '\f30c'; 
	color: #0079BA;
} 

/* '' */
.icon-tumblr-rect:before { 
	content: '\f310'; 
	color: #35465C;
} 

/* '' */
.icon-blogger-rect:before { 
	content: '\f315'; 
	color: #FF5722;
} 

/* '' */
.icon-wordpress:before { 
	content: '\f31d'; 
	color: #00749C;
} 

/* '' */
.icon-instagram-filled:before { 
	content: '\f31f'; 
	color: #3F729B;
} 


/* -------------------------------------------------------*/
/* 追加     スマホ 会社概要用追加 */
@media only screen and (max-width: 576px) {
  .officer_position {
    width: 194px !important; 
  }
  .officer_name {
    margin-left: 100px !important; 
  }

    /* 銀行支店名 に対応 */
    .theme_table dd {
      width: calc(100% - 124px) !important;
    }
}

/* -------------------------------------------------------*/


/* '' */
/* bootstrap */
/*!
 * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-overflow-style: scrollbar;
}

.row {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  -webkit-box-flex: 1;
          flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  -ms-flex: 0 0 auto;
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.col-1 {
  -ms-flex: 0 0 8.333333%;
  -webkit-box-flex: 0;
          flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.col-2 {
  -ms-flex: 0 0 16.666667%;
  -webkit-box-flex: 0;
          flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.col-3 {
  -ms-flex: 0 0 25%;
  -webkit-box-flex: 0;
          flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  -ms-flex: 0 0 33.333333%;
  -webkit-box-flex: 0;
          flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-5 {
  -ms-flex: 0 0 41.666667%;
  -webkit-box-flex: 0;
          flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.col-6 {
  -ms-flex: 0 0 50%;
  -webkit-box-flex: 0;
          flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  -ms-flex: 0 0 58.333333%;
  -webkit-box-flex: 0;
          flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-8 {
  -ms-flex: 0 0 66.666667%;
  -webkit-box-flex: 0;
          flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.col-9 {
  -ms-flex: 0 0 75%;
  -webkit-box-flex: 0;
          flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  -ms-flex: 0 0 83.333333%;
  -webkit-box-flex: 0;
          flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.col-11 {
  -ms-flex: 0 0 91.666667%;
  -webkit-box-flex: 0;
          flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.col-12 {
  -ms-flex: 0 0 100%;
  -webkit-box-flex: 0;
          flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  -ms-flex-order: -1;
  -webkit-box-ordinal-group: 0;
          order: -1;
}

.order-last {
  -ms-flex-order: 13;
  -webkit-box-ordinal-group: 14;
          order: 13;
}

.order-0 {
  -ms-flex-order: 0;
  -webkit-box-ordinal-group: 1;
          order: 0;
}

.order-1 {
  -ms-flex-order: 1;
  -webkit-box-ordinal-group: 2;
          order: 1;
}

.order-2 {
  -ms-flex-order: 2;
  -webkit-box-ordinal-group: 3;
          order: 2;
}

.order-3 {
  -ms-flex-order: 3;
  -webkit-box-ordinal-group: 4;
          order: 3;
}

.order-4 {
  -ms-flex-order: 4;
  -webkit-box-ordinal-group: 5;
          order: 4;
}

.order-5 {
  -ms-flex-order: 5;
  -webkit-box-ordinal-group: 6;
          order: 5;
}

.order-6 {
  -ms-flex-order: 6;
  -webkit-box-ordinal-group: 7;
          order: 6;
}

.order-7 {
  -ms-flex-order: 7;
  -webkit-box-ordinal-group: 8;
          order: 7;
}

.order-8 {
  -ms-flex-order: 8;
  -webkit-box-ordinal-group: 9;
          order: 8;
}

.order-9 {
  -ms-flex-order: 9;
  -webkit-box-ordinal-group: 10;
          order: 9;
}

.order-10 {
  -ms-flex-order: 10;
  -webkit-box-ordinal-group: 11;
          order: 10;
}

.order-11 {
  -ms-flex-order: 11;
  -webkit-box-ordinal-group: 12;
          order: 11;
}

.order-12 {
  -ms-flex-order: 12;
  -webkit-box-ordinal-group: 13;
          order: 12;
}

.offset-1 {
  margin-left: 8.333333%;
}

.offset-2 {
  margin-left: 16.666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.333333%;
}

.offset-5 {
  margin-left: 41.666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.333333%;
}

.offset-8 {
  margin-left: 66.666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.333333%;
}

.offset-11 {
  margin-left: 91.666667%;
}

@media only screen and (max-width: 768px) {
  .col-md {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    -webkit-box-flex: 1;
            flex-grow: 1;
    max-width: 100%;
  }
  .col-md-auto {
    -ms-flex: 0 0 auto;
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-md-1 {
    -ms-flex: 0 0 8.333333%;
    -webkit-box-flex: 0;
            flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-md-2 {
    -ms-flex: 0 0 16.666667%;
    -webkit-box-flex: 0;
            flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-md-3 {
    -ms-flex: 0 0 25%;
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    -ms-flex: 0 0 33.333333%;
    -webkit-box-flex: 0;
            flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-md-5 {
    -ms-flex: 0 0 41.666667%;
    -webkit-box-flex: 0;
            flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-md-6 {
    -ms-flex: 0 0 50%;
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    -ms-flex: 0 0 58.333333%;
    -webkit-box-flex: 0;
            flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-md-8 {
    -ms-flex: 0 0 66.666667%;
    -webkit-box-flex: 0;
            flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-md-9 {
    -ms-flex: 0 0 75%;
    -webkit-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    -ms-flex: 0 0 83.333333%;
    -webkit-box-flex: 0;
            flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-md-11 {
    -ms-flex: 0 0 91.666667%;
    -webkit-box-flex: 0;
            flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-md-12 {
    -ms-flex: 0 0 100%;
    -webkit-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
            order: -1;
  }
  .order-md-last {
    -ms-flex-order: 13;
    -webkit-box-ordinal-group: 14;
            order: 13;
  }
  .order-md-0 {
    -ms-flex-order: 0;
    -webkit-box-ordinal-group: 1;
            order: 0;
  }
  .order-md-1 {
    -ms-flex-order: 1;
    -webkit-box-ordinal-group: 2;
            order: 1;
  }
  .order-md-2 {
    -ms-flex-order: 2;
    -webkit-box-ordinal-group: 3;
            order: 2;
  }
  .order-md-3 {
    -ms-flex-order: 3;
    -webkit-box-ordinal-group: 4;
            order: 3;
  }
  .order-md-4 {
    -ms-flex-order: 4;
    -webkit-box-ordinal-group: 5;
            order: 4;
  }
  .order-md-5 {
    -ms-flex-order: 5;
    -webkit-box-ordinal-group: 6;
            order: 5;
  }
  .order-md-6 {
    -ms-flex-order: 6;
    -webkit-box-ordinal-group: 7;
            order: 6;
  }
  .order-md-7 {
    -ms-flex-order: 7;
    -webkit-box-ordinal-group: 8;
            order: 7;
  }
  .order-md-8 {
    -ms-flex-order: 8;
    -webkit-box-ordinal-group: 9;
            order: 8;
  }
  .order-md-9 {
    -ms-flex-order: 9;
    -webkit-box-ordinal-group: 10;
            order: 9;
  }
  .order-md-10 {
    -ms-flex-order: 10;
    -webkit-box-ordinal-group: 11;
            order: 10;
  }
  .order-md-11 {
    -ms-flex-order: 11;
    -webkit-box-ordinal-group: 12;
            order: 11;
  }
  .order-md-12 {
    -ms-flex-order: 12;
    -webkit-box-ordinal-group: 13;
            order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.333333%;
  }
  .offset-md-2 {
    margin-left: 16.666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.333333%;
  }
  .offset-md-5 {
    margin-left: 41.666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.333333%;
  }
  .offset-md-8 {
    margin-left: 66.666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.333333%;
  }
  .offset-md-11 {
    margin-left: 91.666667%;
  }
}

@media only screen and (max-width: 576px) {
  .col-sm {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    -webkit-box-flex: 1;
            flex-grow: 1;
    max-width: 100%;
  }
  .col-sm-auto {
    -ms-flex: 0 0 auto;
    -webkit-box-flex: 0;
            flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-sm-1 {
    -ms-flex: 0 0 8.333333%;
    -webkit-box-flex: 0;
            flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-sm-2 {
    -ms-flex: 0 0 16.666667%;
    -webkit-box-flex: 0;
            flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-sm-3 {
    -ms-flex: 0 0 25%;
    -webkit-box-flex: 0;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    -ms-flex: 0 0 33.333333%;
    -webkit-box-flex: 0;
            flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-sm-5 {
    -ms-flex: 0 0 41.666667%;
    -webkit-box-flex: 0;
            flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-sm-6 {
    -ms-flex: 0 0 50%;
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    -ms-flex: 0 0 58.333333%;
    -webkit-box-flex: 0;
            flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-sm-8 {
    -ms-flex: 0 0 66.666667%;
    -webkit-box-flex: 0;
            flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-sm-9 {
    -ms-flex: 0 0 75%;
    -webkit-box-flex: 0;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    -ms-flex: 0 0 83.333333%;
    -webkit-box-flex: 0;
            flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-sm-11 {
    -ms-flex: 0 0 91.666667%;
    -webkit-box-flex: 0;
            flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-sm-12 {
    -ms-flex: 0 0 100%;
    -webkit-box-flex: 0;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
            order: -1;
  }
  .order-sm-last {
    -ms-flex-order: 13;
    -webkit-box-ordinal-group: 14;
            order: 13;
  }
  .order-sm-0 {
    -ms-flex-order: 0;
    -webkit-box-ordinal-group: 1;
            order: 0;
  }
  .order-sm-1 {
    -ms-flex-order: 1;
    -webkit-box-ordinal-group: 2;
            order: 1;
  }
  .order-sm-2 {
    -ms-flex-order: 2;
    -webkit-box-ordinal-group: 3;
            order: 2;
  }
  .order-sm-3 {
    -ms-flex-order: 3;
    -webkit-box-ordinal-group: 4;
            order: 3;
  }
  .order-sm-4 {
    -ms-flex-order: 4;
    -webkit-box-ordinal-group: 5;
            order: 4;
  }
  .order-sm-5 {
    -ms-flex-order: 5;
    -webkit-box-ordinal-group: 6;
            order: 5;
  }
  .order-sm-6 {
    -ms-flex-order: 6;
    -webkit-box-ordinal-group: 7;
            order: 6;
  }
  .order-sm-7 {
    -ms-flex-order: 7;
    -webkit-box-ordinal-group: 8;
            order: 7;
  }
  .order-sm-8 {
    -ms-flex-order: 8;
    -webkit-box-ordinal-group: 9;
            order: 8;
  }
  .order-sm-9 {
    -ms-flex-order: 9;
    -webkit-box-ordinal-group: 10;
            order: 9;
  }
  .order-sm-10 {
    -ms-flex-order: 10;
    -webkit-box-ordinal-group: 11;
            order: 10;
  }
  .order-sm-11 {
    -ms-flex-order: 11;
    -webkit-box-ordinal-group: 12;
            order: 11;
  }
  .order-sm-12 {
    -ms-flex-order: 12;
    -webkit-box-ordinal-group: 13;
            order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.333333%;
  }
  .offset-sm-2 {
    margin-left: 16.666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.333333%;
  }
  .offset-sm-5 {
    margin-left: 41.666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.333333%;
  }
  .offset-sm-8 {
    margin-left: 66.666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.333333%;
  }
  .offset-sm-11 {
    margin-left: 91.666667%;
  }
}

.d-none {
  display: none;
}

.d-inline {
  display: inline;
}

.d-inline-block {
  display: inline-block;
}

.d-block {
  display: block;
}

.d-table {
  display: table;
}

.d-table-row {
  display: table-row;
}

.d-table-cell {
  display: table-cell;
}

.d-flex {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

.d-inline-flex {
  display: -ms-inline-flexbox;
  display: -webkit-inline-box;
  display: inline-flex;
}

@media only screen and (max-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media only screen and (max-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }
  .d-md-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
  }
  .d-print-inline-flex {
    display: -ms-inline-flexbox !important;
    display: -webkit-inline-box !important;
    display: inline-flex !important;
  }
}

.flex-row {
  -ms-flex-direction: row !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
          flex-direction: row !important;
}

.flex-column {
  -ms-flex-direction: column !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
          flex-direction: column !important;
}

.flex-row-reverse {
  -ms-flex-direction: row-reverse !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
          flex-direction: row-reverse !important;
}

.flex-column-reverse {
  -ms-flex-direction: column-reverse !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
          flex-direction: column-reverse !important;
}

.flex-wrap {
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
}

.flex-nowrap {
  -ms-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  -ms-flex: 1 1 auto !important;
  -webkit-box-flex: 1 !important;
          flex: 1 1 auto !important;
}

.flex-grow-0 {
  -ms-flex-positive: 0 !important;
  -webkit-box-flex: 0 !important;
          flex-grow: 0 !important;
}

.flex-grow-1 {
  -ms-flex-positive: 1 !important;
  -webkit-box-flex: 1 !important;
          flex-grow: 1 !important;
}

.flex-shrink-0 {
  -ms-flex-negative: 0 !important;
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  -ms-flex-negative: 1 !important;
  flex-shrink: 1 !important;
}

.justify-content-start {
  -ms-flex-pack: start !important;
  -webkit-box-pack: start !important;
          justify-content: flex-start !important;
}

.justify-content-end {
  -ms-flex-pack: end !important;
  -webkit-box-pack: end !important;
          justify-content: flex-end !important;
}

.justify-content-center {
  -ms-flex-pack: center !important;
  -webkit-box-pack: center !important;
          justify-content: center !important;
}

.justify-content-between {
  -ms-flex-pack: justify !important;
  -webkit-box-pack: justify !important;
          justify-content: space-between !important;
}

.justify-content-around {
  -ms-flex-pack: distribute !important;
  justify-content: space-around !important;
}

.align-items-start {
  -ms-flex-align: start !important;
  -webkit-box-align: start !important;
          align-items: flex-start !important;
}

.align-items-end {
  -ms-flex-align: end !important;
  -webkit-box-align: end !important;
          align-items: flex-end !important;
}

.align-items-center {
  -ms-flex-align: center !important;
  -webkit-box-align: center !important;
          align-items: center !important;
}

.align-items-baseline {
  -ms-flex-align: baseline !important;
  -webkit-box-align: baseline !important;
          align-items: baseline !important;
}

.align-items-stretch {
  -ms-flex-align: stretch !important;
  -webkit-box-align: stretch !important;
          align-items: stretch !important;
}

.align-content-start {
  -ms-flex-line-pack: start !important;
  align-content: flex-start !important;
}

.align-content-end {
  -ms-flex-line-pack: end !important;
  align-content: flex-end !important;
}

.align-content-center {
  -ms-flex-line-pack: center !important;
  align-content: center !important;
}

.align-content-between {
  -ms-flex-line-pack: justify !important;
  align-content: space-between !important;
}

.align-content-around {
  -ms-flex-line-pack: distribute !important;
  align-content: space-around !important;
}

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
  align-content: stretch !important;
}

.align-self-auto {
  -ms-flex-item-align: auto !important;
  align-self: auto !important;
}

.align-self-start {
  -ms-flex-item-align: start !important;
  align-self: flex-start !important;
}

.align-self-end {
  -ms-flex-item-align: end !important;
  align-self: flex-end !important;
}

.align-self-center {
  -ms-flex-item-align: center !important;
  align-self: center !important;
}

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
  align-self: baseline !important;
}

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
  align-self: stretch !important;
}

@media only screen and (max-width: 576px) {
  .flex-sm-row {
    -ms-flex-direction: row !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
            flex-direction: row !important;
  }
  .flex-sm-column {
    -ms-flex-direction: column !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
            flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    -ms-flex-direction: row-reverse !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    -ms-flex-direction: column-reverse !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    -ms-flex: 1 1 auto !important;
    -webkit-box-flex: 1 !important;
            flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    -ms-flex-positive: 0 !important;
    -webkit-box-flex: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    -ms-flex-positive: 1 !important;
    -webkit-box-flex: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    -ms-flex-pack: start !important;
    -webkit-box-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    -ms-flex-pack: end !important;
    -webkit-box-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    -ms-flex-pack: center !important;
    -webkit-box-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-sm-between {
    -ms-flex-pack: justify !important;
    -webkit-box-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    -ms-flex-align: start !important;
    -webkit-box-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-sm-end {
    -ms-flex-align: end !important;
    -webkit-box-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-sm-center {
    -ms-flex-align: center !important;
    -webkit-box-align: center !important;
            align-items: center !important;
  }
  .align-items-sm-baseline {
    -ms-flex-align: baseline !important;
    -webkit-box-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-sm-stretch {
    -ms-flex-align: stretch !important;
    -webkit-box-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .align-self-sm-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}

@media only screen and (max-width: 768px) {
  .flex-md-row {
    -ms-flex-direction: row !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
            flex-direction: row !important;
  }
  .flex-md-column {
    -ms-flex-direction: column !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
            flex-direction: column !important;
  }
  .flex-md-row-reverse {
    -ms-flex-direction: row-reverse !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
            flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    -ms-flex-direction: column-reverse !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
            flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    -ms-flex: 1 1 auto !important;
    -webkit-box-flex: 1 !important;
            flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    -ms-flex-positive: 0 !important;
    -webkit-box-flex: 0 !important;
            flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    -ms-flex-positive: 1 !important;
    -webkit-box-flex: 1 !important;
            flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    -ms-flex-pack: start !important;
    -webkit-box-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-content-md-end {
    -ms-flex-pack: end !important;
    -webkit-box-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-content-md-center {
    -ms-flex-pack: center !important;
    -webkit-box-pack: center !important;
            justify-content: center !important;
  }
  .justify-content-md-between {
    -ms-flex-pack: justify !important;
    -webkit-box-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .align-items-md-start {
    -ms-flex-align: start !important;
    -webkit-box-align: start !important;
            align-items: flex-start !important;
  }
  .align-items-md-end {
    -ms-flex-align: end !important;
    -webkit-box-align: end !important;
            align-items: flex-end !important;
  }
  .align-items-md-center {
    -ms-flex-align: center !important;
    -webkit-box-align: center !important;
            align-items: center !important;
  }
  .align-items-md-baseline {
    -ms-flex-align: baseline !important;
    -webkit-box-align: baseline !important;
            align-items: baseline !important;
  }
  .align-items-md-stretch {
    -ms-flex-align: stretch !important;
    -webkit-box-align: stretch !important;
            align-items: stretch !important;
  }
  .align-content-md-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .align-content-md-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .align-content-md-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .align-self-md-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .align-self-md-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .align-self-md-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2,
.my-2 {
  margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.mt-3,
.my-3 {
  margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 1rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.mt-4,
.my-4 {
  margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.mt-5,
.my-5 {
  margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 3rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 3rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2,
.py-2 {
  padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
  padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
  padding-left: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.pt-3,
.py-3 {
  padding-top: 1rem !important;
}

.pr-3,
.px-3 {
  padding-right: 1rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
  padding-left: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.pt-4,
.py-4 {
  padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
  padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
  padding-left: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.pt-5,
.py-5 {
  padding-top: 3rem !important;
}

.pr-5,
.px-5 {
  padding-right: 3rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
  padding-left: 3rem !important;
}

.m-n1 {
  margin: -0.25rem !important;
}

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important;
}

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important;
}

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important;
}

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important;
}

.m-n2 {
  margin: -0.5rem !important;
}

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important;
}

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important;
}

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important;
}

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important;
}

.m-n3 {
  margin: -1rem !important;
}

.mt-n3,
.my-n3 {
  margin-top: -1rem !important;
}

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important;
}

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important;
}

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important;
}

.m-n4 {
  margin: -1.5rem !important;
}

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important;
}

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important;
}

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important;
}

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important;
}

.m-n5 {
  margin: -3rem !important;
}

.mt-n5,
.my-n5 {
  margin-top: -3rem !important;
}

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important;
}

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important;
}

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media only screen and (max-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important;
  }
  .m-sm-n1 {
    margin: -0.25rem !important;
  }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important;
  }
  .m-sm-n2 {
    margin: -0.5rem !important;
  }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important;
  }
  .m-sm-n3 {
    margin: -1rem !important;
  }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important;
  }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important;
  }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important;
  }
  .m-sm-n4 {
    margin: -1.5rem !important;
  }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important;
  }
  .m-sm-n5 {
    margin: -3rem !important;
  }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important;
  }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important;
  }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}

@media only screen and (max-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important;
  }
  .m-md-n1 {
    margin: -0.25rem !important;
  }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important;
  }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important;
  }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important;
  }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important;
  }
  .m-md-n2 {
    margin: -0.5rem !important;
  }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important;
  }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important;
  }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important;
  }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important;
  }
  .m-md-n3 {
    margin: -1rem !important;
  }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important;
  }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important;
  }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important;
  }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important;
  }
  .m-md-n4 {
    margin: -1.5rem !important;
  }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important;
  }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important;
  }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important;
  }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important;
  }
  .m-md-n5 {
    margin: -3rem !important;
  }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important;
  }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important;
  }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important;
  }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media only screen and (max-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}

@media only screen and (max-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
/* ページ共通 */
/*  サイト共通
---------------------------*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: none;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  color: #004da2;
  font-family: 'Roboto', Helvetica, Tahoma, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel–antialiased;
  -moz-osx-font-smoothing: auto;
}

@media only screen and (max-width: 576px) {
  body {
    font-size: 14px;
  }
}

body * {
  text-rendering: optimizeLegibility;
}

/*  Jiang-san request   footer nav color to Darkgray */
.footer_nav > .footer_nav_main > li.footer_nav_main_item > a
{
  color:#666;
}
.footer_nav > .footer_nav_sub > li > a
{
  color:#666;
}
/***********************************************************/

a {
  color: #004da2;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}

a:hover {
  text-decoration: underline;
}

a.td_under {
  text-decoration: underline;
}

a.td_under:hover {
  text-decoration: none;
  opacity: .6;
}

a.external {
    background: url(../images/external/external.svg) center right no-repeat;
	background-size: 10px 10px;
    padding-right: 13px;	
	margin-right: 2px;
}

a[href^="tel:"] {
  pointer-events: none;
}

@media only screen and (max-width: 576px) {
  a[href^="tel:"] {
    pointer-events: all;
  }
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}

p {
  line-height: 1.4;
}

@media only screen and (max-width: 576px) {
  p {
    line-height: 1.6;
  }
}

ul, ol, li {
  line-height: 1.4;
}

input,
textarea,
button,
select {
  color: #333;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  outline: none;
  font-size: 16px;
  background: transparent;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}

#content {
  margin-top: 112px;
	
}

.in_admin_mode #content {
	margin-top: 80px;
}

@media only screen and (max-width: 1170px) {
  #content {
    margin-top: 63px;
  }
}

.container {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
}

@media only screen and (max-width: 1170px) {
  .container {
    padding: 0 30px;
  }
}

@media only screen and (max-width: 576px) {
  .container {
    padding: 0 15px;
  }
}

.container_wide {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
}

@media only screen and (max-width: 1170px) {
  .container_wide {
    padding: 0 30px;
  }
}

@media only screen and (max-width: 576px) {
  .container_wide {
    padding: 0 15px;
  }
}

.is-ellipsis {
  text-overflow: ellipsis;
  overflow: hidden;
}

.sns {
  font-size: 20px;
}

@media only screen and (max-width: 768px) {
  .sns {
    font-size: 18px;
	padding-top: 7px;
  }
}

.sns_twitter {
  color: black;
}

.sns_facebook {
  color: #1877f2;
}

.bg_gray {
  background: #efefef;
}

.wp-pagenavi {
  margin: 40px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.wp-pagenavi span, .wp-pagenavi a {
  padding: 5px 10px;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  margin: 0 2px;
  font-size: 14px;
}

.wp-pagenavi .current {
  background: #004da2;
  color: #fff;
  border: 1px #eee solid;
}

.wp-pagenavi a {
  position: relative;
}

.wp-pagenavi a:not(.nextpostslink):not(.previouspostslink) {
  background: #efefef;
}

.wp-pagenavi a:not(.nextpostslink):not(.previouspostslink):hover {
  background: #004da2;
  color: #fff;
  border-color: transparent;
}

.wp-pagenavi a.nextpostslink, .wp-pagenavi a.previouspostslink {
  margin: 0;
  -webkit-transform: translate(0);
          transform: translate(0);
}

.wp-pagenavi a.nextpostslink:hover, .wp-pagenavi a.previouspostslink:hover {
  opacity: .6;
}

.wp-pagenavi a.nextpostslink:hover {
  -webkit-transform: translate(5px);
          transform: translate(5px);
}

.wp-pagenavi a.previouspostslink:hover {
  -webkit-transform: translate(-5px);
          transform: translate(-5px);
}

/* サブページ共通 */
.sub_mv .bg_inner {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.sub_mv .page_heading {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 160px;
}

@media only screen and (max-width: 768px) {
  .sub_mv .page_heading {
    height: 140px;
  }
}

.sub_mv .page_heading_title {
  font-size: 36px;
  color: #fff;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .sub_mv .page_heading_title {
    font-size: 24px;
  }
}

.sub_mv .page_heading_sub {
  text-align: center;
  font-size: 16px;
  position: relative;
  padding-bottom: 5px;
  margin-bottom: 10px;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .sub_mv .page_heading_sub {
    font-size: 12px;
  }
}

.sub_mv .page_heading_sub::after {
  content: "";
  width: 20px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #fff;
}

/*  レイアウト
---------------------------*/
.theme_wrap {
  position: relative;
  overflow-x: hidden;
}

.theme_wrap.has_tab {
  padding-top: 56px;
}

@media only screen and (max-width: 576px) {
  .theme_wrap.has_tab {
    padding-top: 34px;
  }
}

@media only screen and (max-width: 576px) {
  .theme_wrap.has_tab_sm_2row {
    padding-top: 100px;
  }
}

.bd_block {
  border-width: 1px;
  border-style: solid;
}

.bd_bottom {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.bd_top {
  border-top-width: 1px;
  border-top-style: solid;
}

.bd_left {
  border-left-width: 1px;
  border-left-style: solid;
}

.bd_right {
  border-right-width: 1px;
  border-right-style: solid;
}

.bd_blue {
  border-color: #004da2;
}

.bd_gray {
  border-color: #ccc;
}

.bd_none {
  border: none;
}

@media only screen and (max-width: 768px) {
  .bd_md_none {
    border: none;
  }
}

@media only screen and (max-width: 576px) {
  .bd_sp_none {
    border: none;
  }
}

.pd_y_large {
  padding: 60px 0;
  margin: 0px 15px 0px 15px;
}

@media only screen and (max-width: 768px) {
  .pd_y_large {
    padding: 50px 0;
  }
}

.pd_y_medium {
  padding: 40px 0;
  margin: 0px 15px 0px 15px;	
}

@media only screen and (max-width: 768px) {
  .pd_y_medium {
    padding: 30px 0;
  }
}

.pd_y_small {
  padding: 30px 0;
  margin: 0px 15px 0px 15px;	
}

@media only screen and (max-width: 768px) {
  .pd_y_small {
    padding: 20px 0;
  }
}

.pd_y_mini {
  padding: 15px 0;
  margin: 0px 15px 0px 15px;	
}

@media only screen and (max-width: 768px) {
  .pd_y_mini {
    padding: 10px 0;
  }
}


.mt_large {
  margin-top: 40px !important;
}

.mt_medium {
  margin-top: 30px !important;
}

.mt_small {
  margin-top: 20px !important;
}

.mb_large {
  margin-bottom: 40px !important;
}

.mb_medium {
  margin-bottom: 30px !important;
}

.mb_small {
  margin-bottom: 20px !important;
}

.theme_table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.6;
}

.theme_table:not(:last-child) {
  margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
  .theme_table:not(:last-child) {
    margin-bottom: 20px;
  }
}

.theme_table dt {
  width: 160px;
  font-weight: 700;
}

@media only screen and (max-width: 576px) {
  .theme_table dt {
    width: 110px;
  }
}

.theme_table dd {
  width: calc(100% - 160px);
}

.theme_table dd ul li:not(:last-child) {
  margin-bottom: 10px;
}

.theme_table dd a:hover {
  text-decoration: underline;
}

.theme_table dd .dot_item {
  display: block;
  position: relative;
  padding-left: 15px;
}

@media only screen and (max-width: 768px) {
  .theme_table dd .dot_item {
    padding-left: 12px;
  }
}

.theme_table dd .dot_item::before {
  position: absolute;
  top: .4em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background: #e73820;
  content: "";
}

@media only screen and (max-width: 768px) {
  .theme_table dd .dot_item::before {
    width: 6px;
    height: 6px;
    top: 10px;
  }
}

.theme_table.space_small dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 120px;
          flex: 0 0 120px;
}

@media only screen and (max-width: 576px) {
  .theme_table.space_small dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100px;
            flex: 0 0 100px;
  }
}

.theme_location {
  margin-bottom: 70px;
}

@media only screen and (max-width: 768px) {
  .theme_location {
    margin-bottom: 40px;
  }
}

.theme_location_name {
  font-size: 30px;
  font-weight: 700;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
  .theme_location_name {
    font-size: 24px;
  }
}

.theme_location_name::after {
  content: "";
  width: 48px;
  height: 1px;
  background: #004da2;
  position: absolute;
  bottom: 0;
  left: 0;
}

.theme_location dl:not(:last-child) {
  margin-bottom: 50px;
}

@media only screen and (max-width: 768px) {
  .theme_location dl:not(:last-child) {
    margin-bottom: 35px;
  }
}

.theme_location dl dt {
  font-weight: 700;
  margin-bottom: 10px;
}

.theme_location dl dd {
  line-height: 1.6;
}

@media only screen and (max-width: 576px) {
  .theme_message .pic {
    float: none !important;
    text-align: center;
    padding: 0 !important;
    margin-bottom: 30px;
  }
}

.theme_message .pic.pic_right {
  float: right;
  padding: 0 0 30px 60px;
}

.theme_message .pic.pic_left {
  float: left;
  padding: 0 60px 30px 0;
}

.theme_message p:not(:last-child) {
  margin-bottom: 30px;
}

.theme_single_title {
  font-weight: 700;
  font-size: 32px;
  margin: 15px 0 30px;
  line-height: 1.3em;
}

@media only screen and (max-width: 768px) {
  .theme_single_title {
    font-size: 24px;
    margin: 10px 0 20px;
  }
}

.theme_single_block {
  padding: 40px 0;
}

@media only screen and (max-width: 768px) {
  .theme_single_block {
    padding: 30px 0;
  }
}

.theme_single_content {
  line-height: 1.5;
}

@media only screen and (max-width: 576px) {
  .theme_single_content {
    font-size: 14px;
  }
}

.theme_single_content p:not(:last-child) {
  margin-bottom: 20px;
}

@media only screen and (max-width: 576px) {
  .theme_single_content p:not(:last-child) {
    margin-bottom: 15px;
  }
}

.theme_single_content_dl {
  padding-left: 16px;
}

@media only screen and (max-width: 768px) {
  .theme_single_content_dl {
    padding-left: 12px;
  }
}

.theme_single_content_dl:not(:last-child) {
  margin-bottom: 30px;
}

@media only screen and (max-width: 576px) {
  .theme_single_content_dl:not(:last-child) {
    margin-bottom: 15px;
  }
}

.theme_single_content_dl dt {
  position: relative;
  margin-bottom: 5px;
  font-weight: 700;
}

.theme_single_content_dl dt::before {
  position: absolute;
  left: -12px;
  top: .48em;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background: #e73820;
  content: "";
}

@media only screen and (max-width: 768px) {
  .theme_single_content_dl dt::before {
    left: -10px;
  }
}

.theme_panel {
  padding: 30px 50px;
}

@media only screen and (max-width: 768px) {
  .theme_panel {
    padding: 20px;
  }
}

.googlemap {
  width: 100%;
}

.fz_18 {
  font-size: 18px;
}

.fz_20 {
  font-size: 20px;
}

.fz_24 {
  font-size: 24px;
}

.fz_32 {
  font-size: 32px;
}

@media only screen and (max-width: 768px) {
  .fz_md_16 {
    font-size: 16px;
  }
}

/* ヘッダー */
#header {
  position: relative;
  z-index: 99;
  background: #fff;
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  min-height: 112px;
}

@media only screen and (max-width: 1170px) {
  #header {
    z-index: 999;
    min-height: inherit;
  }
}

@media only screen and (max-width: 768px) {
  #header {
    height: 64px;
  }
}

#header ul, #header ol, #header li {
  line-height: 1;
}

#header a:hover {
  text-decoration: none;
}

#header .header_inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-right: 200px;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner {
    padding-right: 63px;
  }
}

#header .header_inner .header_logo {
  padding-left: 25px;
  -ms-flex-item-align: center;
      align-self: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 200px;
          flex: 0 0 200px;
  max-width: 200px;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_logo {
    padding-left: 15px;
    margin: 15px 0;
  }
}

@media only screen and (max-width: 768px) {
  #header .header_inner .header_logo {
    margin: 10px 0;
  }
}

@media only screen and (max-width: 576px) {
  #header .header_inner .header_logo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 130px;
            flex: 0 0 130px;
    max-width: 130px;
  }
}

#header .header_inner .header_logo img {
  max-width: 170px;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_logo img {
    max-width: 130px;
  }
}

#header .header_inner .header_nav {
  margin-left: auto;
  padding-right: 15px;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_nav {
    padding-right: 0;
  }
}

#header .header_inner .header_nav::before {
  content: "";
  background: #fff;
  height: 100%;
  width: 70px;
  position: absolute;
  top: 0;
  right: 185px;
  -webkit-transform: skewX(-15deg);
          transform: skewX(-15deg);
  z-index: 1;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_nav::before {
    display: none;
  }
}

#header .header_inner .header_nav_sub, #header .header_inner .header_nav_main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

#header .header_inner .header_nav_sub {
  padding: 30px 0;
  position: relative;
  z-index: 3;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_nav_sub {
    display: none;
  }
}

#header .header_inner .header_nav_sub li {
  margin: 0 10px;
}

#header .header_inner .header_nav_sub li a {
  font-size: 12px;
}

#header .header_inner .header_nav_sub li a:hover {
  opacity: .5;
}

#header .header_inner .header_nav_main .main_nav_item {
  margin: 0 5px;
  padding: 0 10px;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_nav_main .main_nav_item {
    display: none;
  }
}

#header .header_inner .header_nav_main .main_nav_item .nav_parent_item {
  display: inline-block;
  font-weight: 700;
  padding-bottom: 20px;
  position: relative;
}

#header .header_inner .header_nav_main .main_nav_item .nav_parent_item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  opacity: 0;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  background: -webkit-gradient(linear, left top, right top, from(#e77420), to(#e73820));
  background: linear-gradient(to right, #e77420, #e73820);
}

#header .header_inner .header_nav_main .main_nav_item .nav_parent_item:hover::after {
  opacity: 1;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  display: none;
  width: 100%;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu * {
  color: #fff;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu .row {
  margin-right: -40px;
  margin-left: -40px;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-1, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-2, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-3, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-4, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-5, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-6, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-7, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-8, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-9, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-10, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-11, #header .header_inner .header_nav_main .main_nav_item .megamenu .row .col-12 {
  padding-left: 40px;
  padding-right: 40px;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_inner {
  padding: 32px 55px;
  max-height: calc(100vh - 112px);
  max-width: 1280px;
  background: rgba(0, 0, 0, 0.88);
  margin: 0 auto;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_title {
  font-size: 30px;
  font-weight: 700;
  padding-bottom: 10px;
  margin-bottom: 30px;
  border-bottom: 1px #b2b2b2 solid;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_title a {
  display: block;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_title a:hover {
  color: #004da2;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_title_sub {
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 15px;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_title_sub a:hover {
  color: #004da2;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_block_title {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 25px;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_nav:not(:last-child) {
  margin-bottom: 20px;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_nav li:not(:last-child) {
  margin-bottom: 10px;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_nav li:not(.category_title) {
  padding-left: 15px;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_nav li a {
  color: #b2b2b2;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_nav li a:hover {
  color: #004da2;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_nav .category_title {
  font-weight: 700;
  font-size: 20px;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_nav .category_title a {
  color: #fff;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_nav .category_title a:hover {
  color: #004da2;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_nav .category_title_sub {
  color: #fff;
  position: relative;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu_nav .category_title_sub::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 100%;
  left: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #fff;
  position: absolute;
}

#header .header_inner .header_nav_main .main_nav_item .megamenu.is-active {
  display: block;
}

#header .header_inner .header_nav_main .main_nav_function {
  margin-top: -5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 10px;
  -ms-flex-item-align: start;
      align-self: flex-start;
  position: relative;
  z-index: 3;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_nav_main .main_nav_function {
    margin-top: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

#header .header_inner .header_nav_main .main_nav_function .language {
  padding-right: 15px;
  border-right: 2px #004da2 solid;
  margin-right: 10px;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_nav_main .main_nav_function .language {
    border-right: none;
    margin-right: 0;
  }
}

#header .header_inner .header_nav_main .main_nav_function .language_select {
  display: block;
  font-size: 12px;
  color: #fff;
  width: 26px;
  height: 26px;
  background: #004da2;
  border-radius: 100%;
  line-height: 26px;
  text-align: center;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}

#header .header_inner .header_nav_main .main_nav_function .language_select:hover {
  opacity: .6;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_nav_main .main_nav_function .language_select {
    background: transparent;
    color: #004da2;
    width: auto;
    height: auto;
    line-height: normal;
  }
  #header .header_inner .header_nav_main .main_nav_function .language_select::before {
    content: "\e807";
    font-size: 36px;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_nav_main .main_nav_function .language_select span,
  #header .header_inner .header_nav_main .main_nav_function .language_select img {
    display: none;
  }
}

#header .header_inner .header_nav_main .main_nav_function .language_list {
  position: absolute;
  background: #fff;
  margin-left: -12px;
  padding-top: 10px;
  display: none;
}

@media only screen and (max-width: 768px) {
  #header .header_inner .header_nav_main .main_nav_function .language_list {
    width: 100%;
    border-top: 1px #eee solid;
    position: fixed;
    top: 63px;
    left: 0;
    margin-left: 0;
    padding: 15px 0;
  }
}

@media only screen and (max-width: 768px) {
  #header .header_inner .header_nav_main .main_nav_function .language_list li {
    display: inline-block;
  }
}

#header .header_inner .header_nav_main .main_nav_function .language_list li a {
  display: block;
  padding: 5px 10px;
}

#header .header_inner .header_nav_main .main_nav_function .language_list li a img {
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  max-width: 32px;
}

#header .header_inner .header_nav_main .main_nav_function .language_list li a:hover {
  background: #efefef;
}

#header .header_inner .header_nav_main .main_nav_function .language_list li a:hover img {
  opacity: .6;
}

#header .header_inner .header_nav_main .main_nav_function .language_list.is-active {
  display: block;
}

#header .header_inner .header_nav_main .main_nav_function .main_nav_search {
  display: block;
  width: 26px;
  height: 26px;
  position: relative;
  line-height: 26px;
  text-align: center;
  color: #a0a0a0;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_nav_main .main_nav_function .main_nav_search {
    display: none;
  }
}

#header .header_inner .header_nav_main .main_nav_function .main_nav_search:hover {
  color: #333;
}

#header .header_inner .header_nav_main .main_nav_function .sp_nav_contact {
  display: none;
  position: relative;
  z-index: 9999;
  color: #fff;
  font-size: 18px;
  text-align: center;
  line-height: 64px;
  width: 64px;
  height: 64px;
  background: -webkit-gradient(linear, left top, right top, from(#e77420), to(#e73820));
  background: linear-gradient(to right, #e77420, #e73820);
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_nav_main .main_nav_function .sp_nav_contact {
    display: block;
  }
}

#header .header_inner .header_nav_main .main_nav_function .sp_nav_contact i {
  display: block;
}

#header .header_inner .header_nav_main .main_nav_function .sp_nav_contact.is-hidden {
  visibility: hidden;
  opacity: 0;
}

#header .header_inner .header_contact {
  margin-left: auto;
  width: 200px;
  position: absolute;
  top: 0;
  right: 0;
}

@media only screen and (max-width: 1170px) {
  #header .header_inner .header_contact {
    display: none;
  }
}

#header .header_inner .header_contact a {
  display: block;
  height: 112px;
  line-height: 112px;
  color: #fff;
  font-weight: 700;
  text-align: center;
  position: relative;
  overflow: hidden;
  background: -webkit-gradient(linear, left top, right top, from(#e77420), to(#e73820));
  background: linear-gradient(to right, #e77420, #e73820);
}

#header .header_inner .header_contact a::before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 10px;
  content: "\e802";
  margin-left: 20px;
}

#header .header_inner .header_contact a:hover {
  opacity: .6;
}

#header .sp_nav_btn {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 64px;
  height: 64px;
  z-index: 999;
}

@media only screen and (max-width: 1170px) {
  #header .sp_nav_btn {
    display: block;
  }
}

#header .sp_nav_btn > a, #header .sp_nav_btn span {
  display: inline-block;
  -webkit-transition: all .4s;
  transition: all .4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#header .sp_nav_btn a {
  position: relative;
  width: 100%;
  height: 100%;
  background: #004da2;
}

@media only screen and (min-width: 769px) {
  #header .sp_nav_btn a:hover {
    opacity: .6;
  }
}

#header .sp_nav_btn a span {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 35px;
  height: 2px;
  background-color: #fff;
}

#header .sp_nav_btn a span:nth-of-type(1) {
  top: calc(50% - 10px);
}

#header .sp_nav_btn a span:nth-of-type(2) {
  top: 50%;
}

#header .sp_nav_btn a span:nth-of-type(3) {
  top: calc(50% + 10px);
}

#header .sp_nav_btn.is-active a {
  background: transparent;
}

#header .sp_nav_btn.is-active span {
  background: #fff;
}

#header .sp_nav_btn.is-active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
          transform: translateY(10px) rotate(-45deg);
}

#header .sp_nav_btn.is-active span:nth-of-type(2) {
  opacity: 0;
  -webkit-transform: translateX(20px);
          transform: translateX(20px);
}

#header .sp_nav_btn.is-active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
          transform: translateY(-10px) rotate(45deg);
}

#header .header_sp_nav {
  display: none;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 998;
}

#header .header_sp_nav_inner {
  background: rgba(0, 0, 0, 0.9);
  padding: 75px 15px 40px;
  height: 100%;
  overflow-y: scroll;
}

#header .header_sp_nav_inner .sp_nav_main_item {
  border-top: 1px #b0b0b0 solid;
}

#header .header_sp_nav_inner .sp_nav_main_item:last-child {
  border-bottom: 1px #b0b0b0 solid;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_parent {
  padding: 20px 0;
  font-size: 24px;
  font-weight: 700;
  display: block;
  position: relative;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_parent::after {
  position: absolute;
  right: 5px;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e806";
  font-size: 14px;
  color: #b0b0b0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_parent.is-active::after {
  display: none;
}

#header .header_sp_nav_inner .sp_nav_main_item .parent_nav {
  padding: 25px 0;
  font-size: 24px;
  font-weight: 700;
  display: block;
  position: relative;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child {
  display: none;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child * {
  color: #fff;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_title {
  font-weight: 700;
  position: relative;
  padding-bottom: 10px;
  margin: 0 0 20px;
  font-size: 20px;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_title::after {
  position: absolute;
  width: 40px;
  height: 1px;
  background: #b0b0b0;
  left: 0;
  bottom: 0;
  content: "";
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_title_sub {
  font-weight: 700;
  margin-bottom: 10px;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_block:not(:last-child) {
  padding-bottom: 25px;
  border-bottom: 1px #b0b0b0 solid;
  margin-bottom: 40px;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_block_title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 25px;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_block ul {
  margin-bottom: 20px;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_block ul:last-child {
  margin-bottom: 20px;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_block ul .category_title {
  font-weight: 700;
  margin-bottom: 15px;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_block ul li:not(.category_title) {
  padding-left: 15px;
  margin-bottom: 15px;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_block ul li:not(.category_title) a {
  color: #b2b2b2;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_block ul li:not(.category_title).category_title_sub {
  color: #fff;
  position: relative;
}

#header .header_sp_nav_inner .sp_nav_main_item .sp_child_block ul li:not(.category_title).category_title_sub::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 100%;
  left: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #fff;
  position: absolute;
}

#header .header_sp_nav_inner .sp_nav_sub * {
  color: #fff;
}

#header .header_sp_nav_inner .sp_nav_sub li {
  margin-top: 25px;
  font-size: 20px;
}

#header .header_sp_nav_inner .sp_nav_contact {
  position: absolute;
  top: 26px;
  right: 80px;
  color: #fff;
}

#header .header_sp_nav {
  visibility: hidden;
  display: block;
  opacity: 0;
  transition: visibility 0.2s, opacity 0.2s linear;	
}

/*
#header .header_sp_nav.is-open {
  visibility: hidden;
  display: block;
  opacity: 0;
  transition: visibility 0s, opacity 0.5s linear;
}
*/

@media only screen and (max-width: 1170px) {
	#header .header_sp_nav.is-open {
	 /* display: block; */
	 visibility: visible;
	 opacity: 1;
	}	
}

/* フッター */
#footer {
  background: #efefef;
}

#footer .footer_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 60px 30px 0;
}

@media only screen and (max-width: 1170px) {
  #footer .footer_inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 60px 0 0;
  }
}

@media only screen and (max-width: 768px) {
  #footer .footer_inner {
    padding: 25px 0 0;
  }
}

#footer .footer_inner .footer_logo {
  padding-top: 30px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

@media only screen and (max-width: 1170px) {
  #footer .footer_inner .footer_logo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    padding-top: 20px;
  }
}

@media only screen and (max-width: 768px) {
  #footer .footer_inner .footer_logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-item-align: end;
        align-self: flex-end;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% - 60px);
            flex: 0 0 calc(100% - 60px);
  }
}

#footer .footer_inner .footer_logo .logo {
  margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
  #footer .footer_inner .footer_logo .logo {
    margin-bottom: 0;
  }
}

#footer .footer_inner .footer_logo img {
  max-width: 154px;
}

@media only screen and (max-width: 768px) {
  #footer .footer_inner .footer_logo img {
    max-width: 100px;
  }
}

@media only screen and (max-width: 768px) {
  #footer .footer_inner .footer_logo .sns {
    padding-left: 15px;
  }
}

#footer .footer_inner .footer_logo .sns a:hover {
  opacity: .6;
  text-decoration: none;
}

#footer .footer_inner .footer_label {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-left: auto;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 120px;
          flex: 0 0 120px;
}

@media only screen and (max-width: 1170px) {
  #footer .footer_inner .footer_label {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

#footer .footer_inner .footer_label figure:not(:last-child) {
  margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
  #footer .footer_inner .footer_label figure:not(:last-child) {
    margin-bottom: 10px;
  }
}

#footer .footer_inner .footer_nav {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-left: auto;
  padding-top: 30px;
}

@media only screen and (max-width: 1170px) {
  #footer .footer_inner .footer_nav {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

@media only screen and (max-width: 768px) {
  #footer .footer_inner .footer_nav {
    display: none;
  }
}

#footer .footer_inner .footer_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#footer .footer_inner .footer_nav ul li:not(:last-child) {
  margin-right: 30px;
}

#footer .footer_inner .footer_nav ul li a:hover {
  text-decoration: none;
  opacity: .6;
}

#footer .footer_inner .footer_nav_main {
  margin-bottom: 60px;
}

#footer .footer_inner .footer_nav_main_item {
  font-weight: 700;
}

#footer .footer_other_nav {
  margin-top: 30px;
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  #footer .footer_other_nav {
    margin-top: 20px;
  }
}

#footer .footer_other_nav a {
  display: inline-block;
  color: #777;
}

#footer .footer_other_nav a:hover {
  opacity: .6;
}

#footer #copyright {
  background: -webkit-gradient(linear, left top, right top, from(#1f52ba), to(#008cc0));
  background: linear-gradient(to right, #1f52ba, #008cc0);
  text-align: center;
  padding: 40px 0;
  color: #fff;
  font-size: 14px;
  margin-top: 50px;
}

@media only screen and (max-width: 768px) {
  #footer #copyright {
    font-size: 12px;
    padding: 25px 30px;
    margin-top: 20px;
  }
}

#footer #pagetop {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  position: fixed;
  width: 70px;
  height: 70px;
  right: 15px;
  bottom: 10px;
  background: #004da2;
  z-index: 99;
}

@media only screen and (max-width: 768px) {
  #footer #pagetop {
    width: 50px;
    height: 50px;
    right: 10px;
  }
}

#footer #pagetop:hover {
  background: #0065d5;
}

#footer #pagetop::after {
  position: absolute;
  width: 20px;
  height: 20px;
  border-top: 3px #fff solid;
  border-right: 3px #fff solid;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  left: 0;
  right: 0;
  margin: 0 auto;
  top: calc(50% + 5px);
  content: "";
}

@media only screen and (max-width: 576px) {
  #footer #pagetop::after {
    width: 12px;
    height: 12px;
    border-width: 2px;
    top: calc(50% + 4px);
  }
}

#footer #pagetop.is-active {
  opacity: 1;
  visibility: visible;
}

/* print.css */
/* 印刷用 css
---------------------------*/
@page {
  margin: 0;
}

@media print {
  body {
    -webkit-print-color-adjust: exact;
    -ms-print-color-adjust: exact;
  }
  .container {
    padding: 0 25px !important;
  }
  #header {
    position: relative !important;
  }
  #header .header_inner {
    padding-right: 160px;
  }
  #header .header_inner .header_logo {
    padding: 0 15px;
    position: absolute;
    top: 25px;
  }
  #header .header_inner .header_logo img {
    max-width: 90px;
  }
  #header .header_inner .header_nav::before {
    display: none;
  }
  #header .header_inner .header_nav_main .main_nav_item {
    margin: 0 10px !important;
    font-size: 14px !important;
  }
  #header .header_inner .header_nav_sub li {
    font-size: 10px !important;
    margin: 0 5px !important;
  }
  #header .header_inner .header_contact {
    width: 160px;
  }
  #header .header_inner .header_contact a {
    height: 106px;
    line-height: 106px;
  }
  #footer .footer_inner {
    padding: 50px 25px 0;
  }
  #footer .footer_inner .footer_logo {
    padding-top: 0;
  }
  #footer .footer_inner .footer_nav {
    padding: 0 20px;
    font-size: 14px;
  }
  #footer .footer_inner .footer_nav ul li:not(:last-child) {
    margin-right: 20px;
  }
  #footer .footer_inner .footer_nav_main {
    margin-bottom: 40px;
  }
  #footer #pagetop {
    display: none;
  }
  #content {
    margin-top: 0;
  }
  /* TOPページ */
  .col_section.bg_gray {
    background: #efefef !important;
  }
  .toppage_nav {
    display: none !important;
  }
  #news .inner {
    padding: 0 35px !important;
  }
  .googlemap {
    width: 100%;
  }
  .side_nav {
    display: none !important;
  }
  .js-fadein {
    -webkit-transform: translateY(0) !important;
            transform: translateY(0) !important;
    opacity: 1 !important;
  }
}

/*--------------------------

component

---------------------------*/
/* 検索 */
.search {
  position: relative;
  z-index: 10;
  width: 100%;
}

.search.search_fixed {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 112px;
}

.search.search_index .search_overlay {
  position: relative;
  height: calc(100vh - 520px);
}

@media only screen and (max-width: 1170px) {
  .search.search_index .search_overlay {
    height: calc(100vh - 580px);
  }
}

@media only screen and (max-width: 768px) {
  .search.search_index .search_overlay {
    height: calc(100vh - 320px);
  }
}

.search_inner {
  background: #efefef;
  position: relative;
  z-index: 99;
}

.search_overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 98;
  background: rgba(0, 0, 0, 0.88);
  top: 0;
  left: 0;
}

.search_wrap {
  display: block;
  width: 100%;
  max-width: 1280px;
  padding: 0 130px 0 30px;
  margin: 0 auto;
  position: relative;
}

@media only screen and (max-width: 768px) {
  .search_wrap {
    padding: 0 65px 0 20px;
  }
}

.search_wrap input {
  width: 100%;
  /* border: none; 
  background: transparent; */
  border: solid 2px #004da2;
 background:white !important;
  height: 100%;
  display: block;
  font-size: 20px;
  padding: 30px 0px 30px 55px;
}

@media only screen and (max-width: 768px) {
  .search_wrap input {
    padding: 20px 0;
    font-size: 16px;
  }
}

.search_wrap input:focus {
  background: transparent;
}

.search_submit {
  position: absolute;
  right: 55px;
  width: 55px;
  height: 100%;
  background: transparent;
  top: 0;
  cursor: pointer;
}

@media only screen and (max-width: 768px) {
  .search_submit {
    right: 0;
  }
}

.search_submit::before {
  content: "";
  position: absolute;
  top: calc(50% - 9px);
  margin: 0 auto;
  left: 0;
  right: 0;
  width: 13px;
  height: 13px;
  border-top: 2px #666 solid;
  border-right: 2px #666 solid;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.search.is-active {
  opacity: 1;
  pointer-events: all;
}

/* スライダー */
/**
 * Swiper 4.4.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 1, 2018
 */
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-property: transform,-webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-property: transform,-webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform;
}

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px;
}

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s top,.2s -webkit-transform;
  transition: .2s top,.2s -webkit-transform;
  -webkit-transition: .2s transform,.2s top;
  transition: .2s transform,.2s top;
  -webkit-transition: .2s transform,.2s top,.2s -webkit-transform;
  transition: .2s transform,.2s top,.2s -webkit-transform;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s left,.2s -webkit-transform;
  transition: .2s left,.2s -webkit-transform;
  -webkit-transition: .2s transform,.2s left;
  transition: .2s transform,.2s left;
  -webkit-transition: .2s transform,.2s left,.2s -webkit-transform;
  transition: .2s transform,.2s left,.2s -webkit-transform;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s right,.2s -webkit-transform;
  transition: .2s right,.2s -webkit-transform;
  -webkit-transition: .2s transform,.2s right;
  transition: .2s transform,.2s right;
  -webkit-transition: .2s transform,.2s right,.2s -webkit-transform;
  transition: .2s transform,.2s right,.2s -webkit-transform;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #fff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000;
}

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  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;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px;
}

/* ボタン */
/* ボタン */
.btn {
  display: inline-block;
  width: 210px;
  border-radius: 50px;
  color: #fff !important;
  text-align: center;
  height: 54px;
  line-height: 54px;
  padding: 0 30px;
}

.btn i {
  margin-right: 10px;
  font-size: 20px;
}

.btn:hover {
  text-decoration: none;
}

.btn_orange {
  background: -webkit-gradient(linear, left top, right top, from(#e77420), to(#e73820));
  background: linear-gradient(to right, #e77420, #e73820);
}

.btn_orange:hover {
  opacity: .7;
}

.btn_blue {
  background: -webkit-gradient(linear, left top, right top, from(#1f52ba), to(#008cc0));
  background: linear-gradient(to right, #1f52ba, #008cc0);
}

.btn_blue:hover {
  opacity: .6;
}

.btn_ghost {
  border: 1px #fff solid;
  background-color: #3335;
}

.btn_ghost:hover {
  background: #fff;
  color: #333 !important;
}

.btn_variable {
  width: auto;
  padding: 0 45px;
}

.btn_bg {
  border-radius: 10px;
  background: url(../images/common/bg_btn.jpg) no-repeat center center/cover;
  width: 500px;
  font-size: 20px;
  font-weight: 700;
  height: 122px;
  line-height: 122px;
}

.btn_bg:hover {
  opacity: .6;
}

@media only screen and (max-width: 576px) {
  .btn_bg {
    width: 100%;
    height: 100px;
    line-height: 100px;
    font-size: 16px;
  }
}

.btn_bg i {
  font-size: 30px;
}

.btn_large {
  width: auto;
  min-width: 340px;
  height: 80px;
  line-height: 80px;
  font-size: 20px;
}

@media only screen and (max-width: 576px) {
  .btn_large {
    width: 100%;
    font-size: 16px;
    height: 64px;
    line-height: 64px;
    min-width: inherit;
  }
}

/* ボタン ラップ */
.btn_wrap {
  margin-top: 30px;
}

@media only screen and (max-width: 768px) {
  .btn_wrap {
    text-align: center;
  }
}

.btn_wrap.btn_center {
  text-align: center;
}

/* ニュース */
.news_list_item:not(:last-child) {
  margin-bottom: 35px;
}

.news_list_label {
  margin-bottom: 15px;
}

.news_list_label .news_category {
  display: inline-block;
  padding: 5px 25px;
  text-align: center;
  border: 1px #004da2 solid;
  font-size: 12px;
  margin-left: right;
}

.news_list_content a {
  display: block;
}

.news_list_content a:hover {
  text-decoration: underline;
}

.news_list_content .news_title {
  font-weight: bold;
  margin-bottom: 10px;
}

.news_list_content .news_txt {
  line-height: 1.2;
}

.news_list_content .news_txt.is-ellipsis {
  height: 40px;
}

@media only screen and (max-width: 576px) {
  .news_list_content .news_txt.is-ellipsis {
    height: 50px;
  }
}

.news_list.txt_white * {
  color: #fff;
}

.news_list.txt_white .news_category {
  border-color: #fff;
}

.news_list.press .news_list_item {
  border-bottom: 1px #004da2 solid;
}

.news_list.press .news_list_item:not(:last-child) {
  margin-bottom: 0;
}

.news_list.press .news_list_item .news_list_content a {
  padding: 40px 60px 40px 40px;
  position: relative;
}

@media only screen and (max-width: 768px) {
  .news_list.press .news_list_item .news_list_content a {
    padding: 20px;
  }
}

.news_list.press .news_list_item .news_list_content a::after {
  position: absolute;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  top: 50%;
  right: 40px;
  border-top: 1px #333 solid;
  border-right: 1px #333 solid;
  content: "";
  opacity: 0;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}

@media only screen and (max-width: 768px) {
  .news_list.press .news_list_item .news_list_content a::after {
    display: none;
  }
}

.news_list.press .news_list_item .news_list_content a:hover {
  background: #efefef;
  text-decoration: none;
}

.news_list.press .news_list_item .news_list_content a:hover::after {
  opacity: 1;
}

.news_list.press .news_list_item .news_list_content .news_title {
  font-size: 30px;
}

@media only screen and (max-width: 768px) {
  .news_list.press .news_list_item .news_list_content .news_title {
    font-size: 24px;
  }
}

@media only screen and (max-width: 576px) {
  .news_list.press .news_list_item .news_list_content .news_title {
    font-size: 18px;
  }
}

.news_list.press .news_list_item .news_list_content .news_txt {
  font-size: 20px;
}

@media only screen and (max-width: 768px) {
  .news_list.press .news_list_item .news_list_content .news_txt {
    font-size: 16px;
  }
}

@media only screen and (max-width: 576px) {
  .news_list.press .news_list_item .news_list_content .news_txt {
    font-size: 14px;
  }
}

.news_list.press .news_list_item .news_list_content .news_txt.is-ellipsis {
  height: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

/* 切り替えタブ */
.tab_head {
  border-bottom: 1px #bfbfbf solid;
  margin-bottom: 40px;
}

.tab_head_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media only screen and (max-width: 768px) {
  .tab_head_list {
    margin: 0 -1px;
  }
}

.tab_head_list_item {
  margin: 0 1px;
  width: 110px;
}

@media only screen and (max-width: 768px) {
  .tab_head_list_item {
    width: calc(20% - 2px);
  }
}

.tab_head_list_item * {
  color: #fff;
}

.tab_head_list_item a {
  display: block;
  background: #bfbfbf;
  font-size: 12px;
  text-align: center;
  padding: 8px 0;
}

.tab_head_list_item.is-active a {
  background: #004da2;
}

.tab_content.is-show {
  display: block;
}

/* パンくず */
#breadcrumb {
  padding: 25px 0;
  background: #efefef;
}

@media only screen and (max-width: 768px) {
  #breadcrumb {
    padding: 20px 0;
  }
}

#breadcrumb ul {
  font-size: 14px;
}

@media only screen and (max-width: 576px) {
  #breadcrumb ul {
    font-size: 12px;
  }
}

#breadcrumb ul li {
  display: inline-block;
  position: relative;
}

#breadcrumb ul li:not(:last-child) {
  margin-right: 10px;
  padding-right: 10px;
}

#breadcrumb ul li:not(:last-child) ::after {
  content: ">";
  position: absolute;
  right: -5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#breadcrumb ul li a:hover {
  text-decoration: underline;
}

/* 共通見出し */
.theme_heading {
  font-weight: 700;
}

.theme_heading.large, h1 {
  font-size: 36px;
  /*margin-bottom: 40px;*/
}

@media only screen and (max-width: 768px) {
  .theme_heading.large, h1 {
    font-size: 28px;
    margin-bottom: 25px;
  }
}

.theme_heading.medium, h2 {
  font-size: 30px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
  .theme_heading.medium, h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
}

.theme_heading.medium_s {
  font-size: 28px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
  .theme_heading.medium_s {
    font-size: 22px;
    margin-bottom: 15px;
  }
}

.theme_heading.small, h3 {
  font-size: 24px;
  margin-bottom: 20px;
  line-height: 1.5;
}

@media only screen and (max-width: 768px) {
  .theme_heading.small, h3 {
    font-size: 18px;
    margin-bottom: 10px;
  }
}

.theme_heading.heading_center {
  text-align: center;
}

.theme_heading.heading_under_line {
  position: relative;
  font-size: 28px;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

@media only screen and (max-width: 768px) {
  .theme_heading.heading_under_line {
    font-size: 24px;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}

.theme_heading.heading_under_line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 56px;
  height: 1px;
  background: #004da2;
}

@media only screen and (max-width: 768px) {
  .theme_heading.heading_under_line::after {
    width: 40px;
  }
}

.theme_heading .small_txt {
  font-size: 20px;
  padding-left: 4px;
}

.heading_border_bottom {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .heading_border_bottom {
    font-size: 18px;
  }
}

@media only screen and (max-width: 576px) {
  .heading_border_bottom {
    font-size: 16px;
  }
}

.heading_border_bottom span {
  display: inline-block;
  border-bottom: 1px #004da2 solid;
}

.heading_border_bottom span.d_block {
  display: block;
  padding-bottom: 25px;
}

.heading_border_bottom.large {
  font-size: 36px;
}

@media only screen and (max-width: 768px) {
  .heading_border_bottom.large {
    font-size: 30px;
    margin-bottom: 35px;
  }
}

.heading_border_bottom.medium {
  font-size: 30px;
}

@media only screen and (max-width: 768px) {
  .heading_border_bottom.medium {
    font-size: 26px;
    margin-bottom: 25px;
  }
}

.heading_border_bottom.small {
  font-size: 24px;
}

@media only screen and (max-width: 768px) {
  .heading_border_bottom.small {
    font-size: 22px;
    margin-bottom: 15px;
  }
}

/* タブメニュー */
.tab_menu {
  background: #efefef;
  position: relative;
  width: 100%;
  display: block;
  left: 0;
  top: 0;
  margin-top: -56px;
  z-index: 9;
}

@media only screen and (max-width: 768px) {
  .tab_menu {
    position: absolute;
    margin-top: 0;
  }
}

.tab_menu ol, .tab_menu ul, .tab_menu li {
  line-height: 1;
}

@media only screen and (max-width: 768px) {
  .tab_menu .container {
    padding: 0;
  }
}

.tab_menu .row {
  margin-right: -5px;
  margin-left: -5px;
}

@media only screen and (max-width: 768px) {
  .tab_menu .row {
    margin-right: -2px;
    margin-left: -2px;
  }
}

@media only screen and (max-width: 576px) {
  .tab_menu .row {
    margin-bottom: -2px;
  }
}

.tab_menu .row li {
  padding: 0 5px;
}

@media only screen and (max-width: 768px) {
  .tab_menu .row li {
    padding: 0 1px;
  }
}

@media only screen and (max-width: 576px) {
  .tab_menu .row .col-sm-3, .tab_menu .row .col-sm-4 {
    margin-bottom: 2px;
  }
}

.tab_menu_item {
  text-align: center;
}

.tab_menu_item * {
  color: #fff;
}

.tab_menu_item .current, .tab_menu_item a {
  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;
  padding: 10px 0;
  border-radius: 10px 10px 0 0;
  font-weight: 700;
  min-height: 53px;
}

@media only screen and (max-width: 768px) {
  .tab_menu_item .current, .tab_menu_item a {
    padding: 10px 0;
    border-radius: 0;
    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;
    min-height: inherit;
  }
}

.tab_menu_item .current {
  background: #004da2;
}

.tab_menu_item a {
  background: #6492c5;
}

.tab_menu_item a:hover {
  background: #226bbc;
  text-decoration: none;
}

.tab_menu.is-fixed {
  margin-top: 0;
  position: fixed;
  top: 112px;
  background: #fff;
}

@media only screen and (max-width: 1170px) {
  .tab_menu.is-fixed {
    top: 64px;
  }
}

@media only screen and (max-width: 576px) {
  .tab_menu.is-fixed {
    background: #fff;
  }
}

.tab_menu.is-fixed .current, .tab_menu.is-fixed a {
  border-radius: 10px !important;
}

@media only screen and (max-width: 768px) {
  .tab_menu.is-fixed .current, .tab_menu.is-fixed a {
    border-radius: 0 !important;
  }
}

/* サイドナビ */
.side_nav {
  position: fixed;
  background: #111;
  right: 0;
  z-index: 99;
  padding-top: 64px;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}

@media only screen and (min-width: 769px) {
  .side_nav {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@media only screen and (max-width: 768px) {
  .side_nav {
    bottom: 70px;
  }
}

.side_nav_btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 78px;
  height: 64px;
  z-index: 999;
  background: #111;
}

@media only screen and (max-width: 1170px) {
  .side_nav_btn {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  .side_nav_btn {
    width: 64px;
  }
}

.side_nav_btn > a, .side_nav_btn span {
  display: inline-block;
  -webkit-transition: all 0s;
  transition: all 0s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.side_nav_btn a {
  position: relative;
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 769px) {
  .side_nav_btn a:hover {
    opacity: .6;
  }
}

.side_nav_btn a span {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 35px;
  height: 2px;
  background-color: #fff;
}

.side_nav_btn a span:nth-of-type(1) {
  top: calc(50% - 10px);
}

.side_nav_btn a span:nth-of-type(2) {
  top: 50%;
}

.side_nav_btn a span:nth-of-type(3) {
  top: calc(50% + 10px);
}

.side_nav_btn.is-active a {
  background: transparent;
}

.side_nav_btn.is-active span {
  background: #fff;
}

.side_nav_btn.is-active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
          transform: translateY(10px) rotate(-45deg);
}

.side_nav_btn.is-active span:nth-of-type(2) {
  opacity: 0;
  -webkit-transform: translateX(20px);
          transform: translateX(20px);
}

.side_nav_btn.is-active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
          transform: translateY(-10px) rotate(45deg);
}

.side_nav_list {
  line-height: 1;
}

@media only screen and (max-width: 768px) {
  .side_nav_list {
    display: none;
  }
}

.side_nav_list * {
  color: #fff;
}

.side_nav_list_item {
  line-height: 1;
}

.side_nav_list a {
  display: block;
  padding: 25px;
}

.side_nav_list a:hover {
  background: #004da2;
  text-decoration: none;
}

.side_nav_list a span {
  display: none;
  font-size: 20px;
  margin-left: 8px;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .side_nav_list a span {
    font-size: 18px;
  }
}

.side_nav_list a .icon-folder {
  font-size: 25px;
}

@media only screen and (max-width: 768px) {
  .side_nav_list a .icon-folder {
    font-size: 20px;
  }
}

.side_nav_list a .icon-file {
  font-size: 30px;
}

@media only screen and (max-width: 768px) {
  .side_nav_list a .icon-file {
    font-size: 25px;
  }
}

.side_nav_list a .icon-cart {
  font-size: 24px;
}

@media only screen and (max-width: 768px) {
  .side_nav_list a .icon-cart {
    font-size: 20px;
  }
}

.side_nav.is-active .side_nav_list {
  display: block;
}

.side_nav.is-active .side_nav_list a span {
  display: inline-block;
}

/* フォーム */
label {
  padding-right: 20px;
}

label.check_label {
  padding: 8px 20px 8px 40px;
}

[type="text"], [type="tel"], textarea {
  border: none;
  background: #f9f9f9;
  font-size: 20px;
  border: 1px transparent solid;
}

[type="text"]:focus, [type="tel"]:focus, textarea:focus {
  border-color: #004da2;
}

@media only screen and (max-width: 768px) {
  [type="text"], [type="tel"], textarea {
    font-size: 15px;
  }
}

[type="text"] {
  width: 100%;
  padding: 15px;
  display: inline-block;
}

[type="text"]:not(:last-child) {
  margin-right: 20px;
}

@media only screen and (max-width: 576px) {
  [type="text"]:not(:last-child) {
    margin-right: 10px;
  }
}

@media only screen and (max-width: 576px) {
  [type="text"] {
    position: relative;
  }
}

textarea {
  width: 100%;
  padding: 15px;
  resize: vertical;
  height: 300px;
  line-height: 1.7;
  display: block;
}

@media only screen and (max-width: 576px) {
  textarea {
    height: 160px;
  }
}

[type="radio"]:checked, [type="radio"]:not(:checked), [type="checkbox"]:checked, [type="checkbox"]:not(:checked) {
  position: absolute;
  left: -9999px;
}

[type="radio"]:checked + label,
[type="radio"]:not(:checked) + label {
  position: relative;
  padding-left: 28px;
  cursor: pointer;
  line-height: 19px;
  display: inline-block;
}

[type="checkbox"]:checked + label,
[type="checkbox"]:not(:checked) + label {
  position: relative;
  padding-left: 40px;
  cursor: pointer;
  display: inline-block;
}

[type="radio"]:checked + label:before,
[type="radio"]:not(:checked) + label:before {
  content: '';
  position: absolute;
  left: 0;
  top: -8px;
  width: 32px;
  height: 32px;
  background: #fff;
}

[type="checkbox"]:checked + label:before,
[type="checkbox"]:not(:checked) + label:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  height: 34px;
  background: #efefef;
}

[type="radio"]:checked + label:before,
[type="radio"]:not(:checked) + label:before {
  border-radius: 100%;
}

[type="radio"]:checked + label:after,
[type="radio"]:not(:checked) + label:after {
  content: '';
  background: #004da2;
  position: absolute;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

[type="checkbox"]:checked + label:after,
[type="checkbox"]:not(:checked) + label:after {
  content: '';
  border-bottom: 3px solid #004da2;
  border-right: 3px solid #004da2;
  width: 10px;
  height: 20px;
  top: 4px;
  left: 12px;
  position: absolute;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

[type="radio"]:checked + label:after,
[type="radio"]:not(:checked) + label:after {
  width: 12px;
  height: 12px;
  left: 10px;
  top: 2px;
  border-radius: 100%;
}

[type="radio"]:not(:checked) + label:after,
[type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0) rotate(45deg);
          transform: scale(0) rotate(45deg);
}

[type="radio"]:checked + label:after,
[type="checkbox"]:checked + label:after {
  -webkit-transform: scale(1) rotate(45deg);
          transform: scale(1) rotate(45deg);
}

.select_default select {
  padding: 10px 32px 10px 10px;
  display: block;
  width: 100%;
  max-width: 100%;
  background: #f9f9f9;
  border-radius: 0;
  font-size: 20px;
  border: 1px transparent solid;
}

.select_default select:focus {
  border-color: #004da2;
}

@media only screen and (max-width: 768px) {
  .select_default select {
    width: 100%;
    font-size: 15px;
  }
}

.select_default select:focus {
  outline: 0;
}

.select_default label {
  position: relative;
  display: block;
  padding: 0;
}

@media only screen and (max-width: 576px) {
  .select_default label {
    display: block;
    margin-bottom: 10px;
  }
}

.select_default label:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #004da2;
  border-bottom: 1px solid #004da2;
  z-index: 9;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
  pointer-events: none;
}

.size_xs {
  width: 30%;
  min-width: 140px;
}

.size_s {
  width: 40%;
}

@media only screen and (max-width: 576px) {
  .size_s {
    width: 100%;
  }
}

.size_m {
  width: 70%;
}

@media only screen and (max-width: 576px) {
  .size_m {
    width: 100%;
  }
}

.size_l {
  width: 100%;
}

.size_price {
  width: 25%;
}

@media only screen and (max-width: 576px) {
  .size_price {
    width: 33%;
  }
}

.txtarea_l {
  height: 300px;
}

:placeholder-shown {
  color: #ccc;
}

::-webkit-input-placeholder {
  color: #ccc;
}

[type="text"]:-ms-input-placeholder, [type="tel"]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #ccc;
}

::-ms-expand {
  display: none;
}

/*=============================/
	layout
/=============================*/
.theme_form_block {
  margin-bottom: 50px;
}

@media only screen and (max-width: 768px) {
  .theme_form_block {
    margin-bottom: 30px;
  }
}

.theme_form_heading {
  padding: 30px;
  background: #7fa6d0;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .theme_form_heading {
    padding: 20px;
    font-size: 18px;
  }
}

.theme_form_heading label {
  padding-left: 40px !important;
}

.theme_form_heading.trigger ~ .theme_form_content {
  display: none;
}

.theme_form_content {
  padding: 50px 50px 0;
  font-size: 20px;
}

@media only screen and (max-width: 768px) {
  .theme_form_content {
    font-size: 15px;
    padding: 25px 15px 0;
  }
}

@media only screen and (max-width: 576px) {
  .theme_form_content {
    padding: 20px 0;
  }
}

.theme_form dl {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.theme_form dl:not(:last-child) {
  margin-bottom: 15px;
}

@media only screen and (max-width: 576px) {
  .theme_form dl:not(:last-child) {
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 576px) {
  .theme_form dl {
    display: block;
  }
}

.theme_form dl dt, .theme_form dl dd {
  position: relative;
  padding: 15px;
}

@media only screen and (max-width: 576px) {
  .theme_form dl dt, .theme_form dl dd {
    display: block;
    padding: 0;
  }
}

.theme_form dl dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 30%;
          flex: 0 0 30%;
  max-width: 30%;
}

@media only screen and (max-width: 576px) {
  .theme_form dl dt {
    max-width: inherit;
    margin-bottom: 10px;
  }
}

.theme_form dl dd {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 70%;
          flex: 0 0 70%;
  max-width: 70%;
}

@media only screen and (max-width: 576px) {
  .theme_form dl dd {
    max-width: inherit;
  }
}

.theme_form dl dd .holder:not(:first-child) {
  margin-top: 20px;
}

@media only screen and (max-width: 768px) {
  .theme_form dl dd .address_search {
    width: auto;
  }
}

.theme_form .required dt {
  position: relative;
  padding-left: 55px;
}

@media only screen and (max-width: 576px) {
  .theme_form .required dt {
    padding-left: 46px;
  }
}

.theme_form .required dt::after {
  position: absolute;
  left: 0;
  top: calc(50% - 11px);
  padding: 5px 10px;
  background: #c63a3a;
  display: inline-block;
  border-radius: 4px;
  font-size: 10px;
  color: #fff;
  vertical-align: 2px;
  content: "必須";
}

.theme_form .error {
  color: #d64848;
  margin-top: 10px;
  padding-left: 15px;
  position: relative;
  font-size: 18px;
}

@media only screen and (max-width: 576px) {
  .theme_form .error {
    font-size: 14px;
  }
}

.theme_form .error::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 3px;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background: #d64848;
}

@media only screen and (max-width: 576px) {
  .theme_form .error::before {
    top: 4px;
  }
}

.theme_form .notice {
  margin: 10px 0 15px;
  line-height: 1.3;
  font-size: 16px;
}

@media only screen and (max-width: 576px) {
  .theme_form .notice {
    font-size: 12px;
  }
}

.theme_form .notice:last-child {
  margin-bottom: 0;
}

/* Youtube モーダル */
.video_box a {
  display: block;
}

.video_box a:hover {
  opacity: .6;
  text-decoration: none;
}

.video_box a:hover .tutorial_howto_sub_title {
  text-decoration: underline;
}

.video_box a:hover p {
  text-decoration: underline;
}

.video_box_item {
  position: relative;
  filter: drop-shadow(2px 2px 4px black);
}

.video_box_item::after {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 60px;
  content: "\e80a";
  color: #ff6347;
}

.vd_frame {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: rgba(0, 0, 0, 0.75);
}

.vd_frame_inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  vertical-align: middle;
}

.vd_frame_inner .video_modal {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 854px;
  height: 480px;
  margin: auto;
}

@media only screen and (max-width: 576px) {
  .vd_frame_inner .video_modal {
    width: 310px;
    height: 232px;
    margin: auto;
  }
}

.vd_frame_inner .video_modal #video_modal_inner {
  width: 100%;
  height: 100%;
}

/* リスト */
.theme_list li:not(:last-child) {
  margin-bottom: 20px;
}

@media only screen and (max-width: 576px) {
  .theme_list li:not(:last-child) {
    margin-bottom: 15px;
  }
}

.list_dot > li {
  position: relative;
  padding-left: 16px;
}

@media only screen and (max-width: 768px) {
  .list_dot > li {
    padding-left: 12px;
  }
}

.list_dot > li:not(:last-child) {
  margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
  .list_dot > li:not(:last-child) {
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 576px) {
  .list_dot > li:not(:last-child) {
    margin-bottom: 10px;
  }
}

.list_dot > li::before {
  position: absolute;
  left: 2px;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background: #e73820;
  content: "";
}

@media only screen and (max-width: 768px) {
  .list_dot > li::before {
    width: 6px;
    height: 6px;
  }
}

.list_dot.dot_center > li::before {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.list_dot.dot_top > li::before {
  top: .4em;
}

@media only screen and (min-width: 769px) {
  .list_dot.dot_top.fz_20 > li::before {
    top: 7px;
  }
}

.list_dot.li_mb_small li:not(:last-child) {
  margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
  .list_dot.li_mb_small li:not(:last-child) {
    margin-bottom: 6px;
  }
}

@media only screen and (min-width: 769px) {
  .list_dot.col-12:not(:last-child) {
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 768px) {
  .list_dot.col-md-12:not(:last-child) {
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 576px) {
  .list_dot.col-sm-12:not(:last-child) {
    margin-bottom: 10px;
  }
}

.list_dot_small {
  margin-top: 6px;
}

.list_dot_small > li {
  position: relative;
  padding-left: 10px;
}

.list_dot_small > li:not(:last-child) {
  margin-bottom: 5px;
}

.list_dot_small > li::before {
  position: absolute;
  top: .5em;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 100%;
  background: #004da2;
  content: "";
}

@media only screen and (max-width: 576px) {
  .list_dot_small > li::before {
    top: 6px;
  }
}

.list_checkbox {
  line-height: 1;
}

.list_checkbox li {
  font-size: 20px;
  line-height: 1;
}

@media only screen and (max-width: 576px) {
  .list_checkbox li {
    font-size: 16px;
  }
}

.list_checkbox li:not(:last-child) {
  margin-bottom: 15px;
}

@media only screen and (max-width: 768px) {
  .list_checkbox li:not(:last-child) {
    margin-bottom: 15px;
  }
}

.list_checkbox [type="checkbox"]:checked, .list_checkbox [type="checkbox"]:not(:checked) {
  position: absolute;
  left: -9999px;
}

.list_checkbox [type="checkbox"]:checked + label,
.list_checkbox [type="checkbox"]:not(:checked) + label {
  position: relative;
  padding-left: 36px;
  cursor: pointer;
  display: inline-block;
}

@media only screen and (max-width: 576px) {
  .list_checkbox [type="checkbox"]:checked + label,
  .list_checkbox [type="checkbox"]:not(:checked) + label {
    padding: 0 0 0 25px;
  }
}

.list_checkbox [type="checkbox"]:checked + label:before,
.list_checkbox [type="checkbox"]:not(:checked) + label:before {
  content: '';
  position: absolute;
  left: 0;
  top: -3px;
  width: 25px;
  height: 25px;
  border: 2px #7fa6d0 solid;
  background: transparent;
}

@media only screen and (max-width: 576px) {
  .list_checkbox [type="checkbox"]:checked + label:before,
  .list_checkbox [type="checkbox"]:not(:checked) + label:before {
    width: 20px;
    height: 20px;
    top: -3px;
  }
}

.list_checkbox [type="checkbox"]:checked + label:after,
.list_checkbox [type="checkbox"]:not(:checked) + label:after {
  content: '';
  border-bottom: 3px solid #004da2;
  border-right: 3px solid #004da2;
  width: 8px;
  height: 16px;
  top: 0;
  left: 9px;
  position: absolute;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

@media only screen and (max-width: 576px) {
  .list_checkbox [type="checkbox"]:checked + label:after,
  .list_checkbox [type="checkbox"]:not(:checked) + label:after {
    top: -1px;
    width: 6px;
    height: 14px;
    left: 7px;
  }
}

.list_dl:not(:last-child) {
  margin-bottom: 40px;
}

.list_dl dt {
  font-weight: 700;
  margin-bottom: 10px;
}

.list_asterisk {
  margin-top: 5px;
  font-size: 75%;
}

.list_asterisk > li {
  padding-left: .6em;
  text-indent: -.6em;
  margin-bottom: 5px !important;
}

.list_asterisk > li::before {
  content: "*";
  margin-right: .2em;
}

.list_hyphen {
  margin-top: 5px;

}

.list_hyphen > li {
  padding-left: .6em;
  text-indent: -.6em;
  margin-bottom: 5px !important;
}

.list_hyphen > li::before {
  content: "-";
  margin-right: .2em;
}


/* テーブル */
.table_block {
  margin: 30px 0;
}

.table_block:last-child {
  margin-bottom: 0;
}

.table_block_title {
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 10px;
}

@media only screen and (max-width: 576px) {
  .table_block_title {
    font-size: 24px;
  }
}

.table_block_title span {
  font-weight: 400;
  font-size: 20px;
}

@media only screen and (max-width: 576px) {
  .table_block_title span {
    font-size: 14px;
  }
}

.table_block p:not([class]) {
  margin-bottom: 10px;
}

.table_block p:last-child {
  margin-bottom: 0;
}

.table_block [class*="sign_"] {
  display: inline-block;
  vertical-align: middle;
}

.table_block .sign_empty {
  width: 15px;
  height: 2px;
  background: #7fa6d0;
}

.table_block .sign_circle {
  width: 18px;
  height: 18px;
  border: 2px #004da2 solid;
  border-radius: 100%;
}

.table_block .sign_cross {
  width: 18px;
  height: 18px;
  position: relative;
}

.table_block .sign_cross::before, .table_block .sign_cross::after {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 100%;
  height: 2px;
  background: #004da2;
  content: "";
}

.table_block .sign_cross::before {
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

.table_block .sign_cross::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

.table_block .sign_triangle {
  width: 22px;
  height: 18px;
  position: relative;
}

.table_block .sign_triangle::before, .table_block .sign_triangle::after {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  content: "";
}

.table_block .sign_triangle::before {
  border-width: 0 11px 18px 11px;
  border-color: transparent transparent #004da2 transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.table_block .sign_triangle::after {
  border-width: 0 11px 18px 11px;
  border-color: transparent transparent #fff transparent;
  -webkit-transform: translateY(-50%) scale(0.7, 0.7);
          transform: translateY(-50%) scale(0.7, 0.7);
  top: calc(50% + 1px);
}

.table_block .table_caption_sign {
  margin-top: 30px;
}

@media only screen and (max-width: 768px) {
  .table_block .table_caption_sign {
    margin-top: 20px;
  }
}

.table_block .table_caption_sign ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.table_block .table_caption_sign ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 25px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media only screen and (max-width: 576px) {
  .table_block .table_caption_sign ul li {
    display: block;
    text-align: center;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.333%;
            flex: 0 0 33.333%;
    max-width: 33.333%;
    margin-right: 0;
    padding: 0 10px;
  }
}

.table_block .table_caption_sign ul li p {
  margin-left: 5px;
  margin-bottom: 0;
  font-size: 18px;
  line-height: 1;
}

@media only screen and (max-width: 576px) {
  .table_block .table_caption_sign ul li p {
    font-size: 14px;
    margin-top: 5px;
    margin-left: 0;
  }
}

table {
  width: 100%;
  line-height: 1.4;
}

table thead th {
  background: #004da2;
  font-size: 18px;
  color: #fff;
  padding: 10px 15px;
  vertical-align: middle;
}

@media only screen and (max-width: 576px) {
  table thead th {
    font-size: 16px;
  }
}

table thead.fz_16 th, table thead.fz_16 td {
  font-size: 16px;
}

table tbody tr:nth-child(even) {
  background: #f9f9f9;
}

table tbody th, table tbody td {
  padding: 20px 15px;
  vertical-align: middle;
}

@media only screen and (max-width: 576px) {
  table tbody th, table tbody td {
    padding: 15px 10px;
  }
}

table tbody th.bg_gray, table tbody td.bg_gray {
  background: #f9f9f9;
}

table tbody th.bg_white, table tbody td.bg_white {
  background: #fff;
}

table tbody th {
  text-align: left;
  font-weight: 400;
}

table tbody th[rowspan] {
  border-left: 1px #f9f9f9 solid;
  border-right: 1px #f9f9f9 solid;
}

table tbody td {
  text-align: center;
}

table.table_border td, table.table_border th {
  border-bottom: 1px rgba(0, 77, 162, 0.5) solid;
  border-right: 1px rgba(0, 77, 162, 0.5) solid;
  border-left: 1px rgba(0, 77, 162, 0.5) solid;
}

table.table_border td:last-child, table.table_border th:last-child {
  border-right: none;
}

table.table_border td:first-child, table.table_border th:first-child {
  border-left: none;
}

table.table_th24 tbody th {
  font-size: 24px;
}

table.table_th18 tbody th {
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
  table.table_md_th20 tbody th {
    font-size: 20px;
  }
}

@media only screen and (max-width: 576px) {
  table.table_sm_th18 tbody th {
    font-size: 18px;
  }
}

.table_sm_scroll, .table_sm_fluid {
  margin-bottom: 25px;
}

@media only screen and (max-width: 576px) {
  .table_sm_fluid {
    width: 100%;
  }
  .table_sm_fluid table {
    width: 100%;
  }
}

.table_lg_scroll::before,
.table_md_scroll::before,
.table_sm_scroll::before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: none;
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 8;
  width: 150px;
  height: 80px;
  text-align: center;
  line-height: 80px;
  background: rgba(0, 77, 162, 0.8);
  color: #fff;
  content: "\e80b";
  font-size: 32px;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
  -webkit-animation: 3.6s swipe ease infinite;
          animation: 3.6s swipe ease infinite;
}

.table_lg_scroll.is-hidden::before,
.table_md_scroll.is-hidden::before,
.table_sm_scroll.is-hidden::before {
  opacity: 0;
  visibility: hidden;
}

@media only screen and (max-width: 1170px) {
  .table_lg_scroll {
    width: 100%;
    overflow-x: scroll;
    position: relative;
  }
  .table_lg_scroll::before {
    display: block;
  }
}

@media only screen and (max-width: 1170px) {
  .table_lg_scroll table {
    min-width: 1170px;
  }
}

.table_lg_scroll.is-hidden::before {
  opacity: 0;
  visibility: hidden;
}

@media only screen and (max-width: 768px) {
  .table_md_scroll {
    width: 100%;
    overflow-x: scroll;
    position: relative;
  }
  .table_md_scroll::before {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  .table_md_scroll table {
    min-width: 1170px;
  }
}

@media only screen and (max-width: 576px) {
  .table_sm_scroll {
    width: 100%;
    overflow-x: scroll;
    position: relative;
  }
  .table_sm_scroll::before {
    display: block;
  }
}

@media only screen and (max-width: 576px) {
  .table_sm_scroll table {
    min-width: 1170px;
  }
}

@-webkit-keyframes swipe {
  0% {
    text-indent: -15px;
  }
  50% {
    text-indent: 20px;
  }
  100% {
    text-indent: 0;
  }
}

@keyframes swipe {
  0% {
    text-indent: -15px;
  }
  50% {
    text-indent: 20px;
  }
  100% {
    text-indent: 0;
  }
}

/*--------------------------

pages

---------------------------*/
/* トップページ*/
/* トップページ共通 */
.section {
  padding: 90px 0;
}

@media only screen and (max-width: 768px) {
  .section {
    padding: 40px 0;
  }
}

.col_section {
  padding-top: 70px;
  position: relative;
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  .col_section {
    padding-top: 40px;
  }
}

.col_section::before {
  content: "";
  position: absolute;
  width: 70%;
  height: 44px;
  background: -webkit-gradient(linear, left top, right top, from(#1f52ba), to(#008cc0));
  background: linear-gradient(to right, #1f52ba, #008cc0);
  bottom: 0;
  -webkit-transform: skewX(-50deg);
          transform: skewX(-50deg);
  right: -15%;
}

@media only screen and (max-width: 768px) {
  .col_section::before {
    width: 110%;
    right: auto;
    left: 10px;
    height: 24px;
  }
}

.col_section .txt_block {
  padding: 0 10% 50px 30px;
}

@media only screen and (max-width: 1170px) {
  .col_section .txt_block {
    padding: 0 15px 50px;
  }
}

@media only screen and (max-width: 768px) {
  .col_section .txt_block {
    padding: 0 15px;
    margin-bottom: 30px;
  }
}

.col_section .txt_block_content {
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
  .col_section .txt_block_content {
    font-size: 14px;
    text-align: center;
  }
}

.col_section.bg_gray::before {
  right: auto;
  left: -15%;
}

@media only screen and (max-width: 768px) {
  .col_section.bg_gray::before {
    right: 10px;
    left: auto;
  }
}

.col_section.bg_gray .txt_block {
  padding: 0 30px 50px 10%;
}

@media only screen and (max-width: 1170px) {
  .col_section.bg_gray .txt_block {
    padding: 0 15px 50px;
  }
}

@media only screen and (max-width: 768px) {
  .col_section.bg_gray .txt_block {
    padding: 0 15px;
  }
}

.index_sec_heading .sec_title {
  position: relative;
  padding-bottom: 30px;
  margin-bottom: 25px;
}

@media only screen and (max-width: 768px) {
  .index_sec_heading .sec_title {
    text-align: center;
  }
}

@media only screen and (max-width: 768px) {
  .index_sec_heading .sec_title {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}

.index_sec_heading .sec_title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background: #004da2;
  width: 80px;
  height: 1px;
}

@media only screen and (max-width: 768px) {
  .index_sec_heading .sec_title::after {
    right: 0;
    margin: 0 auto;
  }
}

.index_sec_heading.txt_center .sec_title {
  text-align: center;
}

.index_sec_heading.txt_center .sec_title::after {
  right: 0;
  margin: 0 auto;
}

/* トップページナビ */
.toppage_nav {
  position: fixed;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  /* width: 12%; */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 9;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
	
  max-width: 12%;
  min-width: 0%;
  width: calc(50% - 640px); /* (100% - 1280px) / 2 */
}

@media only screen and (max-width: 1170px) {
  .toppage_nav {
    width: 2%;
  }
}

@media only screen and (max-width: 768px) {
  .toppage_nav {
    display: none;
  }
}

.toppage_nav ul {
  position: relative;
}

.toppage_nav ul::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #dedede;
}

.toppage_nav ul li {
  position: relative;
}

.toppage_nav ul li:not(:last-child) {
  margin-bottom: 30px;
}

.toppage_nav ul li a {
  display: block;
  width: 9px;
  height: 9px;
  background: #dedede;
  border-radius: 100%;
  font-size: 12px;
  font-weight: 700;
}

.toppage_nav ul li a:hover {
  text-decoration: none;
}

.toppage_nav ul li a span {
  position: absolute;
  opacity: 0;
  white-space: nowrap;
  
	
  /*
  display: block;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  
  padding-top: 10px;
  top: -50%;
  */

  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
  -webkit-writing-mode: vertical-lr;
          writing-mode: vertical-lr;
  margin-left: 10px;
  margin-right: 0;
	
  min-height: 20em;
  margin-top: -10em;
  display: flex;
  justify-content: center;
  align-items: center;

}

.toppage_nav ul li.is-active a {
  background: #004da2;
}

.toppage_nav ul li.is-active a span {
  opacity: 1;
}

.toppage_nav.is-active {
  opacity: 1;
  pointer-events: all;
}

/* アニメーション */
.js-fadein {
  opacity: 0;
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  -webkit-transition-delay: .1s;
          transition-delay: .1s;
}

.js-fadein.scrollin {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* メインビジュアル */
.mainvisual {
  padding-left: 12%;
  background: -webkit-gradient(linear, left bottom, left top, from(#1f52ba), color-stop(#008cc0), to(#fff));
  background: linear-gradient(to top, #1f52ba, #008cc0, #fff);
  position: relative;
}

@media only screen and (max-width: 1170px) {
  .mainvisual {
    padding-left: 0;
  }
}

.mainvisual .mv_inner {
  position: relative;
}

.mainvisual .mv_inner .mv_slider_item {
  height: 800px;
}

@media only screen and (max-width: 768px) {
  .mainvisual .mv_inner .mv_slider_item {
    height: 880px;
  }
}

.mainvisual .mv_inner .mv_slider_item.image01 {
  background: url(../images/top/image_mv_01_pc.jpg) no-repeat center center/cover;
}

@media only screen and (max-width: 768px) {
  .mainvisual .mv_inner .mv_slider_item.image01 {
    background: url(../images/top/image_mv_01_sp.jpg) no-repeat center top/cover;
  }
}

.mainvisual .mv_inner .mv_slider_item.image02 {
  background: url(../images/top/image_mv_02_pc.jpg) no-repeat center center/cover;
}

.mainvisual .mv_inner .swiper-pagination {
  bottom: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 40px;
  width: 12px;
  left: auto;
}

@media only screen and (max-width: 576px) {
  .mainvisual .mv_inner .swiper-pagination {
    display: none;
  }
}

.mainvisual .mv_inner .swiper-pagination .swiper-pagination-bullet {
  display: block;
  width: 4px;
  height: 42px;
  background: rgba(255, 255, 255, 0.5);
  margin: 12px 0;
  border-radius: 0;
  opacity: 1;
  -webkit-transition: all 0.3s linear 0s;
  transition: all 0.3s linear 0s;
}

.mainvisual .mv_inner .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #fff;
}

.mainvisual .mv_inner .main_copy {
  position: absolute;
  top: 22%;
  z-index: 9;
  left: 65px;
}

@media only screen and (max-width: 768px) {
  .mainvisual .mv_inner .main_copy {
    left: 0;
    right: 0;
    top: 25%;
    margin: 0 auto;
    padding: 0 30px;
    text-align: center;
  }
}

@media only screen and (max-width: 576px) {
  .mainvisual .mv_inner .main_copy {
    padding: 0 15px;
  }
}

.mainvisual .mv_inner .main_copy_txt {
  font-size: 48px;
  color: #fff;
  font-style: italic;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .mainvisual .mv_inner .main_copy_txt {
    font-size: 24px;
  }
}

.mainvisual .mv_inner .main_copy_txt img {
  max-width: 360px;
}

@media only screen and (max-width: 768px) {
  .mainvisual .mv_inner .main_copy_txt img {
    max-width: 240px;
  }
}

.mainvisual .mv_inner .main_copy_txt p {
  margin-bottom: 20px;
}

.mainvisual .mv_inner .main_copy_txt span {
  display: inline-block;
  font-size: 80px;
}

@media only screen and (max-width: 768px) {
  .mainvisual .mv_inner .main_copy_txt span {
    font-size: 40px;
    margin-top: 5px;
    vertical-align: top;
  }
}

@media only screen and (max-width: 768px) {
  .mainvisual .mv_inner .main_copy .btn_wrap {
    text-align: center;
  }
}

.mainvisual .mv_inner .mv_news {
  position: absolute;
  background: rgba(0, 0, 0, 0.8);
  bottom: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 35px 18% 35px 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (max-width: 1170px) {
  .mainvisual .mv_inner .mv_news {
    padding: 35px 35px;
  }
}

@media only screen and (max-width: 768px) {
  .mainvisual .mv_inner .mv_news {
    display: block;
    padding: 30px;
  }
}

@media only screen and (max-width: 576px) {
  .mainvisual .mv_inner .mv_news {
    padding: 25px 15px;
  }
}

.mainvisual .mv_inner .mv_news .news_heading {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
  color: #fff;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
}

@media only screen and (max-width: 1170px) {
  .mainvisual .mv_inner .mv_news .news_heading {
    padding-right: 20px;
  }
}

@media only screen and (max-width: 768px) {
  .mainvisual .mv_inner .mv_news .news_heading {
    margin-bottom: 30px;
    padding-right: 0;
  }
}

.mainvisual .mv_inner .mv_news .news_list {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 80%;
          flex: 0 0 80%;
}

.mainvisual .scroll {
  position: absolute;
  color: #fff;
  /* width: 12%; */
  bottom: 0;
  left: 0;
  text-align: center;
  padding-bottom: 160px;
	
  max-width: 12%;
  min-width: 0%;
  width: calc(50% - 640px); /* (100% - 1280px) / 2 */	
}

.mainvisual .scroll::before {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: 0;
  width: 1px;
  height: 126px;
  background: #fff;
  content: "";
}

.mainvisual .scroll span {
  position: relative;
/*
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
*/
  font-weight: 700;
  display: inline-block;
  font-size: 12px;
  letter-spacing: .2em;
	
  
  -webkit-writing-mode: vertical-lr;
          writing-mode: vertical-lr;	
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
	
}

/* news */
.index_news .inner {
  padding: 0 18% 0 12%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 1170px) {
  .index_news .inner {
    padding: 0 35px;
  }
}

@media only screen and (max-width: 768px) {
  .index_news .inner {
    display: block;
    padding: 0 15px;
  }
}

.index_news .inner .index_sec_heading {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
  padding-right: 20px;
}

@media only screen and (max-width: 768px) {
  .index_news .inner .index_sec_heading {
    padding-right: 0;
    text-align: center;
    margin-bottom: 40px;
  }
}

.index_news .inner .index_sec_heading .sec_title img {
  max-width: 156px;
}

@media only screen and (max-width: 768px) {
  .index_news .inner .index_sec_heading .sec_title img {
    max-width: 70px;
  }
}

.index_news .inner .index_sec_heading .news_link:hover {
  text-decoration: underline;
}

.index_news .inner .tab {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 80%;
          flex: 0 0 80%;
}

/* solution */
.index_solution {
  background: url(../images/top/bg_top_solution.jpg) no-repeat center center/cover;
}

.index_solution .index_sec_heading .sec_title img {
  max-width: 225px;
}

@media only screen and (max-width: 768px) {
  .index_solution .index_sec_heading .sec_title img {
    max-width: 100px;
  }
}

.index_solution .sec_lead {
  font-size: 28px;
  text-align: center;
  margin-bottom: 60px;
}

@media only screen and (max-width: 768px) {
  .index_solution .sec_lead {
    font-size: 14px;
    margin-bottom: 40px;
  }
}

.index_solution .solution_icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 55px;
}

@media only screen and (max-width: 1170px) {
  .index_solution .solution_icons {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media only screen and (max-width: 768px) {
  .index_solution .solution_icons {
    margin-bottom: 0;
  }
}

.index_solution .solution_icons_item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 14.2857%;
          flex: 0 0 14.2857%;
}

@media only screen and (max-width: 1170px) {
  .index_solution .solution_icons_item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 145px;
            flex: 0 0 145px;
    padding: 0 10px;
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 768px) {
  .index_solution .solution_icons_item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100px;
            flex: 0 0 100px;
  }
}

.index_solution .solution_icons_item * {
  text-align: center;
}

.index_solution .solution_icons_item figure {
  margin-bottom: 25px;
}

.index_solution .solution_icons_item figure img {
  max-width: 125px;
}

@media only screen and (max-width: 768px) {
  .index_solution .solution_icons_item figure img {
    max-width: 70px;
  }
}

.index_solution .solution_icons_title {
  font-weight: 700;
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
  .index_solution .solution_icons_title {
    font-size: 13px;
  }
}

@media only screen and (max-width: 768px) {
  .index_solution .btn_wrap {
    margin-top: 15px;
  }
}

/* support */
.index_support .index_sec_heading .sec_title img {
  max-width: 225px;
}

@media only screen and (max-width: 768px) {
  .index_support .index_sec_heading .sec_title img {
    max-width: 100px;
  }
}

/* tutorial */
.index_tutorial .index_sec_heading .sec_title img {
  max-width: 225px;
}

@media only screen and (max-width: 768px) {
  .index_tutorial .index_sec_heading .sec_title img {
    max-width: 90px;
  }
}

/* download */
.index_download .index_sec_heading .sec_title img {
  max-width: 278px;
}

@media only screen and (max-width: 768px) {
  .index_download .index_sec_heading .sec_title img {
    max-width: 115px;
  }
}

/* partner */
.index_partner .index_sec_heading .sec_title img {
  max-width: 210px;
}

@media only screen and (max-width: 768px) {
  .index_partner .index_sec_heading .sec_title img {
    max-width: 90px;
  }
}

/* aboutus */
.index_aboutus .index_sec_heading .sec_title img {
  max-width: 256px;
}

@media only screen and (max-width: 768px) {
  .index_aboutus .index_sec_heading .sec_title img {
    max-width: 108px;
  }
}

/* 製品ページ */
.index_products {
  padding: 30px 0;
  border-top: 1px #eee solid;
}

@media only screen and (max-width: 768px) {
  .index_products {
    padding: 20px 0;
  }
}

.index_products_list {
  padding-left: 20px;
}

.index_products_list:not(:last-child) {
  margin-bottom: 15px;
}

.index_products_list li:not(:last-child) {
  margin-bottom: 10px;
}

.index_products_list li.category_title_sub {
  font-weight: 700;
  position: relative;
}

.index_products_list li.category_title_sub::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 100%;
  left: -15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #e73820;
  position: absolute;
}

.index_products_list li a:hover {
  text-decoration: underline;
  opacity: .6;
}

.products_mv {
  padding: 50px 0;
}

@media only screen and (max-width: 768px) {
  .products_mv {
    padding: 30px 0;
  }
}

.products_mv .products_image img {
  width: auto;
  max-width: inherit;
}

@media only screen and (max-width: 768px) {
  .products_mv .products_image img {
    width: 100%;
    max-width: 100%;
  }
}

.products_mv .btn_wrap {
  margin-right: -10px;
  margin-left: -10px;
}

@media only screen and (max-width: 768px) {
  .products_mv .btn_wrap {
    margin-left: 0;
    margin-right: 0;
  }
}

.products_mv .btn_wrap .btn {
  margin: 0 10px;
}

@media only screen and (max-width: 768px) {
  .products_mv .btn_wrap .btn {
    margin: 0 5px;
  }
}

@media only screen and (max-width: 576px) {
  .products_mv .btn_wrap .btn {
    margin: 0;
  }
  .products_mv .btn_wrap .btn.btn_ghost {
    width: 35%;
    padding: 0;
  }
  .products_mv .btn_wrap .btn.btn_orange {
    width: 62%;
  }
}

/* products_mv auto */
.products_mv_auto table {
	width: auto;
}

.products_mv_auto td.package {
	width: 33%;
	padding: 0;
}

.products_mv_auto td.package img {
	max-width: 180px;
}

.products_mv_auto td.logo {
	width: 67%;
	text-align: left;
	padding: 0;
	filter: brightness(0) invert(1);
}

.products_mv_auto td.logo img {
	max-width: 400px;
}

.products_mv_auto td.logo .text {
	font-size: calc(18px + 1vw);
}

.products_purchase {
  border: 1px #004da2 solid;
  padding: 70px;
  margin: 70px 0;
}

@media only screen and (max-width: 768px) {
  .products_purchase {
    margin: 50px 0;
    padding: 40px;
  }
}

@media only screen and (max-width: 576px) {
  .products_purchase {
    padding: 20px;
  }
}

.products_purchase .btn {
  margin: 0 10px;
}

@media only screen and (max-width: 1170px) {
  .products_purchase .btn {
    margin: 0;
  }
  .products_purchase .btn:not(:last-child) {
    margin-bottom: 20px;
  }
}

.summary_panel {
  margin-bottom: 70px;
}

@media only screen and (max-width: 768px) {
  .summary_panel {
    margin-bottom: 40px;
  }
}

.summary_panel_item {
  min-height: 420px;
  padding-left: 0;
  padding-right: 0;
}

@media only screen and (max-width: 768px) {
  .summary_panel_item {
    min-height: inherit;
  }
}

.oversized_text {
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
	width: 100%;
	font-size: 200%;
}

.oversized_text_inner {
	text-align: left;
	display: inline-block;
}

.oversized_text_inner h1, .oversized_text_inner h2, .oversized_text_inner h3, 
.oversized_text_inner h4, .oversized_text_inner h5, .oversized_text_inner h6 {
	font-size: 250%;	
}

@media only screen and (max-width: 1280px) {
  .oversized_text_inner h1, .oversized_text_inner h2, .oversized_text_inner h3, 
  .oversized_text_inner h4, .oversized_text_inner h5, .oversized_text_inner h6 {
	font-size: 150%;	
  }
	
	
}


@media only screen and (max-width: 768px) {
  .oversized_text {
    min-height: inherit;
	margin: 0 auto;	
  }
  .oversized_text_inner h1, .oversized_text_inner h2, .oversized_text_inner h3, 
  .oversized_text_inner h4, .oversized_text_inner h5, .oversized_text_inner h6 {
	font-size: 125%;	
	font-weight: bold;
  }
  .oversized_text {
	font-size: 100%;
  }
	
	
}


.summary_panel_inner {
  height: 100%;
  padding: 45px 25px;
}

@media only screen and (max-width: 768px) {
  .summary_panel_inner {
    padding: 30px 20px;
  }
}

.summary_panel_icon {
  text-align: center;
  margin-bottom: 30px;
  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;
}

.summary_panel_icon img {
  width: auto;
  max-width: inherit;
}

.summary_panel_title {
  font-weight: 700;
  margin-bottom: 20px;
}

.summary_panel.panel_odd_gray .summary_panel_item:nth-child(odd) .summary_panel_inner {
  background: #efefef;
}

/* ソリューション */
.page_nav {
  margin-bottom: 40px;
}

.page_nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.page_nav_list li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 14.2857%;
          flex: 0 0 14.2857%;
  max-width: 14.2857%;
  border-left: 1px #004da2 solid;
}

@media only screen and (max-width: 768px) {
  .page_nav_list li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333%;
            flex: 0 0 33.3333%;
    max-width: 33.3333%;
    border: none !important;
    padding: 2px;
  }
}

@media only screen and (max-width: 576px) {
  .page_nav_list li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
}

.page_nav_list li:last-child {
  border-right: 1px #004da2 solid;
}

.page_nav_list li a {
  display: block;
  text-align: center;
  padding: 5px;
  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;
}

@media only screen and (max-width: 768px) {
  .page_nav_list li a {
    border: 1px #004da2 solid;
    padding: 8px;
  }
}

.page_nav_list li a:hover {
  opacity: .6;
}

.solution_panel {
  padding: 50px;
  margin-bottom: 50px;
}

@media only screen and (max-width: 768px) {
  .solution_panel {
    padding: 25px;
    margin-bottom: 30px;
  }
}

.solution_panel_title {
  text-align: center;
  position: relative;
  padding-bottom: 25px;
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  .solution_panel_title {
    margin-bottom: 25px;
  }
}

.solution_panel_title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 50px;
  height: 1px;
  background: #004da2;
}

.solution_panel p:not(:last-child) {
  margin-bottom: 20px;
}

.solution_panel dl {
  line-height: 1.6;
}

.solution_panel dl:not(:last-child) {
  margin-bottom: 20px;
}

.solution_panel dl dt {
  font-weight: 700;
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
  .solution_panel dl dt {
    font-size: 16px;
  }
}

.solution_panel#solution01 .image_title {
  max-width: 780px;
}

.solution_panel#solution02 .image_title {
  max-width: 470px;
}

.solution_panel#solution03 .image_title {
  max-width: 361px;
}

.solution_panel#solution04 .image_title {
  max-width: 271px;
}

.solution_panel#solution05 .image_title {
  max-width: 341px;
}

.solution_panel#solution06 .image_title {
  max-width: 353px;
}

.solution_panel#solution07 .image_title {
  max-width: 121px;
}

/* ライセンス */
.virtual_content p:not(:last-child) {
  margin-bottom: 20px;
}

.virtual_content figure {
  text-align: center;
  padding: 30px 10px;
}

.no-figure-padding figure {
  text-align: center;
  padding: inherit;
}



@media only screen and (max-width: 768px) {
  .virtual_content figure {
    margin-top: 30px;
  }
}

.virtual_content figure img {
  width: auto;
}

/* チュートリアル */
@media only screen and (max-width: 576px) {
  .tutorial_list ul li:not(:last-child) {
    margin-bottom: 30px;
  }
}

.tutorial_list ul li a:hover {
  opacity: .6;
}

.tutorial_howto_heading {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
  .tutorial_howto_heading {
    font-size: 24px;
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 576px) {
  .tutorial_howto_heading {
    font-size: 18px;
  }
}

.tutorial_howto_sub_title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
  .tutorial_howto_sub_title {
    font-size: 16px;
  }
}

.tutorial_howto ul li {
  margin-bottom: 30px;
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
  .tutorial_howto ul li {
    font-size: 16px;
  }
}

.tutorial_howto ul li figure {
  margin-bottom: 20px;
}

/* 404 */
.notfound figure {
  text-align: center;
  margin-bottom: 30px;
}

.notfound figure img {
  width: 100%;
  max-width: 385px;
}

.notfound_lead {
  text-align: center;
  font-size: 24px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
  .notfound_lead {
    font-size: 20px;
  }
}

.notfound_search {
  text-align: center;
}

.notfound_search label {
  position: relative;
  padding: 0;
  display: inline-block;
}

@media only screen and (max-width: 576px) {
  .notfound_search label {
    display: block;
  }
}

.notfound_search input[type="text"] {
  background: transparent;
  width: 320px;
  display: inline-block;
  border-radius: 100px;
  border: 1px #ccc solid;
  margin: 0;
  padding: 15px 50px 15px 15px;
}

@media only screen and (max-width: 576px) {
  .notfound_search input[type="text"] {
    width: 100%;
  }
}

.notfound_search input[type="text"]:focus {
  border-color: #004da2;
}

.notfound_search_submit {
  position: absolute;
  width: 37px;
  height: 37px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 40px;
  right: 10px;
  color: #aaa;
}

.notfound_search_submit:hover {
  background: #004da2;
  color: #fff;
}

.iframe-loader {
	min-height: 100px;
	background: #fff url("../images/loader/ajax-loader.gif") no-repeat 50% top !important;
}

span.break {
	display: inline-block;
	font-size: inherit !important;	
	margin: inherit !important;
	vertical-align: inherit !important;
}

.sitemap {


}

.sitemap ul {
	list-style-type: disc; 
    list-style-position: inside; 
}

.sitemap ul ul {
   list-style-type: circle; 
   list-style-position: inside; 
   margin-left: 20px; 	
}

.sitemap ul li {
	list-style-type: disc;
}

.sitemap ul li a {
	
}

i.lang {
	background-image: url(../images/flags/flags.png);
    vertical-align: middle;
    margin: 1px;
    display: inline-block;
}
i.lang.lang-mw { background-position: 0 0; width: 32px; height: 32px; }
i.lang.lang-mo { background-position: 0 -32px; width: 32px; height: 32px; }
i.lang.lang-ar { background-position: -32px 0; width: 32px; height: 32px; }
i.lang.lang-en, i.lang.lang-eu { background-position: -32px -32px; width: 32px; height: 32px; }
i.lang.lang-np { background-position: -64px 0; width: 32px; height: 32px; }
i.lang.lang-ps { background-position: -64px -32px; width: 32px; height: 32px; }
i.lang.lang-mm { background-position: -96px 0; width: 32px; height: 32px; }
i.lang.lang-er { background-position: -96px -32px; width: 32px; height: 32px; }
i.lang.lang-vi { background-position: -128px 0; width: 32px; height: 32px; }
i.lang.lang-mq { background-position: -128px -32px; width: 32px; height: 32px; }
i.lang.lang-gg { background-position: -160px 0; width: 32px; height: 32px; }
i.lang.lang-af { background-position: -160px -32px; width: 32px; height: 32px; }
i.lang.lang-mc, i.lang.lang-id { background-position: -192px 0; width: 32px; height: 32px; }
i.lang.lang-yt { background-position: -192px -32px; width: 32px; height: 32px; }
i.lang.lang-fk { background-position: -224px 0; width: 32px; height: 32px; }
i.lang.lang-ye { background-position: -224px -32px; width: 32px; height: 32px; }
i.lang.lang-rw { background-position: -256px 0; width: 32px; height: 32px; }
i.lang.lang-zm { background-position: -256px -32px; width: 32px; height: 32px; }
i.lang.lang-kh { background-position: -288px 0; width: 32px; height: 32px; }
i.lang.lang-za { background-position: -288px -32px; width: 32px; height: 32px; }
i.lang.lang-pt { background-position: -320px 0; width: 32px; height: 32px; }
i.lang.lang-ge { background-position: -320px -32px; width: 32px; height: 32px; }
i.lang.lang-gb, i.lang.lang-uk { background-position: -352px 0; width: 32px; height: 32px; }
i.lang.lang-iq { background-position: -352px -32px; width: 32px; height: 32px; }
i.lang.lang-sn { background-position: -384px 0; width: 32px; height: 32px; }
i.lang.lang-ja, i.lang.lang-jp { background-position: -384px -32px; width: 32px; height: 32px; }
i.lang.lang-ao { background-position: -416px 0; width: 32px; height: 32px; }
i.lang.lang-ic { background-position: -416px -32px; width: 32px; height: 32px; }
i.lang.lang-mn { background-position: -448px 0; width: 32px; height: 32px; }
i.lang.lang-gs { background-position: -448px -32px; width: 32px; height: 32px; }
i.lang.lang-sl { background-position: -480px 0; width: 32px; height: 32px; }
i.lang.lang-ai { background-position: -480px -32px; width: 32px; height: 32px; }
i.lang.lang-md { background-position: -512px 0; width: 32px; height: 32px; }
i.lang.lang-nc { background-position: -512px -32px; width: 32px; height: 32px; }
i.lang.lang-my { background-position: -544px 0; width: 32px; height: 32px; }
i.lang.lang-ck { background-position: -544px -32px; width: 32px; height: 32px; }
i.lang.lang-ne { background-position: -576px 0; width: 32px; height: 32px; }
i.lang.lang-as { background-position: -576px -32px; width: 32px; height: 32px; }
i.lang.lang-tn { background-position: -608px 0; width: 32px; height: 32px; }
i.lang.lang-km { background-position: -608px -32px; width: 32px; height: 32px; }
i.lang.lang-pg { background-position: -640px 0; width: 32px; height: 32px; }
i.lang.lang-lu { background-position: -640px -32px; width: 32px; height: 32px; }
i.lang.lang-dk { background-position: -672px 0; width: 32px; height: 32px; }
i.lang.lang-in { background-position: -672px -32px; width: 32px; height: 32px; }
/* i.lang.lang-tw { background-position: -704px 0; width: 32px; height: 32px; } */
i.lang.lang-tw { background-position: -704px 0; width: 32px; height: 26px; vertical-align: unset;}
i.lang.lang-sd { background-position: -704px -32px; width: 32px; height: 32px; }
i.lang.lang-rs { background-position: -736px 0; width: 32px; height: 32px; }
i.lang.lang-sg { background-position: -736px -32px; width: 32px; height: 32px; }
i.lang.lang-is { background-position: -768px 0; width: 32px; height: 32px; }
i.lang.lang-tf { background-position: -768px -32px; width: 32px; height: 32px; }
i.lang.lang-mf { background-position: -800px 0; width: 32px; height: 32px; }
i.lang.lang-nu { background-position: -800px -32px; width: 32px; height: 32px; }
i.lang.lang-al { background-position: -832px 0; width: 32px; height: 32px; }
i.lang.lang-uy { background-position: -832px -32px; width: 32px; height: 32px; }
i.lang.lang-vc { background-position: -864px 0; width: 32px; height: 32px; }
i.lang.lang-ba { background-position: -864px -32px; width: 32px; height: 32px; }
i.lang.lang-sk { background-position: -896px 0; width: 32px; height: 32px; }
i.lang.lang-cx { background-position: -896px -32px; width: 32px; height: 32px; }
i.lang.lang-pe { background-position: -928px 0; width: 32px; height: 32px; }
i.lang.lang-hu { background-position: -928px -32px; width: 32px; height: 32px; }
i.lang.lang-ee { background-position: -960px 0; width: 32px; height: 32px; }
i.lang.lang-jo { background-position: -960px -32px; width: 32px; height: 32px; }
i.lang.lang-bg { background-position: -992px 0; width: 32px; height: 32px; }
i.lang.lang-am { background-position: -992px -32px; width: 32px; height: 32px; }
i.lang.lang-dm { background-position: 0 -64px; width: 32px; height: 32px; }
i.lang.lang-cy { background-position: -32px -64px; width: 32px; height: 32px; }
i.lang.lang-it { background-position: -64px -64px; width: 32px; height: 32px; }
i.lang.lang-az { background-position: -96px -64px; width: 32px; height: 32px; }
i.lang.lang-ug { background-position: -128px -64px; width: 32px; height: 32px; }
i.lang.lang-bh { background-position: -160px -64px; width: 32px; height: 32px; }
i.lang.lang-kg { background-position: -192px -64px; width: 32px; height: 32px; }
i.lang.lang-sc { background-position: -224px -64px; width: 32px; height: 32px; }
i.lang.lang-pf { background-position: -256px -64px; width: 32px; height: 32px; }
i.lang.lang-pn { background-position: -288px -64px; width: 32px; height: 32px; }
i.lang.lang-nl { background-position: -320px -64px; width: 32px; height: 32px; }
i.lang.lang-ky { background-position: -352px -64px; width: 32px; height: 32px; }
i.lang.lang-gh { background-position: -384px -64px; width: 32px; height: 32px; }
i.lang.lang-pl { background-position: -416px -64px; width: 32px; height: 32px; }
i.lang.lang-nf { background-position: -448px -64px; width: 32px; height: 32px; }
i.lang.lang-ph { background-position: -480px -64px; width: 32px; height: 32px; }
i.lang.lang-tr { background-position: -512px -64px; width: 32px; height: 32px; }
i.lang.lang-aw { background-position: -544px -64px; width: 32px; height: 32px; }
i.lang.lang-dz { background-position: -576px -64px; width: 32px; height: 32px; }
i.lang.lang-ml { background-position: -608px -64px; width: 32px; height: 32px; }
i.lang.lang-wf { background-position: -640px -64px; width: 32px; height: 32px; }
i.lang.lang-cn { background-position: -672px -64px; width: 32px; height: 32px; }
i.lang.lang-gq { background-position: -704px -64px; width: 32px; height: 32px; }
i.lang.lang-ad { background-position: -736px -64px; width: 32px; height: 32px; }
i.lang.lang-at { background-position: -768px -64px; width: 32px; height: 32px; }
i.lang.lang-ls { background-position: -800px -64px; width: 32px; height: 32px; }
i.lang.lang-tl { background-position: -832px -64px; width: 32px; height: 32px; }
i.lang.lang-st { background-position: -864px -64px; width: 32px; height: 32px; }
i.lang.lang-gy { background-position: -896px -64px; width: 32px; height: 32px; }
i.lang.lang-lb { background-position: -928px -64px; width: 32px; height: 32px; }
i.lang.lang-mh { background-position: -960px -64px; width: 32px; height: 32px; }
i.lang.lang-us { background-position: -992px -64px; width: 32px; height: 32px; }
i.lang.lang-tm { background-position: 0 -96px; width: 32px; height: 32px; }
i.lang.lang-br { background-position: -32px -96px; width: 32px; height: 32px; }
i.lang.lang-ch { background-position: -64px -96px; width: 32px; height: 32px; }
i.lang.lang-aq { background-position: -96px -96px; width: 32px; height: 32px; }
i.lang.lang-kz { background-position: -128px -96px; width: 32px; height: 32px; }
i.lang.lang-kn { background-position: -160px -96px; width: 32px; height: 32px; }
i.lang.lang-bs { background-position: -192px -96px; width: 32px; height: 32px; }
i.lang.lang-cg { background-position: -224px -96px; width: 32px; height: 32px; }
i.lang.lang-gi { background-position: -256px -96px; width: 32px; height: 32px; }
i.lang.lang-sv { background-position: -288px -96px; width: 32px; height: 32px; }
i.lang.lang-co { background-position: -320px -96px; width: 32px; height: 32px; }
i.lang.lang-ng { background-position: -352px -96px; width: 32px; height: 32px; }
i.lang.lang-ci { background-position: -384px -96px; width: 32px; height: 32px; }
i.lang.lang-by { background-position: -416px -96px; width: 32px; height: 32px; }
i.lang.lang-se { background-position: -448px -96px; width: 32px; height: 32px; }
i.lang.lang-pa { background-position: -480px -96px; width: 32px; height: 32px; }
i.lang.lang-tv { background-position: -512px -96px; width: 32px; height: 32px; }
i.lang.lang-tg { background-position: -544px -96px; width: 32px; height: 32px; }
i.lang.lang-gn { background-position: -576px -96px; width: 32px; height: 32px; }
i.lang.lang-na { background-position: -608px -96px; width: 32px; height: 32px; }
i.lang.lang-sh { background-position: -640px -96px; width: 32px; height: 32px; }
i.lang.lang-tt { background-position: -672px -96px; width: 32px; height: 32px; }
i.lang.lang-au { background-position: -704px -96px; width: 32px; height: 32px; }
i.lang.lang-pk { background-position: -736px -96px; width: 32px; height: 32px; }
i.lang.lang-mx { background-position: -768px -96px; width: 32px; height: 32px; }
i.lang.lang-cc { background-position: -800px -96px; width: 32px; height: 32px; }
i.lang.lang-sz { background-position: -832px -96px; width: 32px; height: 32px; }
i.lang.lang-gd { background-position: -864px -96px; width: 32px; height: 32px; }
i.lang.lang-ax { background-position: -896px -96px; width: 32px; height: 32px; }
i.lang.lang-ve { background-position: -928px -96px; width: 32px; height: 32px; }
i.lang.lang-de { background-position: -960px -96px; width: 32px; height: 32px; }
i.lang.lang-fi { background-position: -992px -96px; width: 32px; height: 32px; }
i.lang.lang-cw { background-position: 0 -128px; width: 32px; height: 32px; }
i.lang.lang-es { background-position: -32px -128px; width: 32px; height: 32px; }
i.lang.lang-lc { background-position: -64px -128px; width: 32px; height: 32px; }
i.lang.lang-tz { background-position: -96px -128px; width: 32px; height: 32px; }
i.lang.lang-nr { background-position: -128px -128px; width: 32px; height: 32px; }
i.lang.lang-lt { background-position: -160px -128px; width: 32px; height: 32px; }
i.lang.lang-gm { background-position: -192px -128px; width: 32px; height: 32px; }
i.lang.lang-cm { background-position: -224px -128px; width: 32px; height: 32px; }
i.lang.lang-vg { background-position: -256px -128px; width: 32px; height: 32px; }
i.lang.lang-fm { background-position: -288px -128px; width: 32px; height: 32px; }
i.lang.lang-kw { background-position: -320px -128px; width: 32px; height: 32px; }
i.lang.lang-tc { background-position: -352px -128px; width: 32px; height: 32px; }
i.lang.lang-bz { background-position: -384px -128px; width: 32px; height: 32px; }
i.lang.lang-lk { background-position: -416px -128px; width: 32px; height: 32px; }
i.lang.lang-mr { background-position: -448px -128px; width: 32px; height: 32px; }
i.lang.lang-bm { background-position: -480px -128px; width: 32px; height: 32px; }
i.lang.lang-ly { background-position: -512px -128px; width: 32px; height: 32px; }
i.lang.lang-so { background-position: -544px -128px; width: 32px; height: 32px; }
i.lang.lang-ae { background-position: -576px -128px; width: 32px; height: 32px; }
i.lang.lang-bj { background-position: -608px -128px; width: 32px; height: 32px; }
i.lang.lang-sa { background-position: -640px -128px; width: 32px; height: 32px; }
i.lang.lang-bb { background-position: -672px -128px; width: 32px; height: 32px; }
i.lang.lang-tj { background-position: -704px -128px; width: 32px; height: 32px; }
i.lang.lang-bw { background-position: -736px -128px; width: 32px; height: 32px; }
i.lang.lang-mp { background-position: -768px -128px; width: 32px; height: 32px; }
i.lang.lang-bt { background-position: -800px -128px; width: 32px; height: 32px; }
i.lang.lang-do { background-position: -832px -128px; width: 32px; height: 32px; }
i.lang.lang-hr { background-position: -864px -128px; width: 32px; height: 32px; }
i.lang.lang-vn { background-position: -896px -128px; width: 32px; height: 32px; }
i.lang.lang-dj { background-position: -928px -128px; width: 32px; height: 32px; }
i.lang.lang-bf { background-position: -960px -128px; width: 32px; height: 32px; }
i.lang.lang-ro { background-position: -992px -128px; width: 32px; height: 32px; }
i.lang.lang-ma { background-position: 0 -160px; width: 32px; height: 32px; }
i.lang.lang-th { background-position: -32px -160px; width: 32px; height: 32px; }
i.lang.lang-sy { background-position: -64px -160px; width: 32px; height: 32px; }
i.lang.lang-py { background-position: -96px -160px; width: 32px; height: 32px; }
i.lang.lang-be { background-position: -128px -160px; width: 32px; height: 32px; }
i.lang.lang-uz { background-position: -160px -160px; width: 32px; height: 32px; }
i.lang.lang-il { background-position: -192px -160px; width: 32px; height: 32px; }
i.lang.lang-lv { background-position: -224px -160px; width: 32px; height: 32px; }
i.lang.lang-je { background-position: -256px -160px; width: 32px; height: 32px; }
i.lang.lang-li { background-position: -288px -160px; width: 32px; height: 32px; }
i.lang.lang-bl { background-position: -320px -160px; width: 32px; height: 32px; }
i.lang.lang-cv { background-position: -352px -160px; width: 32px; height: 32px; }
i.lang.lang-eh { background-position: -384px -160px; width: 32px; height: 32px; }
i.lang.lang-bo { background-position: -416px -160px; width: 32px; height: 32px; }
i.lang.lang-mg { background-position: -448px -160px; width: 32px; height: 32px; }
i.lang.lang-tk { background-position: -480px -160px; width: 32px; height: 32px; }
i.lang.lang-mz { background-position: -512px -160px; width: 32px; height: 32px; }
i.lang.lang-sr { background-position: -544px -160px; width: 32px; height: 32px; }
i.lang.lang-cd { background-position: -576px -160px; width: 32px; height: 32px; }
i.lang.lang-sb { background-position: -608px -160px; width: 32px; height: 32px; }
i.lang.lang-gr { background-position: -640px -160px; width: 32px; height: 32px; }
i.lang.lang-la { background-position: -672px -160px; width: 32px; height: 32px; }
i.lang.lang-nz { background-position: -704px -160px; width: 32px; height: 32px; }
i.lang.lang-cz { background-position: -736px -160px; width: 32px; height: 32px; }
i.lang.lang-ag { background-position: -768px -160px; width: 32px; height: 32px; }
i.lang.lang-gt { background-position: -800px -160px; width: 32px; height: 32px; }
i.lang.lang-pw { background-position: -832px -160px; width: 32px; height: 32px; }
i.lang.lang-cr { background-position: -864px -160px; width: 32px; height: 32px; }
i.lang.lang-gl { background-position: -896px -160px; width: 32px; height: 32px; }
i.lang.lang-mk { background-position: -928px -160px; width: 32px; height: 32px; }
i.lang.lang-et { background-position: -960px -160px; width: 32px; height: 32px; }
i.lang.lang-ss { background-position: -992px -160px; width: 32px; height: 32px; }
i.lang.lang-an { background-position: 0 -192px; width: 32px; height: 32px; }
i.lang.lang-qa { background-position: -32px -192px; width: 32px; height: 32px; }
i.lang.lang-jm { background-position: -64px -192px; width: 32px; height: 32px; }
i.lang.lang-ni { background-position: -96px -192px; width: 32px; height: 32px; }
i.lang.lang-cu { background-position: -128px -192px; width: 32px; height: 32px; }
i.lang.lang-mv { background-position: -160px -192px; width: 32px; height: 32px; }
i.lang.lang-bi { background-position: -192px -192px; width: 32px; height: 32px; }
i.lang.lang-om { background-position: -224px -192px; width: 32px; height: 32px; }
i.lang.lang-im { background-position: -256px -192px; width: 32px; height: 32px; }
i.lang.lang-va { background-position: -288px -192px; width: 32px; height: 32px; }
i.lang.lang-ua { background-position: -320px -192px; width: 32px; height: 32px; }
i.lang.lang-mt { background-position: -352px -192px; width: 32px; height: 32px; }
i.lang.lang-cl { background-position: -384px -192px; width: 32px; height: 32px; }
i.lang.lang-ht { background-position: -416px -192px; width: 32px; height: 32px; }
i.lang.lang-fj { background-position: -448px -192px; width: 32px; height: 32px; }
i.lang.lang-cf { background-position: -480px -192px; width: 32px; height: 32px; }
i.lang.lang-no { background-position: -512px -192px; width: 32px; height: 32px; }
i.lang.lang-lr { background-position: -544px -192px; width: 32px; height: 32px; }
i.lang.lang-ie { background-position: -576px -192px; width: 32px; height: 32px; }
i.lang.lang-hk { background-position: -608px -192px; width: 32px; height: 32px; }
i.lang.lang-ca { background-position: -640px -192px; width: 32px; height: 32px; }
i.lang.lang-gw { background-position: -672px -192px; width: 32px; height: 32px; }
i.lang.lang-ru { background-position: -704px -192px; width: 32px; height: 32px; }
i.lang.lang-kp { background-position: -736px -192px; width: 32px; height: 32px; }
i.lang.lang-sm { background-position: -768px -192px; width: 32px; height: 32px; }
i.lang.lang-mu { background-position: -800px -192px; width: 32px; height: 32px; }
i.lang.lang-eg { background-position: -832px -192px; width: 32px; height: 32px; }
i.lang.lang-ec { background-position: -864px -192px; width: 32px; height: 32px; }
i.lang.lang-bd { background-position: -896px -192px; width: 32px; height: 32px; }
i.lang.lang-kr { background-position: -928px -192px; width: 32px; height: 32px; }
i.lang.lang-to { background-position: -960px -192px; width: 32px; height: 32px; }
i.lang.lang-ws { background-position: -992px -192px; width: 32px; height: 32px; }
i.lang.lang-pr { background-position: 0 -224px; width: 32px; height: 32px; }
i.lang.lang-ir { background-position: -32px -224px; width: 32px; height: 32px; }
i.lang.lang-bn { background-position: -64px -224px; width: 32px; height: 32px; }
i.lang.lang-ki { background-position: -96px -224px; width: 32px; height: 32px; }
i.lang.lang-fr { background-position: -128px -224px; width: 32px; height: 32px; }
i.lang.lang-td { background-position: -160px -224px; width: 32px; height: 32px; }
i.lang.lang-si { background-position: -192px -224px; width: 32px; height: 32px; }
i.lang.lang-ga { background-position: -224px -224px; width: 32px; height: 32px; }
i.lang.lang-ke { background-position: -256px -224px; width: 32px; height: 32px; }
i.lang.lang-zw { background-position: -288px -224px; width: 32px; height: 32px; }
i.lang.lang-ms { background-position: -320px -224px; width: 32px; height: 32px; }
i.lang.lang-fo { background-position: -352px -224px; width: 32px; height: 32px; }
i.lang.lang-vu { background-position: -384px -224px; width: 32px; height: 32px; }
i.lang.lang-gu { background-position: -416px -224px; width: 32px; height: 32px; }
i.lang.lang-me { background-position: -448px -224px; width: 32px; height: 32px; }
i.lang.lang-hn { background-position: -480px -224px; width: 32px; height: 32px; }

.theme_section a, .theme_wrap .main_container a {
	color: #4e454a;
	-webkit-transition: all 0.3s linear 0s;
	        transition: all 0.3s linear 0s;
}

.theme_section a:hover, .theme_wrap .main_container a:hover {
	text-decoration: underline;
	font-weight: bold;
}

.post-password-form input[type=password],
.post-password-form input[type=submit] {
	border: 1px solid blue;
}

figure.automargin {
	margin-left: auto !important;
	margin-right: auto !important;
}

@media only screen and (min-width: 768px) {
	.summary_panel.summary_panel_title_center .summary_panel_title {
		text-align: center;
	}
}

.loading_movie_box {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 1000;
	background-color: black;
}

/* Tall sceen */
.loading_movie_box video {
	position: fixed;
	width: 100vw;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);	
}


/* Wide screen */
@media (min-aspect-ratio: 1920/1080) { /* 1.777 */
	.loading_movie_box video {
		width: unset;
		height: 100vh;
	}
}


.loading_movie_box div {
	position: fixed;
	top: 0;
	right: 0;
	width: 64px;
	height: 64px;
	z-index: 2000;
	opacity: 0.5;
	cursor: pointer;
	transition: opacity 0.1s;
	text-align: center;
	color: white;
	line-height: 100px;
	
}

body.in_admin_mode .loading_movie_box div {
	top: 0px;
}

.loading_movie_box div:hover{
	opacity: 1;
}


.loading_movie_box div span {
	background-color: white;
	position: absolute;
	left: 0;
	top: calc(50% - 10px);
	right: 0;
	margin: 0 auto;
	width: 40px;
	height: 2px;
	
}


.loading_movie_box div span:nth-of-type(1) {
	transform: rotate(45deg);
}

.loading_movie_box div span:nth-of-type(2) {
	transform: rotate(-45deg);
}

.trait_header hr {
	width: 100%;
}

#website_footer_notes {
    position: fixed;
    bottom: 0px;
    font-size: 12px;
    color: white;
    font-family: Arial, Helvetica, sans-serif;
    cursor: default;
    z-index: 9999;
    line-height: 1;
    vertical-align: baseline;
    user-select: none;
    background: red;
    padding: 5px;
    border-width: 1px 1px 0px;
    border-style: solid solid solid;
    border-color: rgb(145, 145, 145) rgb(145, 145, 145) rgb(145, 145, 145);
    border-image: initial;
    border-bottom: 0px;
    outline: 0px;
    margin: 0px;
}

#website_footer_notes.right {
    right: 1%;
}
#website_footer_notes.left {
    left: 1%;
}

.wp-block-separator {
	border-top: 1px solid rgb(204,204,204) !important;
	border-bottom: 0px none rgb(0,77,162) !important;
}

.wp-block-image {
	overflow: auto;
}