@charset "UTF-8";
/* ==================================================
[Style]
	 1. Reset
	 2. Base
	 3. Layout
	 4. Module
	 5. State
	 6. Theme
	 7. Slick
	 8. Header
	 9. Footer
	10. Index
	11. OPENING SUPPORT
	12. SUCCESSION SUPPORT
	13. YAMASHITA　SYNERGY
	14. NEWS&TOPICS
	15. VOICE
	17. AGREEMENT
	18. FAQ
	19. SITE MAP
	20. MANAGEMENT SUPPORT
	21. CONTACT US
	22. YOUR BEST PARTNER
================================================== */
/* --------------------------------------------------
	 1. Reset
-------------------------------------------------- */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
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, main, 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, main, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
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;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* --------------------------------------------------
	 2. Base
-------------------------------------------------- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  color: #000;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 1.8;
  word-break: normal;
  overflow-wrap: normal;
  word-wrap: normal;
  background-color: transparent;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

a {
  outline: none;
  word-break: break-all;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

a:link, a:visited {
  color: #2357c9;
  text-decoration: underline;
}

a:hover, a:active {
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

em, dl, i, address {
  font-style: normal;
}

sup, sub {
  font-size: 0.75rem;
  line-height: 1.35;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1rem;
  font-family: inherit;
}

table th, table td {
  text-align: left;
  vertical-align: middle;
  padding: 0.5em 1em;
}

table th {
  font-weight: normal;
}

table td {
  word-break: break-all;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

select,
textarea,
input[type="text"],
input[type="email"],
input[type="password"] {
  margin: 5px;
  padding: 6px;
  color: #222222;
  font-size: 1rem;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  border: 1px solid #b2b2b2;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

textarea,
input[type="text"],
input[type="email"],
input[type="password"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type="text"].align_left {
  text-align: left;
}

input[type="text"].align_center {
  text-align: center;
}

input[type="text"].align_right {
  text-align: right;
}

input[type="radio"], input[type="checkbox"] {
  margin: 3px 0 5px 5px;
  outline: none;
  cursor: pointer;
}

input[type="radio"] + label,
input[type="checkbox"] + label {
  padding: 0 8px 0 2px;
  cursor: pointer;
}

input:-moz-placeholder, textarea:-moz-placeholder {
  color: #4d4d4d;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #4d4d4d;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #4d4d4d;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #4d4d4d;
}

p {
  min-height: 1.8em;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

iframe {
  max-width: 100%;
}

@media all and (min-width: 740px) {
  html {
    font-size: 16px;
  }
}

@media all and (max-width: 739px) {
  html {
    font-size: 14px;
  }
}

/* --------------------------------------------------
	 3. Layout
-------------------------------------------------- */
#all {
  overflow: hidden;
}

#content,
#footer {
  clear: both;
}

#content .inner,
#content .inner1000,
#footer .inner,
#footer .inner1000 {
  position: relative;
  margin: 0 auto;
}

#primary .page_title {
  display: block;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 5px;
  position: relative;
}

#primary .page_title .image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent no-repeat center center;
  background-size: cover;
  z-index: -1;
}

#primary .page_title h2 {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: normal;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

#primary .page_title h2 strong {
  display: block;
  line-height: 1.5;
}

#primary .page_title h2 strong span {
  display: inline-block;
  opacity: 0;
  letter-spacing: 0.1em;
  font-weight: normal;
  -webkit-transition: opacity 1s .5s, -webkit-transform 1s .5s;
  transition: opacity 1s .5s, -webkit-transform 1s .5s;
  transition: opacity 1s .5s, transform 1s .5s;
  transition: opacity 1s .5s, transform 1s .5s, -webkit-transform 1s .5s;
}

#primary .page_title h2 strong span:nth-child(2n) {
  -webkit-transform: translate3d(0, -25px, 0);
  transform: translate3d(0, -25px, 0);
}

#primary .page_title h2 strong span:nth-child(2n+1) {
  -webkit-transform: translate3d(0, 25px, 0);
  transform: translate3d(0, 25px, 0);
}

#primary .page_title h2 em {
  color: #2357c9;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  padding-left: 7px;
}

#primary .page_title h2 .page_title_txt {
  margin-top: 10px;
}

#primary .page_title h2 .page_title_txt span {
  color: #2357c9;
  display: block;
  line-height: 1.7;
  letter-spacing: 0.1em;
  font-size: 1.1875rem;
}

article .sec_contact ul {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

article .sec_contact ul > li {
  width: 50%;
  color: #fff;
}

article .sec_contact ul .item_tel {
  background-color: #002868;
}

article .sec_contact ul .item_tel .txt_tel {
  margin-bottom: 5px;
}

article .sec_contact ul .item_tel .txt_tel a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 0;
  height: 0;
  width: 100%;
  background: transparent url(image/txt_tel_wh.png) no-repeat center center;
  background-size: contain;
}

article .sec_contact ul .item_tel p {
  letter-spacing: 0.1em;
}

article .sec_contact ul .item_contact {
  background-color: #006bad;
}

article .sec_contact ul .title {
  text-align: center;
}

#secondary {
  position: fixed;
  bottom: 25%;
  left: 23px;
  z-index: 2;
}

#secondary .sns > li {
  padding: 18px 0;
}

#secondary .sns .youtube a {
  background-image: url(image/icon_sns_youtube.png);
}

#secondary .sns .instagram a {
  background-image: url(image/icon_sns_instagram.png);
}

#secondary .sns .facebook a {
  background-image: url(image/icon_sns_facebook.png);
}

#secondary .sns .twitter a {
  background-image: url(image/icon_sns_twitter.png);
}

#secondary .sns a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 28px;
  height: 28px;
  text-decoration: none;
  background: transparent no-repeat center center;
  background-size: contain;
  border-radius: 50%;
}

#secondary .sns a::after {
  display: none;
}

#pagetop {
  position: fixed;
  right: 20px;
  bottom: 50px;
  pointer-events: auto;
  opacity: 1;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
  z-index: 5;
}

#pagetop a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 10px;
  height: 150px;
  background: transparent url(image/btn_pagetop.png) no-repeat center center;
  background-size: contain;
}

.contact_top {
  display: none;
}

@media all and (min-width: 740px) {
  #content section {
    padding: 4em 0;
  }
  #content .inner,
  #footer .inner {
    padding-left: 20px;
    padding-right: 20px;
    max-width: 1240px;
  }
  #content .inner1000,
  #footer .inner1000 {
    padding-left: 20px;
    padding-right: 20px;
    max-width: 1040px;
  }
  #primary .page_title h2 {
    height: 245px;
  }
  #primary .page_title h2 strong {
    font-size: 2.75rem;
  }
  article .sec_contact {
    padding: 80px 0 0 !important;
  }
  article .sec_contact ul > li {
    padding: 55px 20px 74px;
    text-align: center;
  }
  article .sec_contact ul .item_tel {
    letter-spacing: 0.1em;
  }
  article .sec_contact ul .item_tel .txt_tel {
    margin-bottom: 5px;
  }
  article .sec_contact ul .item_tel .txt_tel a {
    min-height: 30px;
    padding-top: 3.75%;
  }
  article .sec_contact ul .item_tel p {
    font-size: 0.92937rem;
  }
  article .sec_contact ul .item_tel p span {
    font-size: 0.6875rem;
  }
  article .sec_contact ul .title {
    margin-bottom: 20px;
  }
  #breadline {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
  }
  #breadline .inner {
    max-width: 100%;
    padding: 10px 6.25%;
  }
  #breadline ul {
    text-align: right;
  }
  #breadline li {
    display: inline-block;
    vertical-align: middle;
    padding: 5px 0;
  }
  #breadline li .divider {
    padding: 0 20px;
    color: #2357c9;
  }
  #breadline li a {
    color: #2357c9;
    text-decoration: underline;
  }
  #breadline li span {
    display: inline-block;
    vertical-align: middle;
    max-width: 40em;
    overflow: hidden;
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    word-wrap: normal;
    color: #000;
  }
  #breadline li.home a {
    display: inline-block;
    position: relative;
    vertical-align: middle;
  }
  #secondary .sns a:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #pagetop a {
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
  }
  #pagetop a:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@media all and (min-width: 960px) {
  #primary .page_title {
    width: calc(100% - 12.5%);
  }
  #primary .page_title h2 {
    padding: 2% 6.25%;
  }
}

@media all and (min-width: 740px) and (max-width: 959px) {
  #breadline li span {
    max-width: 26em;
  }
}

@media only screen and (max-width: 959px) {
  #primary .page_title {
    width: calc(100% - 40px);
  }
  #primary .page_title h2 {
    height: inherit;
    height: 180px;
    padding: 20px;
  }
  #primary .page_title h2 strong {
    font-size: 2.125rem;
  }
  #primary .page_title h2 em {
    font-size: 0.75rem;
  }
  #primary .page_title h2 .page_title_txt {
    margin-top: 5px;
  }
  #primary .page_title h2 .page_title_txt span {
    font-size: 0.9375rem;
  }
  #secondary {
    display: none;
  }
}

@media only screen and (max-width: 739px) {
  #content section {
    padding: 2em 0;
  }
  #content,
  #footer {
    min-width: 320px;
  }
  #content .inner,
  #content .inner1000,
  #footer .inner,
  #footer .inner1000 {
    padding-left: 20px;
    padding-right: 20px;
    min-width: 280px;
  }
  article .sec_contact {
    padding: 80px 0 0 !important;
  }
  article .sec_contact ul > li {
    padding: 25px 10px 18px;
  }
  article .sec_contact ul .item_tel .txt_tel {
    margin-bottom: 8px;
  }
  article .sec_contact ul .item_tel .txt_tel a {
    max-width: 160px;
    min-height: 20px;
    padding-top: 10.52632%;
    background-position: center left;
  }
  article .sec_contact ul .item_tel p {
    text-align: left;
    line-height: 1.5;
    font-size: 0.625rem;
  }
  article .sec_contact ul .item_tel p span {
    letter-spacing: 0;
    font-size: 0.5rem;
  }
  article .sec_contact ul .title {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
  }
  #breadline {
    display: none;
  }
  #pagetop {
    right: 10px;
    bottom: 60px;
  }
  .contact_top {
    display: block;
    position: fixed;
    bottom: -1px;
    left: 0;
    width: 100%;
    z-index: 111;
    -webkit-transition: opacity 0.4s , visibility 0.4s;
    transition: opacity 0.4s , visibility 0.4s;
    opacity: 0;
    visibility: hidden;
  }
  .contact_top.fixed {
    opacity: 1;
    visibility: visible;
  }
  .contact_top .list_button {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .contact_top .list_button li {
    width: 50%;
  }
  .contact_top .list_button a {
    color: #fff;
    width: 100%;
    height: 100%;
    text-align: center;
    display: block;
    text-decoration: none;
    -webkit-box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
    box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
  }
  .contact_top .list_button a span {
    font-weight: bold;
    font-size: 0.65875rem;
  }
  .contact_top .list_button .button_tel a {
    background-color: #002868;
  }
  .contact_top .list_button .button_tel a p {
    display: block;
    overflow: hidden;
    color: transparent;
    text-decoration: none;
    text-indent: 110%;
    white-space: nowrap;
    font-size: 0;
    width: 150px;
    height: 20px;
    margin: 0 auto;
    background: transparent url(image/txt_tel_wh.png) no-repeat center center;
    background-size: contain;
  }
  .contact_top .list_button .button_contact a {
    background-color: #006bad;
  }
  .contact_top .list_button .button_contact a p {
    font-size: 1.125rem;
    line-height: 1.3;
  }
  .contact_top .list_button .button_contact a p:before {
    content: "";
    width: 20px;
    height: 20px;
    margin-right: 10px;
    display: inline-block;
    vertical-align: middle;
    background: transparent url(image/icon_contact.png) no-repeat center center;
    background-size: contain;
  }
}

@media all and (min-width: 960px) {
  #content {
    padding-top: 210px;
  }
}

@media all and (max-width: 959px) {
  #content {
    padding-top: 95px;
  }
}

/* --------------------------------------------------
	 4. Module
-------------------------------------------------- */
.gothic {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.font_big {
  font-size: 1.25rem !important;
}

.font_large {
  font-size: 1.125rem !important;
}

.font_normal {
  font-size: 1rem !important;
}

.font_small {
  font-size: 0.875rem !important;
}

.font_little {
  font-size: 0.75rem !important;
}

.mt_0 {
  margin-top: 0rem !important;
}

.mr_0 {
  margin-right: 0rem !important;
}

.mb_0 {
  margin-bottom: 0rem !important;
}

.ml_0 {
  margin-left: 0rem !important;
}

.m_0 {
  margin: 0rem !important;
}

.mx_0 {
  margin-left: 0rem !important;
  margin-right: 0rem !important;
}

.my_0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.pt_0 {
  padding-top: 0rem !important;
}

.pr_0 {
  padding-right: 0rem !important;
}

.pb_0 {
  padding-bottom: 0rem !important;
}

.pl_0 {
  padding-left: 0rem !important;
}

.p_0 {
  padding: 0rem !important;
}

.px_0 {
  padding-left: 0rem !important;
  padding-right: 0rem !important;
}

.py_0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.mt_1 {
  margin-top: 1rem !important;
}

.mr_1 {
  margin-right: 1rem !important;
}

.mb_1 {
  margin-bottom: 1rem !important;
}

.ml_1 {
  margin-left: 1rem !important;
}

.m_1 {
  margin: 1rem !important;
}

.mx_1 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.my_1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.pt_1 {
  padding-top: 1rem !important;
}

.pr_1 {
  padding-right: 1rem !important;
}

.pb_1 {
  padding-bottom: 1rem !important;
}

.pl_1 {
  padding-left: 1rem !important;
}

.p_1 {
  padding: 1rem !important;
}

.px_1 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.py_1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.mt_2 {
  margin-top: 2rem !important;
}

.mr_2 {
  margin-right: 2rem !important;
}

.mb_2 {
  margin-bottom: 2rem !important;
}

.ml_2 {
  margin-left: 2rem !important;
}

.m_2 {
  margin: 2rem !important;
}

.mx_2 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.my_2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.pt_2 {
  padding-top: 2rem !important;
}

.pr_2 {
  padding-right: 2rem !important;
}

.pb_2 {
  padding-bottom: 2rem !important;
}

.pl_2 {
  padding-left: 2rem !important;
}

.p_2 {
  padding: 2rem !important;
}

.px_2 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.py_2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.mt_3 {
  margin-top: 3rem !important;
}

.mr_3 {
  margin-right: 3rem !important;
}

.mb_3 {
  margin-bottom: 3rem !important;
}

.ml_3 {
  margin-left: 3rem !important;
}

.m_3 {
  margin: 3rem !important;
}

.mx_3 {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.my_3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.pt_3 {
  padding-top: 3rem !important;
}

.pr_3 {
  padding-right: 3rem !important;
}

.pb_3 {
  padding-bottom: 3rem !important;
}

.pl_3 {
  padding-left: 3rem !important;
}

.p_3 {
  padding: 3rem !important;
}

.px_3 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.py_3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.mt_4 {
  margin-top: 4rem !important;
}

.mr_4 {
  margin-right: 4rem !important;
}

.mb_4 {
  margin-bottom: 4rem !important;
}

.ml_4 {
  margin-left: 4rem !important;
}

.m_4 {
  margin: 4rem !important;
}

.mx_4 {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

.my_4 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.pt_4 {
  padding-top: 4rem !important;
}

.pr_4 {
  padding-right: 4rem !important;
}

.pb_4 {
  padding-bottom: 4rem !important;
}

.pl_4 {
  padding-left: 4rem !important;
}

.p_4 {
  padding: 4rem !important;
}

.px_4 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.py_4 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.mt_5 {
  margin-top: 5rem !important;
}

.mr_5 {
  margin-right: 5rem !important;
}

.mb_5 {
  margin-bottom: 5rem !important;
}

.ml_5 {
  margin-left: 5rem !important;
}

.m_5 {
  margin: 5rem !important;
}

.mx_5 {
  margin-left: 5rem !important;
  margin-right: 5rem !important;
}

.my_5 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.pt_5 {
  padding-top: 5rem !important;
}

.pr_5 {
  padding-right: 5rem !important;
}

.pb_5 {
  padding-bottom: 5rem !important;
}

.pl_5 {
  padding-left: 5rem !important;
}

.p_5 {
  padding: 5rem !important;
}

.px_5 {
  padding-left: 5rem !important;
  padding-right: 5rem !important;
}

.py_5 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.clearfix::after {
  display: block;
  content: "";
  clear: both;
}

.float_left {
  float: left;
}

.float_right {
  float: right;
}

.clear_both {
  clear: both;
}

.text_center {
  text-align: center;
}

.text_left {
  text-align: left;
}

.text_right {
  text-align: right;
}

article h2 {
  color: #006bad;
  font-size: 1.875rem;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 2em;
  letter-spacing: 0.1em;
}

h3 {
  color: #006bad;
  font-size: 1.375rem;
  padding: 2px 0 3px 15px;
  line-height: 1.5;
  margin-bottom: 2em;
  letter-spacing: 0.1em;
  border-left: 2px solid #006bad;
}

h3.no_border {
  padding-left: 0;
  border-left: none;
  margin-bottom: 1em;
}

h4 {
  color: #006bad;
  font-size: 1.375rem;
  line-height: 1.5;
  margin-bottom: 1em;
  letter-spacing: 0.1em;
  text-align: center;
}

.asterisk {
  font-size: 0.875rem !important;
  font-weight: normal;
  text-indent: -1.0em;
  padding-left: 1em;
}

.color_blue {
  color: #006bad;
  font-weight: bold;
}

table {
  width: 100%;
}

table.basic_table {
  margin: 2em auto;
  background-color: #fff;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}

table.basic_table th,
table.basic_table td {
  border-left: 1px solid #000;
  border-top: 1px solid #000;
}

table.basic_table th {
  color: #000;
  text-align: center;
  font-weight: bold;
  background-color: #c0e2e3;
}

table.basic_table thead {
  line-height: 1.4;
}

table.basic_table tbody.text_center th,
table.basic_table tbody.text_center td {
  text-align: center;
}

table.simple_table {
  margin: 2em auto;
  background-color: #fff;
  border-right: none;
  border-bottom: none;
}

table.simple_table tr:first-child th,
table.simple_table tr:first-child td {
  border: none;
}

table.simple_table th,
table.simple_table td {
  border-left: 1px solid #fff;
  border-top: 1px dotted #000;
}

table.simple_table th {
  color: #000;
  text-align: center;
  font-weight: bold;
  background-color: #f7f7f7;
}

table.simple_table thead {
  line-height: 1.4;
}

table.simple_table tbody.text_center th,
table.simple_table tbody.text_center td {
  text-align: center;
}

div.focus_text, div.attention_text {
  border-radius: 5px;
  margin: 4em auto;
  padding: 2.5em 3em;
  max-width: 920px;
}

div.focus_text .title, div.attention_text .title {
  color: #006bad;
  margin-bottom: .5em;
  font-weight: bold;
  font-size: 1.1875rem;
}

div.focus_text {
  background-color: #ebeef2;
}

div.attention_text {
  background-color: #c6e5e4;
}

ul.inline > li,
ol.inline > li {
  display: inline-block;
  vertical-align: middle;
  padding-right: 3em;
}

ul.basic_ul {
  margin-left: 1em;
  line-height: 2;
  font-size: 0.9375rem;
}

ul.basic_ul > li {
  position: relative;
  padding-left: .5em;
  margin: 5px 0;
}

ul.basic_ul > li::before {
  position: absolute;
  left: -1em;
  top: .65em;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  background-color: #006bad;
  border: 2px solid #006bad;
  border-radius: 50%;
}

ul.basic_ul > li > ul,
ul.basic_ul > li > ol {
  margin-left: 1.25em;
}

ul.basic_ul > li > ul > li::before {
  background-color: transparent;
}

ul.bold {
  font-weight: bold;
}

ol.basic_ol {
  margin-left: 1em;
  list-style: none;
  counter-reset: li;
}

ol.basic_ol > li {
  padding-left: .75em;
  counter-increment: li;
}

ol.basic_ol > li::before {
  content: "." counter(li);
  color: #000;
  display: inline-block;
  width: 1em;
  margin-left: -2em;
  margin-right: .75em;
  text-align: right;
  direction: rtl;
}

ol.basic_ol > li > ul,
ol.basic_ol > li > ol {
  margin-left: 1.5em;
}

dl.basic_dl > dt {
  font-weight: bold;
}

dl.basic_dl > dd {
  margin-left: 1em;
}

pre {
  white-space: normal;
}

@media all and (min-width: 740px) {
  table.fixed {
    table-layout: fixed;
  }
}

@media only screen and (max-width: 739px) {
  .table_frame {
    margin-bottom: 2em;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table_frame::-webkit-scrollbar {
    height: 10px;
  }
  .table_frame::-webkit-scrollbar-thumb {
    background-color: #002868;
    border-radius: 5px;
  }
  .table_frame table {
    margin-bottom: 0 !important;
    width: auto;
  }
  .table_frame th,
  .table_frame td {
    white-space: nowrap;
  }
  table.vertical > thead > tr > th,
  table.vertical > thead > tr > td,
  table.vertical > tbody > tr > th,
  table.vertical > tbody > tr > td {
    display: block;
    white-space: normal !important;
    width: 100%;
  }
  table.vertical > thead > tr > th:empty,
  table.vertical > thead > tr > td:empty,
  table.vertical > tbody > tr > th:empty,
  table.vertical > tbody > tr > td:empty {
    display: none;
  }
  div.focus_text, div.attention_text {
    padding: 1em 1.5em;
  }
  .image_frame {
    margin-bottom: 2em;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .image_frame::-webkit-scrollbar {
    height: 10px;
  }
  .image_frame::-webkit-scrollbar-thumb {
    background-color: #002868;
    border-radius: 5px;
  }
  .image_frame img {
    width: auto;
    max-width: 739px;
  }
}

@media screen and (min-width: 740px) {
  .visible_sp {
    display: none !important;
  }
}

@media screen and (max-width: 739px) {
  .visible_pc {
    display: none !important;
  }
}

/* --------------------------------------------------
	 5. State
-------------------------------------------------- */
body {
  opacity: 0;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

body.loaded {
  opacity: 1;
}

body.loaded #primary .page_title h2 strong span {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

body.loaded #primary .page_title h2 em {
  opacity: 1;
}

body.fadeout {
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

/* --------------------------------------------------
	 6. Theme
-------------------------------------------------- */
a[href^="tel:"] {
  color: #000;
  text-decoration: none;
  pointer-events: none;
}

a[target="_blank"]::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin-left: .5em;
  width: 12px;
  height: 12px;
  background: transparent url(image/icon_window.png) no-repeat center center;
  background-size: contain;
}

a[href^=".pdf"]::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  margin-left: .5em;
  width: 30px;
  height: 15px;
  background: transparent url(image/icon_pdf.png) no-repeat center center;
  background-size: contain;
}

.basic_btn {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  padding: .85em 2em .85em;
  min-width: 354px;
  color: #fff !important;
  font-size: 1.125rem;
  font-weight: bold;
  text-decoration: none !important;
  text-align: center;
  background-color: #006bad;
  border: 1px solid #006bad;
  border-radius: 2em;
}

.basic_btn::after {
  display: none;
}

.basic_btn.contact {
  padding: .85em 1em .85em 4em;
}

.basic_btn.contact:before {
  top: 50%;
  left: 25%;
  content: "";
  width: 23px;
  height: 20px;
  margin-top: -10px;
  position: absolute;
  background: transparent url(image/icon_contact.png) no-repeat center center;
  background-size: contain;
}

.btn_contact {
  color: #fff !important;
  font-size: 1.15312rem;
  width: 344px;
  max-width: 100%;
  text-align: center;
  position: relative;
  border-radius: 2em;
  letter-spacing: 0.1em;
  display: inline-block;
  text-decoration: none !important;
  border: 1px solid #fff;
  padding: 8px 40px 8px 70px;
}

.btn_contact:before {
  top: 50%;
  left: 60px;
  content: "";
  width: 23px;
  height: 20px;
  margin-top: -10px;
  position: absolute;
  background: transparent url(image/icon_contact.png) no-repeat center center;
  background-size: contain;
}

.pagination {
  padding-top: 5em;
}

.pagination ul {
  text-align: center;
  font-size: 0;
}

.pagination li {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.1875rem;
}

.pagination li > a,
.pagination li > span {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 4px 20px;
  padding: 17px 25px;
  text-align: center;
  line-height: 1.4;
  border-radius: 50%;
  border: 1px solid #afafaf;
}

.pagination li > a {
  color: #606060;
  text-decoration: underline;
  background-color: #fff;
}

.pagination li > span {
  color: #fff;
  font-weight: bold;
  background-color: #002868;
  border-color: #002868;
  text-decoration: underline;
}

.pagination li.list > a {
  padding: 17px 25px;
}

.pagination li.next a, .pagination li.prev a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 60px;
  height: 60px;
  background: transparent no-repeat center center;
  background-size: 30px 20px;
}

.pagination li.next a {
  background-image: url(image/icon_button_next_gray.png);
}

.pagination li.prev a {
  background-image: url(image/icon_button_prev_gray.png);
}

.pager {
  clear: both;
  display: block;
  width: 100%;
  margin-top: 8em;
}

.pager ul {
  text-align: center;
  font-size: 0;
}

.pager ul li {
  max-width: 50%;
  display: inline-block;
  vertical-align: middle;
  font-size: 1.125rem;
  padding: .5em;
}

.pager ul li a, .pager ul li span {
  width: 354px;
  max-width: 100%;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  border-radius: 3em;
  padding: 1em;
  text-align: center;
  line-height: 1.4;
  border: 1px solid #898989;
}

.pager ul li a {
  color: #fff;
  font-weight: bold;
  text-decoration: underline;
  background-color: #898989;
  border: 1px solid #898989;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 3em;
}

.pager ul li a:hover {
  background-color: #006bad;
  border-color: #006bad;
}

.pager ul li span {
  background-color: #006bad;
  border-color: #006bad;
}

.pager ul li.prev a::before {
  display: inline-block;
  vertical-align: middle;
  content: "←";
  margin: 0 5px;
}

.pager ul li.next a::after {
  display: inline-block;
  vertical-align: middle;
  content: "←";
  margin: 0 5px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.link_more {
  line-height: 1.4;
  padding: 0 2px;
  color: #002868 !important;
  z-index: 1;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none !important;
}

.link_more:after {
  content: "";
  width: 20px;
  height: 15px;
  margin-left: 16px;
  display: inline-block;
  vertical-align: middle;
  background: transparent url(image/icon_arrow_blue.png) no-repeat center center;
  background-size: contain;
}

.link_more:before {
  left: 0;
  content: "";
  bottom: 0;
  width: 100%;
  height: 8px;
  z-index: -1;
  position: absolute;
  background-color: #ffef5c;
}

.transmission {
  width: auto;
  text-align: center;
  margin: 4em auto;
}

.transmission li {
  margin: 1em 0;
  text-align: center;
}

.transmission input[type="submit"], .transmission input[type="reset"], .transmission input[type="button"] {
  min-width: 354px;
  text-align: center;
  padding: 1em 2em;
  border-radius: 2em;
  color: #fff;
  margin: 0 auto;
  border: none;
  cursor: pointer;
  display: block;
  position: relative;
  text-decoration: underline;
  font-size: 1.125rem;
  background-color: #898989;
  border: none;
  -webkit-transition: color .4s, background-color .4s;
  transition: color .4s, background-color .4s;
}

.transmission input[type="submit"]:hover, .transmission input[type="reset"]:hover, .transmission input[type="button"]:hover {
  background-color: #006bad;
}

.transmission input[type="button"] {
  background-color: #006bad;
}

.transmission input:not([type="radio"]):not([type="checkbox"]) {
  -webkit-appearance: none;
}

.cat_list {
  margin-left: -14px;
  margin-right: -14px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.cat_list > li {
  margin: 10px 14px;
}

.cat_list a {
  color: #fff;
  font-size: 0.9375rem;
  min-width: 137px;
  border-radius: 2em;
  padding: 3px 22px;
  text-align: center;
  display: inline-block;
  background-color: #898989;
}

.cat_list a.current {
  background-color: #006bad;
  border-color: #006bad;
}

.list_news {
  margin-top: 20px;
}

.list_news a {
  width: 100%;
  height: 100%;
  border-radius: 5px;
  display: inline-block;
  text-decoration: none;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
  box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
}

.list_news a.new {
  position: relative;
}

.list_news a.new:before {
  top: 0;
  left: 0;
  content: "";
  position: absolute;
  background: transparent url(image/icon_news_new.png) no-repeat center center;
  background-size: contain;
}

.list_news .image {
  position: relative;
  overflow: hidden;
  padding-top: 45%;
}

.list_news .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.list_news span {
  display: block;
}

.list_news .date {
  color: #002868;
}

.list_news .js_title {
  color: #002868;
  font-size: 1.1875rem;
}

.list_news .cat {
  margin-top: 10px;
  padding-top: 15px;
  border-top: 1px solid #353535;
}

.list_news .cat .cat_item {
  color: #353535;
  font-size: 0.84313rem;
  text-decoration: underline;
  display: inline-block;
  margin-right: 20px;
}

.frame01 {
  margin: 2em 0;
  position: relative;
  padding: 0 20px 90px;
}

.frame01:after {
  left: 0;
  bottom: 0;
  content: "";
  z-index: -1;
  width: calc(50% + 110px);
  height: 62.5%;
  position: absolute;
  background-color: #ebeef2;
}

.frame01 .item {
  margin: 0 auto;
  max-width: 1000px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-size: 0.9375rem;
}

.flow_btns {
  margin-bottom: 5.5em;
}

.flow_btns ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: -10px;
  margin-right: -10px;
}

.flow_btns ul > li {
  padding: 10px;
}

.flow_btns ul a {
  color: #fff;
  width: 50px;
  height: 50px;
  text-align: center;
  padding: 10px 15px;
  border-radius: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  background-color: #006bad;
  text-decoration: none;
}

.flow_btns ul a span {
  display: none;
  letter-spacing: 0.1em;
}

.frame_flow {
  width: 100%;
  background-color: #ebeef2;
  display: inline-block;
}

.frame_flow .title_flow {
  text-align: center;
  font-weight: bold;
  display: block;
  letter-spacing: 0.1em;
}

.nav_flow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.nav_flow > li > a,
.nav_flow .title {
  color: #fff;
  width: 100%;
  text-align: center;
  display: inline-block;
  padding: 8px 15px 18px;
}

.nav_flow > li > a strong,
.nav_flow .title strong {
  display: block;
  font-size: 0.875rem;
}

.nav_flow > li > a strong span,
.nav_flow .title strong span {
  font-size: 1.1875rem;
  margin-left: 5px;
  letter-spacing: 0.1em;
}

.nav_flow > li > a em,
.nav_flow .title em {
  font-size: 1.25rem;
  font-weight: bold;
  padding-bottom: 4px;
  border-bottom: 1px solid #fff;
}

.nav_flow .title {
  background-color: #006bad;
}

.nav_flow > li > a {
  padding: 8px 15px 22px;
  text-decoration: none;
  background-color: #555;
  overflow: hidden;
  border-radius: 5px;
  -webkit-box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
  box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
}

.colunm_img_auto {
  margin: 3em auto;
}

.colunm_img_auto .img_big {
  width: 100%;
}

.colunm_img {
  margin-bottom: 2.5em;
}

.two_colunm {
  margin: 1em auto;
}

.img_3col {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  overflow: hidden;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 1em auto;
}

.img_3col li:nth-child(3n-2) {
  margin-left: 0;
}

.img_3col li:nth-child(3n) {
  margin-right: 0;
}

.img_2col {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  overflow: hidden;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 5em auto;
}

.img_2col li {
  width: 50%;
}

.img_2col li:nth-child(even) {
  padding-top: 115px;
}

.img_2col li img {
  width: 100%;
}

.lyt_item_a {
  width: 100%;
  margin: 6em 0;
}

.lyt_item_a .image img {
  width: 100%;
}

.lyt_item_a .image.img_auto img {
  width: auto;
}

.lyt_item_a .item {
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.1em;
}

.lyt_item_b {
  width: 100%;
  margin: 1em 0;
}

.lyt_item_b .image img {
  width: 100%;
}

.lyt_item_b .item {
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.1em;
}

.lyt_item_b .title {
  color: #006bad;
  font-size: 1.1875rem;
  font-weight: bold;
  margin-bottom: 1em;
}

.profile_frame .title {
  color: #000;
  font-weight: bold;
  margin-bottom: .3em;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.profile_frame .txt01 {
  color: #000;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
}

.profile_frame p {
  letter-spacing: 0.1em;
  line-height: 1.9;
}

.profile_frame .color_gray {
  color: #494949;
}

.profile_frame .info {
  margin-top: 1.5em;
  font-weight: 500;
}

.profile_frame .info li {
  padding: 3px 0;
}

.profile_frame .focus_text {
  padding: 1em 2em;
  margin: 1.5em 0;
}

.profile_frame .focus_text strong {
  display: block;
  margin-bottom: .5em;
}

.profile_frame .profile_dl {
  margin-top: 2em;
}

.profile_frame .profile_dl dt {
  font-weight: bold;
  border-bottom: 1px solid #000;
  position: relative;
  padding-left: 20px;
}

.profile_frame .profile_dl dt::before {
  position: absolute;
  left: 0;
  top: .65em;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  background-color: #000;
  border: 2px solid #000;
  border-radius: 50%;
}

.profile_frame .profile_dl dd {
  padding: 5px 0 15px;
}

@media all and (min-width: 740px) {
  .basic_btn {
    -webkit-transition: color 0.4s, background-color 0.4s;
    transition: color 0.4s, background-color 0.4s;
  }
  .basic_btn:hover {
    color: #006bad !important;
    background-color: #fff;
  }
  .basic_btn.contact:hover:before {
    background-image: url(image/icon_contact_blue.png);
    -webkit-transition: background-image 0.4s;
    transition: background-image 0.4s;
  }
  .btn_contact {
    -webkit-transition: color 0.4s, background-color 0.4s;
    transition: color 0.4s, background-color 0.4s;
  }
  .btn_contact:hover {
    color: #006bad !important;
    background-color: #fff;
  }
  .btn_contact:hover:before {
    background-image: url(image/icon_contact_blue.png);
    -webkit-transition: background-image 0.4s;
    transition: background-image 0.4s;
  }
  .link_more {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .link_more:hover {
    opacity: .8;
  }
  .pagination a {
    -webkit-transition: color 0.4s, background-color 0.4s, border-color 0.4s;
    transition: color 0.4s, background-color 0.4s, border-color 0.4s;
  }
  .pagination a:hover {
    color: #fff;
    background-color: #002868;
    border-color: #002868;
  }
  .pagination li.next a, .pagination li.prev a {
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
  .pagination li.next a:hover, .pagination li.prev a:hover {
    background-color: #002868;
    border-color: #002868;
  }
  .pagination li.next a:hover {
    background-image: url(image/icon_button_next_white.png);
  }
  .pagination li.prev a:hover {
    background-image: url(image/icon_button_prev_white.png);
  }
  .list_news {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
    -ms-flex-pack: start;
    justify-content: start;
    margin-left: -25px;
    margin-right: -25px;
  }
  .list_news > li {
    width: 33.33333%;
    padding: 25px 25px;
  }
  .list_news a:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .list_news a.new:before {
    z-index: 5;
    width: 38px;
    height: 38px;
  }
  .list_news .text {
    padding: 14px 30px 14px;
  }
  .list_news .date {
    font-size: 0.6875rem;
    padding: 0 5px;
    margin-bottom: 3px;
  }
  .cat_list a {
    -webkit-transition: background-color 0.4s, border-color 0.4s;
    transition: background-color 0.4s, border-color 0.4s;
  }
  .cat_list a:hover {
    background-color: #006bad;
    border-color: #006bad;
  }
  .flow_btns ul a {
    -webkit-transition: opacity .4s;
    transition: opacity .4s;
    font-size: 1.0625rem;
  }
  .flow_btns ul a span {
    font-size: 1.125rem;
    padding: 0 25px;
  }
  .flow_btns ul a:hover {
    opacity: 0.7;
  }
  .frame_flow {
    padding: 40px;
    margin-top: 100px;
  }
  .frame_flow .title_flow {
    font-size: 1.725rem;
    margin-top: -60px;
    margin-bottom: 40px;
  }
  .nav_flow {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .nav_flow > li {
    width: 25%;
    max-width: 256px;
    padding: 15px 13px 15px;
  }
  .nav_flow > li > a {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .nav_flow > li > a:hover {
    background-color: #006bad;
  }
  .colunm_img {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -20px;
    margin-right: -20px;
  }
  .colunm_img li {
    padding: 0 20px;
    width: 50%;
  }
  .two_colunm {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
    -ms-flex-pack: start;
    justify-content: start;
    margin-left: -30px;
    margin-right: -30px;
  }
  .two_colunm > li {
    width: 50%;
    padding: 20px 30px;
  }
  .img_3col li {
    width: calc((100% - 41px) / 3);
    margin: 10px;
  }
  .img_2col li:nth-child(even) {
    padding-top: 115px;
  }
  .lyt_item_a::after {
    display: block;
    content: "";
    clear: both;
  }
  .lyt_item_a.is_img_l .image {
    float: left;
    margin-right: 20px;
  }
  .lyt_item_a.is_img_l .item {
    float: right;
  }
  .lyt_item_a.is_img_l .item .content {
    margin: 0;
  }
  .lyt_item_a.is_img_r .image {
    float: right;
    margin-left: 20px;
  }
  .lyt_item_a.is_img_r .item {
    float: left;
  }
  .lyt_item_a.is_img_r .item .content {
    margin-left: auto;
    margin-right: 0;
  }
  .lyt_item_a .image {
    width: calc(50% - 160px);
  }
  .lyt_item_a .item {
    width: calc(50% + 120px);
    padding: 40px 20px;
  }
  .lyt_item_a .item h3 {
    margin-bottom: 1em;
  }
  .lyt_item_a .content {
    width: 600px;
    max-width: 100%;
  }
  .lyt_item_b {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .lyt_item_b.is_img_l .item {
    padding-left: 40px;
  }
  .lyt_item_b.is_img_r .item {
    padding-right: 40px;
  }
  .lyt_item_b .image,
  .lyt_item_b .item {
    width: 50%;
  }
  .profile_frame {
    margin: 2em 0 5em;
  }
  .profile_frame .title {
    font-size: 1.875rem;
  }
  .profile_frame .txt01 {
    font-size: 1.375rem;
  }
}

@media all and (min-width: 960px) {
  .profile_frame {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .profile_frame .image,
  .profile_frame .text {
    width: 50%;
  }
  .profile_frame .text {
    padding-left: 50px;
  }
}

@media all and (min-width: 740px) and (max-width: 959px) {
  .list_news {
    margin-left: -15px;
    margin-right: -15px;
  }
  .list_news > li {
    padding: 10px 15px;
  }
  .list_news .text {
    padding: 14px 20px;
  }
  .frame_flow {
    padding: 40px 20px;
  }
  .nav_flow > li {
    width: 33.33333%;
  }
  .lyt_item_a .image {
    width: calc(50% - 120px);
  }
  .lyt_item_a .item {
    width: calc(50% + 100px);
    padding: 20px;
  }
}

@media all and (max-width: 959px) {
  .profile_frame {
    display: block;
  }
  .profile_frame .image,
  .profile_frame .text {
    width: 100%;
  }
  .profile_frame .image {
    text-align: center;
  }
  .profile_frame .text {
    margin-top: 3em;
  }
}

@media only screen and (max-width: 739px) {
  a[href^="tel:"] {
    color: #2357c9;
    text-decoration: underline;
    pointer-events: auto;
  }
  .basic_btn {
    padding: .7em 2em .7em;
    min-width: inherit;
    width: 354px;
    max-width: 100%;
  }
  .basic_btn.contact {
    padding: .7em 2em .7em 3em;
  }
  .basic_btn.contact:before {
    left: 2em;
  }
  .btn_contact {
    font-size: 0.96125rem;
    width: 100%;
    letter-spacing: 0.1em;
    padding: 5px 10px 5px 35px;
  }
  .btn_contact:before {
    left: 15px;
    width: 20px;
    height: 16px;
    margin-top: -8px;
  }
  .pagination {
    margin-left: -20px;
    margin-right: -20px;
  }
  .pagination li {
    font-size: 1rem;
  }
  .pagination li > a,
  .pagination li > span {
    margin: 4px;
    padding: 12px 17.5px;
  }
  .pagination li.list > a {
    padding: 12px 17.5px;
  }
  .pagination li.next a, .pagination li.prev a {
    width: 45px;
    height: 45px;
    background-size: 24px 16px;
  }
  .pager {
    margin-top: 5em;
  }
  .pager ul li {
    font-size: 0.875rem;
    width: 50%;
    padding: .5em;
  }
  .link_more {
    font-size: 1.15125rem;
  }
  .link_more:after {
    width: 15px;
    height: 10px;
  }
  .cat_list {
    margin-left: -2.5px;
    margin-right: -2.5px;
  }
  .cat_list > li {
    margin: 4px 2px;
  }
  .cat_list a {
    min-width: 104px;
    padding: 3px 10px;
  }
  .list_news {
    display: block;
  }
  .list_news > li {
    width: 100%;
    padding: 11px 0;
  }
  .list_news a {
    min-height: none;
  }
  .list_news a.new:before {
    width: 35px;
    height: 35px;
  }
  .list_news .image {
    display: none;
  }
  .list_news .text {
    padding: 23px 25px 20px;
  }
  .list_news .date {
    font-size: 0.75rem;
    line-height: 1.1;
  }
  .frame01 {
    padding: 0 20px 40px;
  }
  .frame01:after {
    width: calc(50% + 50px);
    height: 60.34483%;
  }
  .flow_btns ul a span {
    padding-left: 10px;
  }
  .frame_flow {
    padding: 20px;
    margin-top: 100px;
  }
  .frame_flow .title_flow {
    font-size: 1.5rem;
    margin-top: -38px;
    margin-bottom: 20px;
  }
  .nav_flow > li {
    width: 100%;
    padding: 10px;
  }
  .colunm_img li {
    width: 100%;
  }
  .colunm_img li + li {
    margin-top: 20px;
  }
  .two_colunm li {
    width: 100%;
  }
  .two_colunm li + li {
    margin-top: 40px;
  }
  .img_3col li {
    width: calc((100% - 21px) / 3);
    margin: 5px;
  }
  .img_2col {
    margin: 3em auto;
  }
  .img_2col li:nth-child(even) {
    padding-top: 30px;
  }
  .lyt_item_a {
    padding: 0 20px;
  }
  .lyt_item_a .image,
  .lyt_item_a .item {
    width: 100%;
  }
  .lyt_item_a .image.img_auto img {
    width: 100%;
  }
  .lyt_item_a .item {
    margin-top: 40px;
  }
  .profile_frame {
    margin: 2em 0 5em;
  }
  .profile_frame .title {
    font-size: 1.5rem;
  }
  .profile_frame .txt01 {
    font-size: 1.125rem;
  }
}

/* --------------------------------------------------
	 7. Slick
-------------------------------------------------- */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track::before, .slick-track::after {
  content: "";
  display: table;
}

.slick-track::after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-dotted.slick-slider {
  margin-bottom: 10px;
}

.slick-prev,
.slick-next {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 60px;
  height: 60px;
  position: absolute;
  top: 50%;
  padding: 0;
  line-height: 0;
  border: none;
  outline: none;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  z-index: 1;
  opacity: .8;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: .25;
}

.slick-prev::before,
.slick-next::before {
  position: absolute;
  top: 20px;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  opacity: .75;
}

.slick-prev {
  left: 20px;
}

.slick-prev::before {
  left: 20px;
  border-top: 5px solid #000;
  border-left: 5px solid #000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.slick-next {
  right: 20px;
}

.slick-next::before {
  left: 15px;
  border-top: 5px solid #000;
  border-right: 5px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.slick-dots {
  position: absolute;
  right: 15px;
  bottom: 0;
  list-style: none;
  display: block;
  margin: 0;
  padding: 0;
  z-index: 3;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 3px;
  width: 30px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  width: 30px;
  height: 3px;
  outline: none;
  line-height: 0;
  font-size: 0;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover::before, .slick-dots li button:focus::before {
  background-color: #002868;
}

.slick-dots li button::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 30px;
  height: 3px;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button::before {
  background-color: #002868;
}

/* --------------------------------------------------
	 8. Header
-------------------------------------------------- */
#header .logo_other a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 220px;
  height: 30px;
  background: transparent url(image/img_yamashitaika.png) no-repeat center center;
  background-size: contain;
}

#header .logo a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 300px;
  height: 45px;
  background: transparent url(image/h1_logo.png) no-repeat center center;
  background-size: contain;
}

#header .nav > li.contact {
  display: none;
}

#header .nav a {
  display: block;
  color: #000;
  text-decoration: none;
  border-bottom: 1px solid #6b6b6b;
}

#header .sub_menu .sub_menu_list a:before {
  content: "";
  width: 7px;
  height: 2px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  background-color: #000;
}

#header .sub_menu .sub_menu_list a[target="_blank"]::after, #header .sub_menu .sub_menu_list a[href^="https"]::after {
  display: none;
}

#header .sub_menu .sub_menu_list a,
#header .sub_menu .sub_menu_contact a {
  display: block;
  text-decoration: none;
}

#header .sub_menu .sub_menu_contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

#header .sub_menu .sub_menu_contact a {
  height: 78px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1.4;
  text-align: center;
  padding: 1em .5em;
}

#header .sub_menu .sub_menu_contact a strong {
  display: block;
  font-size: 0.8125rem;
}

#header .sub_menu .sub_menu_contact .tel {
  width: 250px;
  color: #006bad;
}

#header .sub_menu .sub_menu_contact .tel span {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 210px;
  height: 22px;
  background: transparent url(image/txt_tel.png) no-repeat center center;
  background-size: contain;
}

#header .sub_menu .sub_menu_contact .contact {
  width: 220px;
  color: #fff;
  background-color: #006bad;
}

#header .sub_menu .sub_menu_contact .contact strong {
  display: none;
}

#header .sub_menu .sub_menu_contact .contact span {
  font-size: 1.0625rem;
  font-weight: bold;
}

#header .sub_menu .sub_menu_contact .contact span:before {
  content: "";
  width: 23px;
  height: 20px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  background: transparent url(image/icon_contact.png) no-repeat center center;
  background-size: contain;
}

@media all and (min-width: 960px) {
  #header.fixed .logo {
    left: 20px;
    top: 20px;
    margin-top: 0;
    position: fixed;
    -webkit-transition: margin-top 0.4s;
    transition: margin-top 0.4s;
  }
  #header.fixed .logo a {
    width: 210px;
    height: 32px;
  }
  #header.fixed .nav {
    top: 0;
    padding: 0;
    margin-top: 0;
    position: fixed;
    background-color: #fff;
    -webkit-box-shadow: 0 0 15px 5px rgba(153, 153, 153, 0.5);
    box-shadow: 0 0 15px 5px rgba(153, 153, 153, 0.5);
    -webkit-transition: margin-top 0.4s;
    transition: margin-top 0.4s;
  }
  #header.fixed .nav > li.contact {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  #header .inner > .menu {
    display: none;
  }
  #header .logo_other {
    top: 50px;
    left: 5.5%;
    z-index: 15;
    position: absolute;
    width: 15%;
  }
  #header .logo_other a {
    max-width: 100%;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  #header .logo_other a:hover {
    opacity: .8;
  }
  #header .logo_other a::after {
    display: none;
  }
  #header .logo {
    left: 3%;
    top: 195px;
    z-index: 15;
    width: 20%;
    margin-top: -100px;
    position: absolute;
  }
  #header .logo a {
    max-width: 100%;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  #header .logo a:hover {
    opacity: .8;
  }
  #header .nav {
    left: 0;
    top: 200px;
    z-index: 10;
    width: 100%;
    height: 80px;
    padding-right: 10px;
    margin-top: -100px;
    position: absolute;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  #header .nav > li {
    margin: 0 1.7%;
  }
  #header .nav > li.contact {
    margin: 0 0 0 1%;
    display: none;
  }
  #header .nav > li.contact a {
    border-bottom: none;
  }
  #header .nav > li.contact a:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #header .nav > li.contact a.nav_tel {
    display: block;
    overflow: hidden;
    color: transparent;
    text-decoration: none;
    text-indent: 110%;
    white-space: nowrap;
    font-size: 0;
    width: 84px;
    height: 80px;
    background: #fff url(image/icon_phone.png) no-repeat center center;
    background-size: 30px 20px;
  }
  #header .nav > li.contact a.nav_contact {
    display: block;
    overflow: hidden;
    color: transparent;
    text-decoration: none;
    text-indent: 110%;
    white-space: nowrap;
    font-size: 0;
    width: 84px;
    height: 80px;
    background: #006bad url(image/icon_contact.png) no-repeat center center;
    background-size: 25px 20px;
  }
  #header .nav a {
    position: relative;
    -webkit-transition: color 0.4s, border-color 0.4s;
    transition: color 0.4s, border-color 0.4s;
  }
  #header .nav a:hover {
    color: #2357c9;
    border-color: #2357c9;
  }
  #header .sub_menu {
    top: 0;
    left: 0;
    right: 0;
    position: absolute;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  #header .sub_menu .sub_menu_list {
    width: calc(100% - 470px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  #header .sub_menu .sub_menu_list > li {
    padding: 15px 0;
    margin-right: 28px;
  }
  #header .sub_menu .sub_menu_list > li:last-child {
    margin-right: 20px;
  }
  #header .sub_menu .sub_menu_list a {
    color: #000;
    white-space: nowrap;
    font-size: 0.8125rem;
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  #header .sub_menu .sub_menu_list a:hover {
    color: #2357c9;
  }
  #header .sub_menu .sub_menu_contact a:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #header .sub_menu .sub_menu_contact .yamashita {
    display: none;
  }
}

@media all and (min-width: 960px) and (max-width: 1400px) {
  #header.fixed .nav > li.contact a {
    width: 70px;
  }
  #header.fixed .nav a {
    font-size: 0.625rem;
  }
  #header .logo_other {
    top: 40px;
    left: 40px;
  }
  #header .logo {
    left: 20px;
    top: 185px;
  }
  #header .logo a {
    background-position: center top;
  }
  #header .nav > li {
    margin: 0 1%;
  }
  #header .nav a {
    font-size: 0.875rem;
  }
  #header .sub_menu .sub_menu_list > li {
    margin-right: 4%;
  }
  #header .sub_menu .sub_menu_list a {
    font-size: 0.8125rem;
  }
  #header .sub_menu .sub_menu_contact a {
    border-bottom: none;
  }
  #header .sub_menu .sub_menu_contact a.tel {
    display: block;
    overflow: hidden;
    color: transparent;
    text-decoration: none;
    text-indent: 110%;
    white-space: nowrap;
    font-size: 0;
    width: 84px;
    height: 80px;
    background: #fff url(image/icon_phone.png) no-repeat center center;
    background-size: 30px 20px;
  }
  #header .sub_menu .sub_menu_contact a.tel span,
  #header .sub_menu .sub_menu_contact a.tel strong {
    display: none;
  }
  #header .sub_menu .sub_menu_contact a.contact {
    display: block;
    overflow: hidden;
    color: transparent;
    text-decoration: none;
    text-indent: 110%;
    white-space: nowrap;
    font-size: 0;
    width: 84px;
    height: 80px;
    background: #006bad url(image/icon_contact.png) no-repeat center center;
    background-size: 25px 20px;
  }
  #header .sub_menu .sub_menu_contact a.contact span,
  #header .sub_menu .sub_menu_contact a.contact strong {
    display: none;
  }
}

@media only screen and (max-width: 959px) {
  body.menu_opened {
    overflow: hidden;
    position: fixed !important;
    width: 100%;
  }
  body.menu_opened #header .menu::before, body.menu_opened #header .menu::after {
    opacity: 0;
  }
  body.menu_opened #header .menu span::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  body.menu_opened #header .menu span::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  body.menu_opened #header .global_menu {
    opacity: 1;
    pointer-events: auto;
  }
  body.menu_opened #header .sub_menu_contact {
    display: block !important;
  }
  #header {
    left: 0;
    top: 0;
    padding: 0;
    width: 100%;
    position: fixed;
    background-color: #fff;
    z-index: 10;
    padding: 10px 0;
  }
  #header .logo_other {
    top: inherit;
    left: inherit;
    max-width: calc(100% - 80px);
    position: relative;
    padding: 0 45px 5px;
  }
  #header .logo_other a {
    width: 130px;
    height: 20px;
    max-width: 100%;
  }
  #header .logo {
    padding: 0 20px;
    max-width: calc(100% - 80px);
  }
  #header .logo a {
    width: 200px;
    height: 30px;
    max-width: 100%;
  }
  #header .menu {
    display: block;
    overflow: hidden;
    color: transparent;
    text-decoration: none;
    text-indent: 110%;
    white-space: nowrap;
    font-size: 0;
    width: 60px;
    height: 60px;
    position: fixed;
    right: 0;
    top: 0;
    background-color: #006bad;
    cursor: pointer;
    z-index: 25;
  }
  #header .menu::before, #header .menu::after {
    position: absolute;
    left: 25%;
    display: block;
    content: "";
    width: 50%;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  #header .menu::before {
    top: 35%;
  }
  #header .menu::after {
    bottom: 35%;
  }
  #header .menu span {
    display: block;
    overflow: hidden;
    color: transparent;
    text-decoration: none;
    text-indent: 110%;
    white-space: nowrap;
    font-size: 0;
  }
  #header .menu span::before, #header .menu span::after {
    position: absolute;
    left: 25%;
    top: 50%;
    display: block;
    content: "";
    margin-top: -1px;
    width: 50%;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
  }
  #header .global_menu {
    left: 0;
    top: 0;
    opacity: 0;
    z-index: 20;
    width: 100%;
    height: 100vh;
    position: fixed;
    background-color: #006bad;
    pointer-events: none;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 200px;
  }
  #header .nav {
    padding: 65px 0 40px;
    border-bottom: 1px solid #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
  #header .nav > li {
    width: 50%;
    text-align: center;
    padding: 19px 10px;
  }
  #header .nav a {
    padding: 2px 0;
    color: #fff;
    letter-spacing: 0.1em;
    text-align: center;
    display: inline-block;
    font-size: 1rem;
    border-bottom: 1px solid #fff;
  }
  #header .sub_menu .sub_menu_list > li {
    border-bottom: 1px solid #fff;
  }
  #header .sub_menu .sub_menu_list a {
    padding: 10px 50px 10px;
    color: #fff;
    font-size: 1.125rem;
    text-align: left;
  }
  #header .sub_menu .sub_menu_list a:before {
    background-color: #fff;
  }
  #header .sub_menu .sub_menu_contact {
    padding: 15px 35px 60px;
    display: none;
    width: 100%;
  }
  #header .sub_menu .sub_menu_contact > li {
    width: 100%;
    padding: 15px 0;
  }
  #header .sub_menu .sub_menu_contact a {
    width: 100%;
    height: 62px;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 5px 20px;
  }
  #header .sub_menu .sub_menu_contact a strong {
    display: block;
    width: 100%;
    letter-spacing: 0.06em;
    font-size: 0.89063rem;
  }
  #header .sub_menu .sub_menu_contact a.tel {
    width: 100%;
    color: #fff;
    background-color: #002868;
    border: 1px solid #002868;
  }
  #header .sub_menu .sub_menu_contact a.tel span {
    width: 200px;
    height: 26px;
    background: transparent url(image/txt_tel_wh.png) no-repeat center center;
    background-size: contain;
  }
  #header .sub_menu .sub_menu_contact a.contact {
    width: 100%;
    color: #006bad;
    background-color: #fff;
    border: 1px solid #fff;
  }
  #header .sub_menu .sub_menu_contact a.contact span {
    font-size: 1.40938rem;
  }
  #header .sub_menu .sub_menu_contact a.contact span:before {
    width: 25px;
    background: transparent url(image/icon_contact_blue.png) no-repeat center center;
    background-size: contain;
  }
  #header .sub_menu .sub_menu_contact a.contact strong {
    display: block;
  }
  #header .sub_menu .sub_menu_contact a.yamashita {
    background-color: #fff;
    border: 1px solid #fff;
  }
  #header .sub_menu .sub_menu_contact a.yamashita img {
    max-width: 220px;
  }
  #header .sub_menu .sub_menu_contact a.yamashita::after {
    display: none;
  }
}

/* --------------------------------------------------
	 9. Footer
-------------------------------------------------- */
#footer .logo {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 300px;
  height: 60px;
  margin: 0 auto;
  background: transparent url(image/h1_logo.png) no-repeat center center;
  background-size: contain;
}

#footer .clinic {
  margin: 40px 0 15px;
}

#footer .clinic span,
#footer .clinic strong {
  display: block;
  text-align: center;
}

#footer .clinic span {
  font-size: 0.75rem;
}

#footer .clinic strong {
  font-size: 1.23375rem;
  margin-top: 5px;
}

#footer .list_sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#footer .list_sns > li {
  margin: 10px;
}

#footer .list_sns .youtube a {
  background-image: url(image/icon_sns_youtube.png);
}

#footer .list_sns .instagram a {
  background-image: url(image/icon_sns_instagram.png);
}

#footer .list_sns .facebook a {
  background-image: url(image/icon_sns_facebook.png);
}

#footer .list_sns .twitter a {
  background-image: url(image/icon_sns_twitter.png);
}

#footer .list_sns a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 30px;
  height: 30px;
  text-decoration: none;
  background: transparent no-repeat center center;
  background-size: contain;
}

#footer .list_sns a::after {
  display: none;
}

#footer .footer_nav {
  background-color: #efefef;
}

#footer .nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#footer .nav a {
  color: #000;
  font-size: 0.9375rem;
  text-decoration: none;
  display: inline-block;
}

#footer .nav a[target="_blank"]::after, #footer .nav a[href^="https"]::after {
  display: none;
}

#footer .footer_in {
  background-color: #e2e2e2;
}

#footer .footer_link a {
  color: #000;
  text-align: center;
  letter-spacing: 0.1em;
  display: block;
  text-decoration: none;
}

#footer .footer_link a[target="_blank"]::after, #footer .footer_link a[href^="https"]::after {
  display: none;
}

#footer .logo_yamashitaika {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  width: 240px;
  height: 40px;
  margin: 0 auto;
  background: transparent url(image/img_yamashitaika_footer.png) no-repeat center center;
  background-size: contain;
}

#footer .logo_yamashitaika a {
  display: block;
  height: 40px;
}

#footer .logo_yamashitaika a::after {
  display: none;
}

#footer .copyright {
  color: #7f7f7f;
  padding: 1em 0;
  font-style: italic;
  letter-spacing: 0.1em;
  font-size: 0.5625rem;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media all and (min-width: 740px) {
  #footer .nav {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  #footer .nav li {
    margin: 0 2.4%;
    padding: 30px 0 20px;
  }
  #footer .nav a {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  #footer .nav a:hover {
    color: #2357c9;
  }
  #footer .logo_clinic_sns {
    padding: 70px 20px 35px;
  }
  #footer .list_sns a:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #footer .footer_in {
    padding: 10px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  #footer .footer_link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  #footer .footer_link > li {
    padding: 20px 25px;
  }
  #footer .footer_link > li:not(:first-child) {
    position: relative;
  }
  #footer .footer_link > li:not(:first-child):after {
    top: 50%;
    left: 0;
    width: 1px;
    content: "";
    height: 14px;
    margin-top: -7px;
    position: absolute;
    background-color: #000;
  }
  #footer .footer_link a {
    font-size: 0.875rem;
  }
  #footer .footer_link a:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #footer .footer_logo {
    padding: 10px 30px 0;
  }
}

@media all and (min-width: 740px) and (max-width: 959px) {
  #footer .footer_in {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media only screen and (max-width: 739px) {
  #footer {
    padding-bottom: 53px;
  }
  #footer .logo_clinic_sns {
    padding: 65px 20px 55px;
  }
  #footer .logo {
    width: 250px;
    height: 53px;
    max-width: 100%;
  }
  #footer .clinic {
    margin: 32px 0 25px;
  }
  #footer .clinic span,
  #footer .clinic strong {
    display: block;
    text-align: center;
  }
  #footer .clinic span {
    font-size: 0.71875rem;
  }
  #footer .clinic strong {
    font-size: 1.1875rem;
    margin-top: 5px;
  }
  #footer .list_sns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  #footer .list_sns > li {
    margin: 10px 13px;
  }
  #footer .list_sns a {
    width: 31px;
    height: 31px;
  }
  #footer .nav {
    border-bottom: 1px solid #353535;
  }
  #footer .nav > li {
    width: 50%;
    border-bottom: 1px solid #353535;
  }
  #footer .nav > li:last-child {
    border-bottom: none;
  }
  #footer .nav > li:nth-last-child(2):nth-child(odd) {
    border-bottom: none;
  }
  #footer .nav a {
    width: 100%;
    padding: 10px 20px;
    text-align: center;
  }
  #footer .footer_link {
    display: block;
    border-top: 1px solid #353535;
  }
  #footer .footer_link > li {
    width: 100%;
    border-bottom: 1px solid #353535;
  }
  #footer .footer_link a {
    padding: 15px 20px;
  }
  #footer .footer_logo {
    padding: 35px 20px 25px;
    text-align: center;
  }
  #footer .copyright {
    margin-top: 1em;
    padding: 1em 0;
    font-size: 0.6875rem;
  }
}

/* --------------------------------------------------
	10. Index
-------------------------------------------------- */
body.index #primary > .main_img {
  position: relative;
}

body.index #primary > .main_img .philosophy {
  border-radius: .5em;
  position: absolute;
  background-color: #fff;
}

body.index #primary > .main_img .philosophy em {
  color: #2357c9;
  display: block;
}

body.index #primary > .main_img .philosophy span {
  color: #006bad;
  line-height: 1.7;
  -webkit-box-shadow: inset 0 0 0 white, inset 0 -2px 0 #ebeef2;
  box-shadow: inset 0 0 0 white, inset 0 -2px 0 #ebeef2;
}

body.index #main_slider {
  position: absolute;
  top: 0;
  right: 6.25%;
  bottom: 0;
  left: 6.25%;
  background-color: #fff;
  z-index: -1;
  border-radius: .5em;
}

body.index #main_slider .slick-slide {
  background: transparent no-repeat center center;
  background-size: cover;
  border-radius: .5em;
}

article.index .title01 {
  position: relative;
  margin-bottom: 1.7em;
  text-align: center;
}

article.index .title01 span,
article.index .title01 em {
  display: block;
}

article.index .title01 span {
  color: #006bad;
  line-height: 1.15;
}

article.index .title01 em {
  color: #002868;
  margin-top: 18px;
}

article.index .profile {
  position: relative;
}

article.index .profile:before {
  top: 0;
  left: 0;
  bottom: 0;
  content: "";
  height: 100%;
  z-index: -1;
  position: absolute;
  background-color: #ebeef2;
}

article.index .profile .profile_text .title01 {
  text-align: left;
}

article.index .profile .profile_infor {
  overflow: hidden;
}

article.index .profile .profile_slider .profile_slider_item {
  display: inline-block;
}

article.index .profile .profile_slider a {
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  border-radius: .5em;
  text-decoration: none;
  display: inline-block;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
  box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
  -webkit-transition: all .2s linear;
  transition: all .2s linear;
}

article.index .profile .profile_slider .image {
  position: relative;
  overflow: hidden;
  padding-top: 62.5%;
}

article.index .profile .profile_slider .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

article.index .profile .profile_slider .tag_list li {
  color: #004dbc;
  font-size: 0.84313rem;
  display: inline-block;
  text-decoration: underline;
}

article.index .profile .profile_slider .text .title {
  color: #002868;
}

article.index .profile .profile_slider .text p {
  color: #353535;
  font-size: 0.6875rem;
}

article.index .profile .profile_slider .slick-prev,
article.index .profile .profile_slider .slick-next {
  top: inherit;
  bottom: 0;
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

article.index .profile .profile_slider .slick-prev:before,
article.index .profile .profile_slider .slick-next:before {
  top: 50%;
  left: 50%;
  border: none;
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
  transform: translate(-50%, -50%) rotate(0deg);
  background: transparent no-repeat center center;
  background-size: contain;
}

article.index .profile .profile_slider .slick-prev {
  left: 0;
  border: 1px solid #002868;
  background-color: #002868;
}

article.index .profile .profile_slider .slick-prev:before {
  background-image: url(image/icon_button_prev_white.png);
}

article.index .profile .profile_slider .slick-next {
  right: inherit;
  border: 1px solid #afafaf;
  background-color: #fff;
}

article.index .profile .profile_slider .slick-next:before {
  background-image: url(image/icon_button_next_gray.png);
}

article.index .profile .profile_slider .slick-track {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

article.index .profile .profile_slider .slick-slide {
  height: inherit !important;
}

article.index .profile .profile_slider .slick-list {
  padding: 15px 0 15px 20px;
}

article.index .support .support_text .title01 {
  text-align: right;
}

article.index .support .support_ward {
  border-radius: 5px;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
  box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
}

article.index .support .support_ward > li {
  border-bottom: 1px solid #353535;
}

article.index .support .support_ward a {
  display: block;
  text-decoration: none;
}

article.index .support .support_dl dt {
  color: #006bad;
}

article.index .support .support_dl .title span,
article.index .support .support_dl .title em {
  display: inline-block;
}

article.index .support .support_dl .title span {
  color: #002868;
  font-size: 1.625rem;
  line-height: 1.5;
}

article.index .support .support_dl .title em {
  color: #006bad;
  margin-left: 10px;
}

article.index .news .title01 span span {
  display: inline-block;
  margin: 0 6px;
}

article.index .partner {
  position: relative;
}

article.index .partner:before {
  bottom: 0;
  content: "";
  z-index: -1;
  position: absolute;
  background-color: #ebeef2;
}

article.index .partner .partner_text .content {
  display: block;
}

article.index .partner .partner_text .title01 {
  text-align: left;
}

article.index .partner .list_partner {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
  -ms-flex-pack: start;
  justify-content: start;
}

article.index .partner .list_partner > li {
  background: transparent no-repeat center center;
  background-size: cover;
}

article.index .partner .list_partner > li:nth-child(1) {
  background-image: url(image/img_partner01.jpg);
}

article.index .partner .list_partner > li:nth-child(2) {
  background-image: url(image/img_partner02.jpg);
}

article.index .partner .list_partner > li:nth-child(3) {
  background-image: url(image/img_partner03.jpg);
}

article.index .partner .list_partner > li:nth-child(4) {
  background-image: url(image/img_partner04.jpg);
}

article.index .partner .list_partner > li:nth-child(5) {
  background-image: url(image/img_partner05.jpg);
}

article.index .partner .list_partner > li:nth-child(6) {
  background-image: url(image/img_partner06.jpg);
}

@media all and (min-width: 740px) {
  article.index .title01 {
    margin-bottom: 1.7em;
  }
  article.index .title01 span {
    line-height: 1.15;
    font-size: 3.75rem;
  }
  article.index .title01 em {
    margin-top: 18px;
  }
  article.index .profile {
    padding-top: 8em !important;
  }
  article.index .profile .profile_text .more {
    margin-top: 2.5em;
  }
  article.index .profile .profile_slider {
    padding-bottom: 86px;
  }
  article.index .profile .profile_slider .tag_list {
    padding: 25px 15px 0;
  }
  article.index .profile .profile_slider .tag_list li {
    font-size: 0.84313rem;
    margin-right: 15px;
  }
  article.index .profile .profile_slider .text {
    padding: 20px 20px 50px;
  }
  article.index .profile .profile_slider .text .title {
    font-size: 1.3375rem;
  }
  article.index .profile .profile_slider .slick-prev:hover,
  article.index .profile .profile_slider .slick-next:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  article.index .support {
    padding: 6.4em 0 8em !important;
  }
  article.index .support .support_text .title01 {
    margin-bottom: 2.5em;
  }
  article.index .support .support_ward a:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  article.index .support .support_dl dt {
    font-size: 1.4375rem;
    padding: 2px 7px 2px;
  }
  article.index .support .support_dl .title em {
    font-size: 0.8125rem;
  }
  article.index .news {
    position: relative;
  }
  article.index .news .title01 span span {
    font-size: 3.125rem;
  }
  article.index .news .title01 em {
    margin-top: 8px;
  }
  article.index .news .list_news {
    margin-top: 0;
  }
  article.index .news .list_news > li {
    padding-top: 0;
  }
  article.index .news .cat_list {
    margin: 70px 0 25px;
    padding: 0 120px;
  }
  article.index .news .more {
    right: 15px;
    top: 180px;
    position: absolute;
  }
  article.index .sec_contact {
    padding: 165px 0 0 !important;
  }
}

@media all and (min-width: 960px) {
  body.index #header .global_menu .nav .index a {
    color: #2357c9;
    border-color: #2357c9;
  }
  body.index #content {
    padding-top: 256px;
  }
  body.index #primary > .main_img {
    margin-bottom: 13em;
  }
  body.index #primary > .main_img .philosophy {
    right: 50px;
    bottom: -110px;
    padding: 2em 3em;
  }
  body.index #primary > .main_img .philosophy span {
    font-size: 2.0625rem;
  }
  article.index .profile {
    margin-bottom: 14.5em;
  }
  article.index .profile:before {
    width: calc(50% + 480px);
    max-width: 85%;
  }
  article.index .profile .profile_text {
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: calc(50% - 290px);
    min-width: 520px;
    padding: 40px 40px 40px 100px;
    position: absolute;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  article.index .profile .profile_text .box_content {
    max-width: 370px;
  }
  article.index .profile .profile_infor {
    width: calc(50% + 290px);
    max-width: calc(100% - 520px);
    margin-right: 0;
    margin-left: auto;
    overflow: hidden;
  }
  article.index .profile .profile_slider .profile_slider_item {
    margin: 0 18px;
    width: 400px;
  }
  article.index .profile .profile_slider .slick-prev:before,
  article.index .profile .profile_slider .slick-next:before {
    width: 30px;
    height: 20px;
  }
  article.index .profile .profile_slider .slick-next {
    left: 110px;
  }
  article.index .support {
    background: transparent url(image/bg_support.jpg) no-repeat center center;
    background-size: cover;
  }
  article.index .support .inner::after {
    display: block;
    content: "";
    clear: both;
  }
  article.index .support .support_text {
    width: 340px;
    float: right;
  }
  article.index .support .support_ward {
    margin-top: 60px;
    width: calc(100% - 380px);
    float: left;
    padding: 47px 40px 75px 40px;
  }
  article.index .support .support_ward > li {
    max-width: 647px;
    margin: 0 auto;
  }
  article.index .support .support_dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 36px 40px 21px 0;
    position: relative;
  }
  article.index .support .support_dl:after {
    top: calc(50% - 8px);
    right: 5px;
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    background: transparent url(image/icon_arrow_gray.png) no-repeat center center;
    background-size: contain;
  }
  article.index .support .support_dl dt {
    width: 44px;
    min-width: 44px;
  }
  article.index .news {
    padding-top: 14.4em !important;
  }
  article.index .partner::after {
    display: block;
    content: "";
    clear: both;
  }
  article.index .partner:before {
    left: 70px;
    right: 130px;
    height: calc(100% - 270px);
    width: calc(100% - 70px - 130px);
  }
  article.index .partner .partner_text {
    margin-top: 80px;
    float: left;
    width: calc(50% - 270px);
    min-width: 470px;
    padding: 40px 14px 40px 100px;
  }
  article.index .partner .partner_text .content {
    max-width: 380px;
    margin-left: auto;
    margin-right: 0;
  }
  article.index .partner .partner_text .title01 {
    margin-bottom: 2.5em;
  }
  article.index .partner .partner_text .more {
    margin-top: 3.5em;
  }
  article.index .partner .partner_image {
    width: calc(50% + 270px);
    max-width: calc(100% - 470px);
    padding: 0 50px 3.8em;
    float: right;
  }
  article.index .partner .list_partner > li {
    padding-top: 36.90722%;
    width: 33.33333%;
  }
}

@media all and (min-width: 740px) and (max-width: 959px) {
  article.index .news .cat_list {
    padding: 0 120px 0 20px;
  }
}

@media all and (max-width: 1200px) {
  article.index .partner .list_partner > li {
    padding-top: 53.44828%;
    width: 50%;
  }
}

@media all and (max-width: 959px) {
  body.index #header .global_menu .nav .index a {
    color: #002868;
    border-color: #002868;
  }
  body.index #secondary {
    display: inherit;
    top: 200px;
    left: 10px;
    position: absolute;
  }
  body.index #secondary .sns > li {
    padding: 17px 0;
  }
  body.index #secondary .sns a {
    width: 25px;
    height: 25px;
  }
  body.index #content {
    padding-top: 100px;
  }
  body.index #primary > .main_img {
    padding-top: 405px !important;
    margin-bottom: 11.5em;
  }
  body.index #primary > .main_img .philosophy {
    right: -6px;
    bottom: -80px;
    width: calc(100% - 8%);
    max-width: 600px;
    padding: 25px 2em 38px;
  }
  body.index #primary > .main_img .philosophy em {
    font-size: 0.875rem;
  }
  body.index #primary > .main_img .philosophy span {
    font-size: 1.29937rem;
  }
  body.index #main_slider {
    right: 20px;
    left: 20px;
  }
  body.index #main_slider .slick-slide {
    padding-top: 405px !important;
  }
  body.index #secondary {
    top: 443px;
  }
  article.index .profile {
    margin-bottom: 5em;
  }
  article.index .profile:before {
    width: calc(100% - 55px);
  }
  article.index .profile .profile_text {
    padding: 40px 20px;
  }
  article.index .profile .profile_infor {
    width: 100%;
  }
  article.index .profile .profile_slider {
    padding-bottom: 80px;
  }
  article.index .profile .profile_slider .profile_slider_item {
    margin: 0 10px;
    width: 310px;
  }
  article.index .profile .profile_slider .slick-prev,
  article.index .profile .profile_slider .slick-next {
    width: 50px;
    height: 50px;
    bottom: 12px;
  }
  article.index .profile .profile_slider .slick-next {
    right: 50%;
    margin-right: -75px;
  }
  article.index .profile .profile_slider .slick-prev {
    left: 50%;
    margin-left: -65px;
  }
  article.index .support .inner {
    padding: 0 !important;
  }
  article.index .support .support_text {
    background: transparent url(image/bg_support.jpg) no-repeat right 30% center;
    background-size: cover;
    padding: 30px 25px 90px 40%;
  }
  article.index .support .support_ward {
    margin: -45px auto 0;
    width: calc(100% - 40px);
    padding: 15px 10px 22px;
  }
  article.index .support .support_ward .support_dl {
    padding: 20px 15px;
  }
  article.index .partner:before {
    left: 25px;
    right: 25px;
    height: calc(100% - 155px);
    width: calc(100% - 50px);
  }
  article.index .partner .partner_text {
    width: 100%;
    padding: 0 50px;
  }
  article.index .partner .partner_text .title01 {
    margin-bottom: 1.5em;
  }
  article.index .partner .partner_text .more {
    margin-top: 1.5em;
  }
  article.index .partner .partner_image {
    width: 100%;
    padding-left: 44px;
    margin-top: 2.5em;
  }
  article.index .partner .list_partner > li {
    padding-top: 38.33333%;
    width: 33.33333%;
  }
}

@media only screen and (max-width: 739px) {
  body.index #primary > .main_img .philosophy {
    bottom: -135px;
    max-width: 300px;
  }
  article.index .title01 {
    margin-bottom: 1.7em;
  }
  article.index .title01 span {
    line-height: 1.15;
    font-size: 2.4375rem;
  }
  article.index .title01 em {
    font-size: 1.07625rem;
    margin-top: 15px;
  }
  article.index .profile {
    margin-bottom: 0;
  }
  article.index .profile .profile_text .title01 {
    margin-bottom: .8em;
  }
  article.index .profile .profile_text .more {
    margin-top: 2em;
  }
  article.index .profile .profile_slider .tag_list {
    padding: 20px 15px 0;
  }
  article.index .profile .profile_slider .tag_list li {
    font-size: 0.77812rem;
    margin-right: 10px;
  }
  article.index .profile .profile_slider .text {
    padding: 12px 18px 40px;
  }
  article.index .profile .profile_slider .text .title {
    font-size: 1.15875rem;
  }
  article.index .support {
    padding: 4em 0 10em !important;
  }
  article.index .support .support_text {
    padding-left: 28%;
  }
  article.index .support .support_text .title01 {
    margin-bottom: 1.5em;
  }
  article.index .support .support_dl dt {
    font-size: 1.25rem;
  }
  article.index .support .support_dl .title {
    margin-bottom: .6em;
  }
  article.index .support .support_dl .title em {
    font-size: 0.875rem;
  }
  article.index .news {
    position: relative;
  }
  article.index .news .title01 span span {
    font-size: 1.8125rem;
  }
  article.index .news .cat_list {
    margin: 25px 0 15px;
  }
  article.index .news .more {
    text-align: center;
    margin-top: 25px;
  }
  article.index .partner {
    padding: 7em 0 5em !important;
  }
  article.index .partner:before {
    height: calc(100% - 150px);
  }
  article.index .partner .list_partner > li {
    padding-top: 55.42169%;
    width: 50%;
  }
  article.index .sec_contact {
    padding: 110px 0 0 !important;
  }
}

/* --------------------------------------------------
	11. OPENING SUPPORT
-------------------------------------------------- */
body.opening #primary .page_title .image {
  background-image: url(opening/images/bg_title.jpg);
}

article.opening_index .ideal_opening {
  margin: 4em 0 3em;
  background: transparent url(opening/images/img_opening01.jpg) no-repeat top center;
  background-size: cover;
}

article.opening_index .ideal_opening .list_ideal {
  max-width: 1040px;
  margin: 0 auto;
}

article.opening_index .ideal_opening .list_ideal li {
  padding: 20px;
}

article.opening_index .ideal_opening .list_ideal .box {
  height: 100%;
  border-radius: 5px;
  position: relative;
  background-color: #fff;
}

article.opening_index .ideal_opening .list_ideal .box strong {
  top: 7px;
  left: 15px;
  color: #174c99;
  position: absolute;
}

article.opening_index .ideal_opening .list_ideal .box p {
  color: #006bad;
  font-weight: bold;
  letter-spacing: 0.03em;
}

article.opening_index .opening_about {
  padding-bottom: 0 !important;
}

article.opening_index .opening_about .lyt_item_a {
  margin: 0 0 4em;
}

article.opening_index .opening_about .colunm_img_auto {
  margin: 10em auto 0;
}

article.opening_index .flow_until .colunm_img_auto {
  overflow: hidden;
  border-radius: 5px;
  margin: 0;
}

article.opening_index .flow_until .nav_flow {
  margin: 30px 0 10px;
}

article.opening_index .flow_until .nav_flow > li + li {
  position: relative;
}

article.opening_index .flow_until .nav_flow > li + li:before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 1px solid #006bad;
  border-left: 1px solid #006bad;
}

article.opening_index .flow_until .nav_flow .title {
  color: #fff;
  width: 100%;
  height: 100%;
  text-align: center;
  display: inline-block;
  padding: 10px;
}

article.opening_index .flow_until .nav_flow .title em {
  font-size: 0.9375rem;
}

article.opening_index .flow_until p {
  font-size: 0.9375rem;
}

article.opening_index .flow_until .more {
  margin-top: 2.5em;
  text-align: center;
}

article.opening_index .strong_medical {
  background-color: #ebeef2;
}

article.opening_index .strong_medical .list_medical_btn {
  margin-top: 3em;
}

article.opening_index .strong_medical .list_medical_btn li {
  text-align: center;
}

article.opening_index .strong_medical .list_medical_btn strong {
  color: #006bad;
  margin-bottom: 10px;
  display: block;
}

article.opening_index .strong_medical .list_medical_btn .basic_btn {
  width: 354px;
  max-width: 100%;
  min-width: inherit;
}

article.opening_index .best_partner .partner_ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

article.opening_index .best_partner .partner_ul li {
  width: 25%;
}

article.opening_index .best_partner .partner_box {
  z-index: 1;
  position: relative;
  margin: 0 auto;
  border-radius: 5px;
  background-color: #002868;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

article.opening_index .best_partner .partner_box dt {
  color: #fff;
  line-height: 1.3;
  text-align: center;
}

article.opening_index .best_partner .partner_box dt p {
  text-align: left;
  display: inline-block;
}

article.opening_index .best_partner .btn_partner {
  color: #fff;
  width: 283px;
  max-width: 100%;
  text-align: center;
  font-size: 1.125rem;
  border-radius: 64px;
  display: inline-block;
  text-decoration: none;
  border: 1px solid #fff;
  background-color: #002868;
}

article.opening_flow section h3 + p {
  line-height: 2;
  letter-spacing: 0.1em;
  font-size: 0.9375rem;
}

article.opening_flow_step01 .flow_btns ul .step01 a {
  width: inherit;
  padding: 10px 20px;
}

article.opening_flow_step01 .flow_btns ul .step01 a span {
  display: block;
}

article.opening_flow_step01 .nav_flow .step01 a {
  background-color: #006bad;
}

article.opening_flow_step02 .flow_btns ul .step02 a {
  width: inherit;
  padding: 10px 20px;
}

article.opening_flow_step02 .flow_btns ul .step02 a span {
  display: block;
}

article.opening_flow_step02 .nav_flow .step02 a {
  background-color: #006bad;
}

article.opening_flow_step03 .flow_btns ul .step03 a {
  width: inherit;
  padding: 10px 20px;
}

article.opening_flow_step03 .flow_btns ul .step03 a span {
  display: block;
}

article.opening_flow_step03 .nav_flow .step03 a {
  background-color: #006bad;
}

article.opening_flow_step04 .flow_btns ul .step04 a {
  width: inherit;
  padding: 10px 20px;
}

article.opening_flow_step04 .flow_btns ul .step04 a span {
  display: block;
}

article.opening_flow_step04 .nav_flow .step04 a {
  background-color: #006bad;
}

article.opening_flow_step04 .list_equipment {
  margin: 3em 0 8em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

article.opening_flow_step04 .list_equipment li {
  padding: 7px;
}

article.opening_flow_step04 .list_equipment li p {
  color: #006bad;
  font-size: 1.125rem;
  line-height: 1.5;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid #006bad;
}

article.opening_flow_step05 .flow_btns ul .step05 a {
  width: inherit;
  padding: 10px 20px;
}

article.opening_flow_step05 .flow_btns ul .step05 a span {
  display: block;
}

article.opening_flow_step05 .nav_flow .step05 a {
  background-color: #006bad;
}

article.opening_flow_step06 .flow_btns ul .step06 a {
  width: inherit;
  padding: 10px 20px;
}

article.opening_flow_step06 .flow_btns ul .step06 a span {
  display: block;
}

article.opening_flow_step06 .nav_flow .step06 a {
  background-color: #006bad;
}

article.opening_flow_step06 .notification {
  margin: 4em 0 8em;
}

article.opening_flow_step06 .notification li {
  margin: 7px;
  overflow: hidden;
  position: relative;
}

article.opening_flow_step07 .flow_btns ul .step07 a {
  width: inherit;
  padding: 10px 20px;
}

article.opening_flow_step07 .flow_btns ul .step07 a span {
  display: block;
}

article.opening_flow_step07 .nav_flow .step07 a {
  background-color: #006bad;
}

@media all and (min-width: 740px) {
  article.opening_index .ideal_opening {
    padding: 65px 0;
  }
  article.opening_index .ideal_opening .list_ideal {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  article.opening_index .ideal_opening .list_ideal li {
    width: 50%;
    max-width: 454px;
  }
  article.opening_index .ideal_opening .list_ideal .box {
    padding: 25px 50px;
  }
  article.opening_index .ideal_opening .list_ideal .box strong {
    font-size: 0.9375rem;
  }
  article.opening_index .ideal_opening .list_ideal .box p {
    font-size: 1.25rem;
  }
  article.opening_index .flow_until .nav_flow {
    margin-left: -10px;
    margin-right: -10px;
  }
  article.opening_index .flow_until .nav_flow > li {
    width: 14.28571%;
    padding: 10px;
  }
  article.opening_index .flow_until .nav_flow > li + li:before {
    top: 50%;
    left: -6px;
    margin-top: -6px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  article.opening_index .strong_medical .list_medical_btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  article.opening_index .strong_medical .list_medical_btn li {
    width: 50%;
    padding: 20px;
  }
  article.opening_index .strong_medical .list_medical_btn .basic_btn {
    width: 354px;
    max-width: 100%;
  }
  article.opening_index .best_partner .partner_box {
    max-width: 760px;
    margin-top: -100px;
    padding: 40px 55px;
  }
  article.opening_index .best_partner .partner_box dt {
    width: 50%;
    font-size: 2.625rem;
  }
  article.opening_index .best_partner .partner_box dd {
    width: 50%;
    padding: 30px 20px 0;
  }
  article.opening_index .best_partner .btn_partner {
    padding: 15px 20px;
    -webkit-transition: color 0.4s, background-color 0.4s;
    transition: color 0.4s, background-color 0.4s;
  }
  article.opening_index .best_partner .btn_partner:hover {
    color: #002868 !important;
    background-color: #fff;
  }
  article.opening_flow_index .frame_flow {
    margin-top: 0;
    padding: 40px 40px 30px;
  }
  article.opening_flow_index .nav_flow > li {
    padding: 25px 13px 25px;
  }
  article.opening_flow_step04 .list_equipment li p {
    max-width: 140px;
    max-height: 140px;
    width: 14vw;
    height: 14vw;
  }
  article.opening_flow_step06 .notification {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  article.opening_flow_step06 .notification li {
    width: 50%;
    max-width: 400px;
  }
}

@media all and (min-width: 960px) {
  body.opening #header .global_menu .nav .opening a {
    color: #2357c9;
    border-color: #2357c9;
  }
}

@media all and (min-width: 740px) and (max-width: 959px) {
  article.opening_index .flow_until .nav_flow .title em {
    font-size: 0.8125rem;
  }
  article.opening_flow_index .frame_flow {
    padding: 40px 20px;
  }
  article.opening_flow_step04 .list_equipment li p {
    font-size: 1rem;
    width: 13.46154vw;
    height: 13.46154vw;
  }
}

@media all and (max-width: 959px) {
  body.opening #header .global_menu .nav .opening a {
    color: #002868;
    border-color: #002868;
  }
}

@media only screen and (max-width: 739px) {
  article.opening_index .ideal_opening {
    padding: 40px 0;
    background-position: top right -150px;
  }
  article.opening_index .ideal_opening .list_ideal li {
    width: 100%;
    max-width: 320px;
    padding: 10px 20px;
  }
  article.opening_index .ideal_opening .list_ideal .box {
    padding: 25px 30px;
  }
  article.opening_index .ideal_opening .list_ideal .box strong {
    font-size: 0.75rem;
  }
  article.opening_index .opening_about .colunm_img_auto {
    margin-top: 5em;
  }
  article.opening_index .flow_until .nav_flow > li {
    width: 100%;
    padding: 10px;
  }
  article.opening_index .flow_until .nav_flow > li + li:before {
    top: -6px;
    left: 50%;
    margin-left: -6px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  article.opening_index .strong_medical .list_medical_btn li {
    width: 100%;
    padding: 20px 0;
  }
  article.opening_index .best_partner .partner_box {
    max-width: 90%;
    margin-top: -45px;
    padding: 20px 10px;
  }
  article.opening_index .best_partner .partner_box dt {
    width: 45%;
    font-size: 1.125rem;
  }
  article.opening_index .best_partner .partner_box dd {
    width: 55%;
    padding: 5px 5px 0;
  }
  article.opening_index .best_partner .btn_partner {
    width: 283px;
    font-size: 0.875rem;
    padding: 5px 10px;
  }
  article.opening_index .frame_flow {
    margin-top: 0;
  }
  article.opening_flow_index .frame_flow {
    margin-top: 0;
  }
  article.opening_flow_step04 .list_equipment li p {
    font-size: 1rem;
    width: 90px;
    height: 90px;
  }
}

/* --------------------------------------------------
	12. SUCCESSION SUPPORT
-------------------------------------------------- */
body.success #primary .page_title .image {
  background-image: url(success/images/bg_title.jpg);
}

article.success span.asterisk {
  display: inline-block;
}

article.success .merit_demerit {
  margin: 2em 0 5em;
}

article.success .merit_demerit > li.merit .title {
  background-color: #006bad;
}

article.success .merit_demerit > li.merit .title:before {
  width: 25px;
  height: 25px;
  border-radius: 25px;
  border: 4px solid #fff;
}

article.success .merit_demerit > li.demerit .title {
  background-color: #606060;
}

article.success .merit_demerit > li.demerit .title:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 15px 10px;
  border-color: transparent transparent #fff transparent;
}

article.success .merit_demerit > li.demerit .basic_ul > li::before {
  background-color: #606060;
  border-color: #606060;
}

article.success .merit_demerit .box {
  height: 100%;
  overflow: hidden;
  border-radius: 5px;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
  box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
}

article.success .merit_demerit .title {
  color: #fff;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
  padding: 20px;
}

article.success .merit_demerit .title:before {
  content: "";
  margin-right: 15px;
  margin-bottom: 3px;
  display: inline-block;
  vertical-align: middle;
}

article.success .success_ul > li.new_open .title {
  background-color: #bababa;
}

article.success .success_ul > li.success_open .title {
  background-color: #ffca5a;
}

article.success .success_ul .title {
  font-size: 1.5rem;
  width: 250px;
  border-radius: 50px;
  margin: 0 auto 25px;
  max-width: 100%;
  padding: 2px 20px;
  font-weight: bold;
  text-align: center;
  display: block;
}

article.success .success_ul p {
  font-size: 0.875rem;
  margin-bottom: 25px;
}

article.success .success_yamashita .list_consult .box {
  padding: 20px;
  border-radius: 5px;
  border: 1px solid #282828;
}

article.success .success_yamashita .list_consult .image {
  text-align: center;
  margin-bottom: 10px;
}

article.success .success_yamashita .list_consult .image img {
  height: 40px;
  margin: 0 auto;
}

article.success .success_yamashita .list_consult .title {
  color: #002868;
  font-size: 1.375rem;
  padding-bottom: 5px;
  line-height: 1.5;
  margin-bottom: 10px;
  letter-spacing: 0.03em;
  text-align: center;
  border-bottom: 1px solid #000;
}

article.success .success_yamashita .list_consult p {
  font-size: 0.875rem;
}

@media all and (min-width: 740px) {
  article.success .merit_demerit {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-left: -50px;
    margin-right: -50px;
  }
  article.success .merit_demerit > li {
    width: 50%;
    padding: 50px;
  }
  article.success .merit_demerit .text {
    padding: 30px 35px;
  }
  article.success .success_ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-left: -30px;
    margin-right: -30px;
  }
  article.success .success_ul > li {
    width: 50%;
    padding: 30px;
  }
  article.success .success_yamashita .list_consult {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-left: -10px;
    margin-right: -10px;
  }
  article.success .success_yamashita .list_consult > li {
    width: 33.33333%;
    padding: 10px;
  }
  article.success .success_yamashita .list_consult .box {
    min-height: 310px;
  }
}

@media all and (min-width: 960px) {
  body.success #header .global_menu .nav .success a {
    color: #2357c9;
    border-color: #2357c9;
  }
}

@media all and (min-width: 740px) and (max-width: 959px) {
  article.success .merit_demerit {
    margin-left: -20px;
    margin-right: -20px;
  }
  article.success .merit_demerit > li {
    padding: 20px;
  }
}

@media all and (max-width: 959px) {
  body.success #header .global_menu .nav .success a {
    color: #002868;
    border-color: #002868;
  }
}

@media only screen and (max-width: 739px) {
  article.success .merit_demerit {
    display: block;
  }
  article.success .merit_demerit > li {
    width: 100%;
    padding: 20px 0;
  }
  article.success .merit_demerit .text {
    padding: 20px;
  }
  article.success .success_ul {
    display: block;
  }
  article.success .success_ul > li {
    width: 100%;
  }
  article.success .success_ul > li + li {
    margin-top: 40px;
  }
  article.success .success_yamashita .list_consult {
    display: block;
  }
  article.success .success_yamashita .list_consult > li {
    width: 100%;
    padding: 10px 0;
  }
}

/* --------------------------------------------------
	13. YAMASHITA　SYNERGY
-------------------------------------------------- */
body.yamashita #primary .page_title .image {
  background-image: url(images/yamashita/bg_title.jpg);
}

body.yamashita #footer .nav .yamashita a {
  color: #2357c9;
}

article.yamashita .sec_contact {
  padding: 0 !important;
}

article.yamashita .img_yamashita_synergy {
  margin: 0;
}

article.yamashita section .text_head {
  font-weight: bold;
  margin-bottom: 1em;
}

article.yamashita section .text_head.is_show span {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

article.yamashita section .text_head.is_show span:after {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

article.yamashita section .text_head span {
  line-height: 1.3;
  display: inline-block;
  opacity: 0;
  -webkit-transform: translate3d(-25px, 0, 0);
  transform: translate3d(-25px, 0, 0);
}

article.yamashita section .text_head span:nth-child(1) {
  -webkit-transition: opacity 1.5s 1s, -webkit-transform 1.5s 1s;
  transition: opacity 1.5s 1s, -webkit-transform 1.5s 1s;
  transition: opacity 1.5s 1s, transform 1.5s 1s;
  transition: opacity 1.5s 1s, transform 1.5s 1s, -webkit-transform 1.5s 1s;
}

article.yamashita section .text_head span:nth-child(1):after {
  -webkit-transition: opacity 2s 3s, -webkit-transform 2s 3s;
  transition: opacity 2s 3s, -webkit-transform 2s 3s;
  transition: opacity 2s 3s, transform 2s 3s;
  transition: opacity 2s 3s, transform 2s 3s, -webkit-transform 2s 3s;
}

article.yamashita section .text_head span:nth-child(2) {
  -webkit-transition: opacity 1.5s 1.5s, -webkit-transform 1.5s 1.5s;
  transition: opacity 1.5s 1.5s, -webkit-transform 1.5s 1.5s;
  transition: opacity 1.5s 1.5s, transform 1.5s 1.5s;
  transition: opacity 1.5s 1.5s, transform 1.5s 1.5s, -webkit-transform 1.5s 1.5s;
}

article.yamashita section .text_head span:nth-child(2):after {
  -webkit-transition: opacity 2s 3.5s, -webkit-transform 2s 3.5s;
  transition: opacity 2s 3.5s, -webkit-transform 2s 3.5s;
  transition: opacity 2s 3.5s, transform 2s 3.5s;
  transition: opacity 2s 3.5s, transform 2s 3.5s, -webkit-transform 2s 3.5s;
}

article.yamashita section .text_head span:nth-child(3) {
  -webkit-transition: opacity 1.5s 2s, -webkit-transform 1.5s 2s;
  transition: opacity 1.5s 2s, -webkit-transform 1.5s 2s;
  transition: opacity 1.5s 2s, transform 1.5s 2s;
  transition: opacity 1.5s 2s, transform 1.5s 2s, -webkit-transform 1.5s 2s;
}

article.yamashita section .text_head span:nth-child(3):after {
  -webkit-transition: opacity 2s 4s, -webkit-transform 2s 4s;
  transition: opacity 2s 4s, -webkit-transform 2s 4s;
  transition: opacity 2s 4s, transform 2s 4s;
  transition: opacity 2s 4s, transform 2s 4s, -webkit-transform 2s 4s;
}

article.yamashita section .text_head span:nth-child(4) {
  -webkit-transition: opacity 1.5s 2.5s, -webkit-transform 1.5s 2.5s;
  transition: opacity 1.5s 2.5s, -webkit-transform 1.5s 2.5s;
  transition: opacity 1.5s 2.5s, transform 1.5s 2.5s;
  transition: opacity 1.5s 2.5s, transform 1.5s 2.5s, -webkit-transform 1.5s 2.5s;
}

article.yamashita section .text_head span:nth-child(4):after {
  -webkit-transition: opacity 2s 4.5s, -webkit-transform 2s 4.5s;
  transition: opacity 2s 4.5s, -webkit-transform 2s 4.5s;
  transition: opacity 2s 4.5s, transform 2s 4.5s;
  transition: opacity 2s 4.5s, transform 2s 4.5s, -webkit-transform 2s 4.5s;
}

article.yamashita section .text_head span:nth-child(5) {
  -webkit-transition: opacity 1.5s 3s, -webkit-transform 1.5s 3s;
  transition: opacity 1.5s 3s, -webkit-transform 1.5s 3s;
  transition: opacity 1.5s 3s, transform 1.5s 3s;
  transition: opacity 1.5s 3s, transform 1.5s 3s, -webkit-transform 1.5s 3s;
}

article.yamashita section .text_head span:nth-child(5):after {
  -webkit-transition: opacity 2s 5s, -webkit-transform 2s 5s;
  transition: opacity 2s 5s, -webkit-transform 2s 5s;
  transition: opacity 2s 5s, transform 2s 5s;
  transition: opacity 2s 5s, transform 2s 5s, -webkit-transform 2s 5s;
}

article.yamashita section .text_head span:after {
  content: "";
  width: 100%;
  display: block;
  border-bottom: 3px solid #000;
  opacity: 0;
  -webkit-transform: translate3d(-10px, 0, 0);
  transform: translate3d(-10px, 0, 0);
}

article.yamashita section .text_synergy {
  position: relative;
}

article.yamashita section .text_synergy:before {
  top: 0;
  right: 0;
  content: "";
  height: 100%;
  position: absolute;
  background: #f6f6f6 url(images/yamashita/img_yamashita01.png) no-repeat top 100px right;
  background-size: 360px 880px;
}

article.yamashita section .text_synergy p {
  font-weight: bold;
  -webkit-transform: translate3d(0, 50px, 0);
  transform: translate3d(0, 50px, 0);
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  -webkit-transition: opacity 1s .1s, -webkit-filter 1s .1s, -webkit-transform 1s .1s;
  transition: opacity 1s .1s, -webkit-filter 1s .1s, -webkit-transform 1s .1s;
  transition: filter 1s .1s, opacity 1s .1s, transform 1s .1s;
  transition: filter 1s .1s, opacity 1s .1s, transform 1s .1s, -webkit-filter 1s .1s, -webkit-transform 1s .1s;
}

article.yamashita section .text_synergy p.is_show {
  opacity: 1 !important;
  -webkit-filter: blur(0);
  filter: blur(0);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

@media all and (min-width: 740px) {
  article.yamashita section .text_head {
    font-size: 2.375rem;
  }
  article.yamashita section .text_head span {
    margin-bottom: 30px;
  }
  article.yamashita section .text_synergy {
    padding: 70px 0 150px;
    margin-bottom: 80px;
  }
  article.yamashita section .text_synergy:before {
    width: calc(50% + 600px);
    max-width: 100%;
  }
  article.yamashita section .text_synergy p {
    font-size: 1.625rem;
    line-height: 2.9;
  }
  article.yamashita section .text_synergy p span {
    display: block;
  }
}

@media all and (min-width: 960px) {
  body.yamashita #header .sub_menu .sub_menu_list .yamashita a {
    color: #2357c9;
  }
}

@media all and (max-width: 959px) {
  body.yamashita #header .sub_menu .sub_menu_list .yamashita a {
    color: #002868;
  }
  body.yamashita #header .sub_menu .sub_menu_list .yamashita a::before {
    background-color: #002868;
  }
}

@media only screen and (max-width: 739px) {
  article.yamashita section .text_head {
    font-size: 1.125rem;
    margin-bottom: 2em;
  }
  article.yamashita section .text_head span {
    line-height: 1.5;
    margin-bottom: 20px;
  }
  article.yamashita section .text_head span:after {
    border-bottom: 1px solid #000;
  }
  article.yamashita section .text_synergy {
    padding: 40px 0 60px;
    margin-bottom: 50px;
  }
  article.yamashita section .text_synergy:before {
    width: 100%;
    background-position: top 40px right;
    background-size: 100px 244px;
  }
  article.yamashita section .text_synergy p {
    font-size: 1.125rem;
    line-height: 2;
    padding-right: 40px;
  }
}

/* --------------------------------------------------
	14. NEWS&TOPICS
-------------------------------------------------- */
body.news #primary .page_title .image {
  background-image: url(news/images/bg_title.jpg);
}

article.news_index .pagination li {
  font-size: 0.9375rem;
}

article.news_index .pagination li > a,
article.news_index .pagination li > span {
  width: 55px;
  border: 1px solid #898989;
  border-radius: 60px;
}

article.news_index .pagination li > a {
  color: #fff;
  text-decoration: underline;
  background-color: #898989;
  padding: 16px;
  margin: 4px 10px;
}

article.news_index .pagination li > span {
  background-color: #006bad;
  border-color: #006bad;
  padding: 16px;
  margin: 4px 10px;
}

article.news_index .pagination li.list > a {
  padding: 14px 22px;
}

article.news_index .pagination li.next a, article.news_index .pagination li.prev a {
  padding: 16px 30px;
  color: #fff;
  background-color: #898989;
  width: inherit;
  height: inherit;
  background-image: none;
  text-indent: 0;
  font-size: 0.9375rem;
}

article.news_detail .detail h3 {
  padding: 0;
  border-left: none;
}

article.news_detail .detail h5 {
  text-align: left;
}

article.news_detail .detail .date {
  color: #002868;
  font-size: 0.875rem;
  margin-bottom: 2em;
}

article.news_detail .detail .box_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

article.news_detail .detail .cat_list {
  margin-bottom: 2em;
}

article.news_detail .detail .cat_list a {
  background-color: #006bad;
}

article.news_detail .detail .content {
  margin-bottom: 5em;
}

article.news_detail .detail .content::after {
  display: block;
  content: "";
  clear: both;
}

article.news_detail .detail .content h1 {
  font-size: 1.75rem;
}

article.news_detail .detail .content h2 {
  font-size: 1.5rem;
}

article.news_detail .detail .content h4 {
  padding: 0.25em 1em;
  background: #006bad;
  font-size: 1.125rem;
  color: #fff;
}

article.news_detail .detail .content h5 {
  font-size: 1.125rem;
  border-bottom: 1px solid #006bad;
  margin-bottom: 0.5em;
}

article.news_detail .detail .content h6 {
  border-bottom: 1px dashed #0c1532;
  margin-bottom: 0.5em;
}

article.news_detail .detail .content p {
  min-height: 1.8em;
}

article.news_detail .detail .content img {
  height: auto !important;
}

article.news_detail .detail .content img.aligncenter {
  display: block;
  margin: 0 auto;
}

article.news_detail .detail .content img.alignright {
  float: right;
}

article.news_detail .detail .content img.alignleft {
  float: left;
}

article.news_detail .detail .content em {
  font-style: italic;
}

article.news_detail .detail .content blockquote {
  position: relative;
  background-color: #eeeeee;
  padding: 1em 1.5em;
  margin: 1em auto;
}

article.news_detail .detail .content blockquote::before {
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 10px;
  content: "“";
  font-size: 1.75rem;
  color: #cfcfcf;
  line-height: 1;
}

article.news_detail .detail .content table {
  margin: 2em auto;
  background-color: #fff;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}

article.news_detail .detail .content table th,
article.news_detail .detail .content table td {
  border-left: 1px solid #000;
  border-top: 1px solid #000;
}

article.news_detail .detail .content table th {
  color: #000;
  text-align: center;
  font-weight: bold;
  background-color: #c0e2e3;
}

article.news_detail .detail .content ul li {
  margin-left: 1.5em;
  list-style: circle;
}

article.news_detail .detail .content ol {
  padding-left: 1.5em;
  list-style: decimal;
}

article.news_detail .detail .return {
  margin: 3em auto;
  text-align: center;
}

article.news_detail .detail .return a {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  padding: .85em 2em .85em;
  min-width: 354px;
  color: #fff !important;
  font-size: 1.125rem;
  font-weight: bold;
  text-decoration: underline;
  text-align: center;
  background-color: #898989;
  border: 1px solid #898989;
  border-radius: 2em;
}

article.news_detail .detail .return a::before {
  display: inline-block;
  vertical-align: middle;
  content: "←";
  margin: 0 5px;
}

@media all and (min-width: 740px) {
  article.news_index .pagination a {
    -webkit-transition: color 0.4s, background-color 0.4s, border-color 0.4s;
    transition: color 0.4s, background-color 0.4s, border-color 0.4s;
  }
  article.news_index .pagination a:hover {
    color: #fff;
    background-color: #006bad;
    border-color: #006bad;
  }
  article.news_index .pagination li.next a, article.news_index .pagination li.prev a {
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
  article.news_index .pagination li.next a:hover, article.news_index .pagination li.prev a:hover {
    background-color: #006bad;
    border-color: #006bad;
  }
  article.news_detail .detail .inner {
    margin: 0 auto;
    padding: 0 2.5em !important;
    max-width: 1000px !important;
  }
  article.news_detail .detail .content table {
    max-width: calc(1000px - 2.5em * 2) !important;
  }
  article.news_detail .detail .return {
    text-align: center;
  }
  article.news_detail .detail .return a {
    -webkit-transition: border-color 0.4s, background-color 0.4s;
    transition: border-color 0.4s, background-color 0.4s;
  }
  article.news_detail .detail .return a:hover {
    background-color: #006bad;
    border-color: #006bad;
  }
}

@media all and (min-width: 960px) {
  body.news #header .global_menu .nav .news a {
    color: #2357c9;
    border-color: #2357c9;
  }
}

@media all and (min-width: 740px) and (max-width: 959px) {
  article.news_detail .detail .content table {
    width: 100% !important;
  }
}

@media all and (max-width: 959px) {
  body.news #header .global_menu .nav .news a {
    color: #002868;
    border-color: #002868;
  }
}

@media only screen and (max-width: 739px) {
  article.news_index .pagination li > a,
  article.news_index .pagination li > span {
    width: 40px;
  }
  article.news_index .pagination li > a {
    padding: 10px;
    margin: 4px;
  }
  article.news_index .pagination li > span {
    padding: 10px;
    margin: 4px;
  }
  article.news_index .pagination li.list > a {
    padding: 10px;
  }
  article.news_index .pagination li.next a, article.news_index .pagination li.prev a {
    padding: 10px;
  }
  article.news_detail .detail .content table {
    width: 100% !important;
  }
  article.news_detail .detail .content img {
    height: auto !important;
  }
  article.news_detail .detail .content img.aligncenter, article.news_detail .detail .content img.alignright, article.news_detail .detail .content img.aligncenter {
    display: block;
    margin: 0 auto;
    float: none;
  }
  article.news_detail .detail .return {
    margin: 3em auto;
    text-align: center;
  }
  article.news_detail .detail .return a {
    padding: .7em 2em .7em;
    min-width: inherit;
    max-width: 100%;
    width: 320px;
  }
}

/* --------------------------------------------------
	15. VOICE
-------------------------------------------------- */
body.voice #primary .page_title .image {
  background-image: url(voice/images/bg_title.jpg);
}

article.voice section .voice_focus {
  border-radius: 5px;
  background-color: #ebeef2;
}

article.voice section .voice_focus .text {
  font-size: 0.9375rem;
}

article.voice section .voice_focus .title {
  color: #000;
  margin-bottom: 1em;
  font-weight: bold;
  font-size: 1.0625rem;
}

article.voice section .voice_focus .text_bottom {
  margin-top: 1em;
  font-weight: bold;
  font-size: 0.9375rem;
}

article.voice_index section .list_voice > li {
  padding: 1em 0;
  border-bottom: 1px solid #353535;
}

article.voice_index section .list_voice a {
  width: 100%;
  color: #000;
  display: inline-block;
  text-decoration: none;
}

article.voice_index section .list_voice .image img {
  width: 100%;
}

article.voice_index section .list_voice .no {
  color: #006bad;
  font-weight: 500;
  display: block;
  margin-bottom: .3em;
}

article.voice_index section .list_voice .title {
  color: #002868;
  font-weight: 500;
}

article.voice_index section .list_voice .date {
  color: #006bad;
  font-size: 0.875rem;
  margin-bottom: .5em;
  letter-spacing: 0.05em;
}

article.voice_index section .list_voice p {
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
}

@media all and (min-width: 740px) {
  article.voice section .voice_focus {
    margin-top: 10em;
    padding: 3em;
  }
  article.voice section .voice_focus::after {
    display: block;
    content: "";
    clear: both;
  }
  article.voice section .voice_focus .text {
    float: left;
    width: calc(100% - 350px - 3em);
  }
  article.voice section .voice_focus .image {
    width: 350px;
    float: right;
  }
  article.voice_index section .list_voice a {
    padding-right: 50px;
    position: relative;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  article.voice_index section .list_voice a::after {
    display: block;
    content: "";
    clear: both;
  }
  article.voice_index section .list_voice a:hover {
    opacity: .7;
  }
  article.voice_index section .list_voice a:after {
    top: 50%;
    right: 10px;
    content: "";
    width: 15px;
    height: 10px;
    margin-top: -5px;
    position: absolute;
    background: transparent url(image/icon_arrow_gray.png) no-repeat center center;
    background-size: contain;
  }
  article.voice_index section .list_voice a .image {
    width: 325px;
    float: left;
  }
  article.voice_index section .list_voice a .text {
    float: right;
    width: calc(100% - 325px - 4.3em);
    margin-left: 4.3em;
    padding: .7em 0;
  }
  article.voice_index section .list_voice .no {
    font-size: 1.1875rem;
  }
  article.voice_index section .list_voice .title {
    font-size: 1.625rem;
  }
}

@media all and (min-width: 960px) {
  body.voice #header .global_menu .nav .voice a {
    color: #2357c9;
    border-color: #2357c9;
  }
}

@media all and (min-width: 740px) and (max-width: 959px) {
  article.voice_index section .list_voice a .image {
    width: 260px;
  }
  article.voice_index section .list_voice a .text {
    width: calc(100% - 260px - 2em);
    margin-left: 2em;
  }
}

@media all and (max-width: 959px) {
  body.voice #header .global_menu .nav .voice a {
    color: #002868;
    border-color: #002868;
  }
}

@media only screen and (max-width: 739px) {
  article.voice section .voice_focus {
    margin-top: 5em;
    padding: 2em;
  }
  article.voice section .voice_focus .text {
    width: 100%;
    margin-top: 2em;
  }
  article.voice section .voice_focus .image {
    width: 100%;
  }
  article.voice_index section .list_voice a .image {
    margin-bottom: 20px;
  }
  article.voice_index section .list_voice a .text {
    width: 100%;
  }
  article.voice_index section .list_voice .no {
    font-size: 1.0625rem;
  }
  article.voice_index section .list_voice .title {
    font-size: 1.5rem;
    position: relative;
    padding-right: 50px;
  }
  article.voice_index section .list_voice .title:after {
    top: 50%;
    right: 10px;
    content: "";
    width: 15px;
    height: 10px;
    margin-top: -5px;
    position: absolute;
    background: transparent url(image/icon_arrow_gray.png) no-repeat center center;
    background-size: contain;
  }
}

/* --------------------------------------------------
	16. CUSTOMER PROFILE
-------------------------------------------------- */
body.customer #primary .page_title .image {
  background-image: url(customer/images/bg_title.jpg);
}

article.customer .customer_frame {
  border-radius: 5px;
  background-color: #ebeef2;
}

article.customer .customer_frame .ttl_customer {
  color: #353535;
  font-size: 0.9375rem;
  text-align: center;
}

article.customer .customer_frame .ttl_customer.ttl_detail {
  color: #002868;
  font-size: 1.5rem;
  margin-bottom: 10px;
}

article.customer .list_customer a {
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  border-radius: 5px;
  text-decoration: none;
  display: inline-block;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
  box-shadow: 0px 0px 17.2px 0px rgba(0, 0, 0, 0.28);
  -webkit-transition: all .2s linear;
  transition: all .2s linear;
}

article.customer .list_customer .image {
  position: relative;
  overflow: hidden;
  padding-top: 62.5%;
}

article.customer .list_customer .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

article.customer .list_customer .title {
  color: #002868;
  font-size: 1.125rem;
}

article.customer .list_customer p {
  color: #353535;
  font-size: 0.75rem;
}

article.customer section.detail .profile_frame {
  margin-bottom: 2em;
}

article.customer section.detail .customer_slider.slider-for img, article.customer section.detail .customer_slider.slider-nav img {
  width: 100%;
}

article.customer section.detail .customer_slider.slider-nav {
  margin-top: 2%;
  margin-left: -2%;
  margin-right: -2%;
}

article.customer section.detail .customer_slider.slider-nav .slider_item {
  padding: 2%;
  cursor: pointer;
}

article.customer section.detail .pager {
  margin: 2em 0;
}

article.customer_index section .search_box {
  text-align: center;
}

article.customer_index section .search_box .title {
  font-size: 1.4375rem;
  text-align: center;
  margin-bottom: .5em;
}

article.customer_index section .search_box .search {
  position: relative;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}

article.customer_index section .search_box .search input[type="search"] {
  color: #474747;
  font-size: 1rem;
  display: block;
  margin: 10px auto;
  width: 100%;
  padding: 15px 50px 15px 20px;
  border: none;
  background-color: #e8e8e8;
  border-radius: 25px;
  outline: 0;
}

article.customer_index section .search_box .search input[type="submit"] {
  position: absolute;
  top: 30%;
  right: 10px;
  width: 40px;
  height: 40px;
  margin-top: -9px;
  position: absolute;
  background: transparent url(customer/images/icon_search.png) no-repeat center center;
  background-size: 18px 18px;
  font-size: 0;
  text-decoration: none;
  white-space: nowrap;
  border: none;
  cursor: pointer;
  outline: none;
}

article.customer_index section .departments_location .title {
  font-size: 1.4375rem;
  text-align: center;
  margin-bottom: .5em;
}

article.customer_index section .departments_location .box {
  width: 100%;
  border-radius: 5px;
  padding: 20px;
  background-color: #fff;
  border: 6px solid #ebeef2;
}

article.customer_index section .departments_location .list_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-left: -2px;
  margin-right: -2px;
}

article.customer_index section .departments_location .list_btn li {
  padding: 10px 2px;
}

article.customer_index section .departments_location .list_btn a {
  color: #fff;
  width: 130px;
  padding: 3px 5px;
  font-size: 0.9375rem;
  border-radius: 3em;
  text-align: center;
  display: inline-block;
  text-decoration: underline;
  background-color: #898989;
}

article.customer_index section .departments_location .list_btn a.btn_blue {
  background-color: #002868;
}

article.customer_index section .departments_location .list_btn a.fz13 {
  font-size: 0.8125rem;
}

@media all and (min-width: 740px) {
  article.customer .customer_frame {
    margin-top: 200px;
    padding: 15px 0 20px;
  }
  article.customer .list_customer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  article.customer .list_customer > li {
    width: 33.33333%;
    padding: 30px;
  }
  article.customer .list_customer .text {
    padding: 1em 1em 1.7em;
  }
  article.customer_index section .departments_location {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-left: -15px;
    margin-right: -15px;
  }
  article.customer_index section .departments_location > li {
    width: 50%;
    padding: 10px 15px;
  }
  article.customer_index section .departments_location .box {
    height: calc(100% - 53px);
  }
  article.customer_index section .customer_frame {
    margin-top: 40px;
    padding: 30px 0 70px;
  }
}

@media all and (min-width: 960px) {
  body.customer #header .global_menu .nav .customer a {
    color: #2357c9;
    border-color: #2357c9;
  }
}

@media all and (max-width: 959px) {
  body.customer #header .global_menu .nav .customer a {
    color: #002868;
    border-color: #002868;
  }
  article.customer .list_customer > li {
    width: 50%;
    padding: 20px;
  }
}

@media only screen and (max-width: 739px) {
  article.customer .customer_frame {
    margin-top: 100px;
    padding: 20px 0;
  }
  article.customer .list_customer > li {
    width: 100%;
    padding: 15px 0;
  }
  article.customer .list_customer .text {
    padding: 1em 1em 1.7em;
  }
  article.customer_index section .search_box .search {
    max-width: 320px;
  }
  article.customer_index section .departments_location {
    display: block;
  }
  article.customer_index section .departments_location > li {
    width: 100%;
    padding: 20px 0;
  }
  article.customer_index section .departments_location .box {
    border-width: 3px;
  }
  article.customer_index section .departments_location .list_btn li {
    padding: 5px 2px;
    width: 50%;
  }
  article.customer_index section .departments_location .list_btn a {
    width: 100%;
  }
  article.customer_index section .customer_frame {
    margin-top: 40px;
    padding: 20px 0;
  }
}

/* --------------------------------------------------
	17. AGREEMENT
-------------------------------------------------- */
body.agreement #primary .page_title .image {
  background-image: url(images/agreement/bg_title.jpg);
}

body.agreement #footer .nav .agreement a {
  color: #2357c9;
}

article.agreement .basic_dl {
  font-size: 0.9375rem;
}

article.agreement .basic_dl dt {
  color: #006bad;
  letter-spacing: 0.1em;
}

article.agreement .basic_dl > dd {
  margin-left: 0;
  margin-bottom: 2.2em;
}

article.agreement .basic_dl > dd .basic_ol > li ol {
  margin: .8em 0 .8em 1.75em;
  list-style: none;
  counter-reset: li;
}

article.agreement .basic_dl > dd .basic_ol > li ol > li {
  padding-left: .25em;
  counter-increment: li;
}

article.agreement .basic_dl > dd .basic_ol > li ol > li::before {
  content: "(" counter(li) ")";
  color: #000;
  display: inline-block;
  width: 1.5em;
  margin-left: -2em;
  margin-right: .75em;
  text-align: right;
  direction: rtl;
}

@media all and (min-width: 960px) {
  body.agreement #header .sub_menu .sub_menu_list .agreement a {
    color: #2357c9;
  }
}

@media all and (max-width: 959px) {
  body.agreement #header .sub_menu .sub_menu_list .agreement a {
    color: #002868;
  }
  body.agreement #header .sub_menu .sub_menu_list .agreement a::before {
    background-color: #002868;
  }
}

/* --------------------------------------------------
	18. FAQ
-------------------------------------------------- */
body.faq #primary .page_title .image {
  background-image: url(images/faq/bg_title.jpg);
}

body.faq #footer .nav .faq a {
  color: #2357c9;
}

article.faq .faq_dl {
  max-width: 940px;
  margin: 0 auto;
}

article.faq .faq_dl dt {
  color: #006bad;
  font-size: 1.0625rem;
  font-weight: bold;
  padding: 5px 45px;
}

article.faq .faq_dl dt:before {
  top: 9px;
  left: 10px;
  content: "Q.";
  font-size: 1.0625rem;
}

article.faq .faq_dl dd {
  font-size: 0.9375rem;
  padding: 20px 65px;
  background-color: #f4f4f4;
  margin-bottom: 3.5em;
}

article.faq .faq_dl dd:before {
  content: "A.";
  left: 30px;
  top: 25px;
  font-size: 0.9375rem;
}

article.faq .faq_dl dt,
article.faq .faq_dl dd {
  position: relative;
}

article.faq .faq_dl dt:before,
article.faq .faq_dl dd:before {
  width: 20px;
  line-height: 1.3;
  position: absolute;
}

@media all and (min-width: 960px) {
  body.faq #header .sub_menu .sub_menu_list .faq a {
    color: #2357c9;
  }
}

@media all and (max-width: 959px) {
  body.faq #header .sub_menu .sub_menu_list .faq a {
    color: #002868;
  }
  body.faq #header .sub_menu .sub_menu_list .faq a::before {
    background-color: #002868;
  }
}

@media only screen and (max-width: 739px) {
  article.faq .faq_dl dt {
    padding: 5px 40px;
  }
  article.faq .faq_dl dt:before {
    top: 8px;
    left: 5px;
  }
  article.faq .faq_dl dd {
    padding: 15px 50px;
    margin-bottom: 2em;
  }
  article.faq .faq_dl dd:before {
    left: 20px;
    top: 18px;
  }
}

/* --------------------------------------------------
	19. SITE MAP
-------------------------------------------------- */
body.sitemap #primary .page_title .image {
  background-image: url(images/sitemap/bg_title.jpg);
}

body.sitemap #footer .nav .sitemap a {
  color: #2357c9;
}

article.sitemap .sitemap .sitemap_wrap {
  max-width: 1040px;
  margin: 0 auto;
}

article.sitemap .sitemap .nav_item a {
  white-space: nowrap;
  color: #000;
  display: block;
  text-decoration: none;
}

article.sitemap .sitemap .nav_item a[target="_blank"]::after, article.sitemap .sitemap .nav_item a[href^="https"]::after {
  margin-bottom: 4px;
}

article.sitemap .sitemap .nav_item > li > a {
  width: 200px;
  font-weight: bold;
  border-bottom: 1px solid #606060;
}

article.sitemap .sitemap .nav_item a + ul {
  margin-top: 20px;
}

article.sitemap .sitemap .nav_item ul a {
  font-weight: normal;
  font-size: 0.9375rem;
}

article.sitemap .sitemap .nav_item ul a:before {
  content: "";
  width: 7px;
  height: 2px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  background-color: #000;
}

@media all and (min-width: 740px) {
  article.sitemap .sitemap .sitemap_wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  article.sitemap .sitemap .nav_item {
    padding: 0 20px;
  }
  article.sitemap .sitemap .nav_item > li {
    padding: 20px 0;
  }
  article.sitemap .sitemap .nav_item > li > a {
    -webkit-transition: color 0.4s, border-color 0.4s;
    transition: color 0.4s, border-color 0.4s;
  }
  article.sitemap .sitemap .nav_item > li > a:hover {
    color: #2357c9;
    border-color: #2357c9;
  }
  article.sitemap .sitemap .nav_item ul li {
    padding: 8px 0;
  }
  article.sitemap .sitemap .nav_item ul a {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  article.sitemap .sitemap .nav_item ul a:hover {
    color: #2357c9;
  }
  article.sitemap .sitemap .nav_item ul a:hover::before {
    background-color: #2357c9;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
}

@media all and (min-width: 960px) {
  body.sitemap #header .sub_menu .sub_menu_list .sitemap a {
    color: #2357c9;
  }
}

@media all and (min-width: 740px) and (max-width: 959px) {
  article.sitemap .sitemap .sitemap_wrap {
    margin-left: -20px;
    margin-right: -20px;
  }
  article.sitemap .sitemap .nav_item {
    width: 50%;
  }
}

@media all and (max-width: 959px) {
  body.sitemap #header .sub_menu .sub_menu_list .sitemap a {
    color: #002868;
  }
  body.sitemap #header .sub_menu .sub_menu_list .sitemap a::before {
    background-color: #002868;
  }
}

@media only screen and (max-width: 739px) {
  article.sitemap .sitemap .nav_item {
    width: 100%;
  }
  article.sitemap .sitemap .nav_item > li {
    padding: 10px 0;
  }
  article.sitemap .sitemap .nav_item > li > a {
    width: inherit;
  }
  article.sitemap .sitemap .nav_item ul li {
    padding: 5px 0;
  }
}

/* --------------------------------------------------
	20. MANAGEMENT SUPPORT
-------------------------------------------------- */
body.management #primary .page_title .image {
  background-image: url(images/management/bg_title.jpg);
}

article.management .table_management {
  margin: 4em 0;
  overflow: hidden;
  border-radius: 5px;
  -webkit-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.28);
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.28);
}

article.management .table_management dt {
  color: #fff;
  text-align: center;
  vertical-align: middle;
  background-color: #006bad;
}

article.management .table_management dt strong,
article.management .table_management dt span {
  display: block;
}

article.management .table_management dt span {
  font-size: 0.75rem;
}

article.management .table_management dd {
  background-color: #fff;
}

article.management .table_management dd .title {
  color: #006bad;
  font-size: 1.3125rem;
  margin-bottom: 1em;
}

article.management .table_management dd p {
  font-size: 0.9375rem;
}

article.management .management_data {
  margin: 3em 0;
}

article.management .management_data li {
  border: 1px solid #000;
}

article.management .list_management .box {
  width: 100%;
  border-radius: 5px;
  padding: 20px;
  border: 1px solid #282828;
}

article.management .list_management .title {
  color: #002868;
  text-align: center;
  margin-bottom: .5em;
  padding-bottom: 5px;
  border-bottom: 1px solid #000;
}

article.management .list_management .title img {
  height: 40px;
  display: block;
  margin: 0 auto 10px;
}

article.management .list_management p {
  font-size: 0.875rem;
}

@media all and (min-width: 740px) {
  article.management .table_management {
    display: table;
  }
  article.management .table_management dt, article.management .table_management dd {
    display: table-cell;
  }
  article.management .table_management dt {
    width: 206px;
    padding: 20px;
  }
  article.management .table_management dt strong {
    font-size: 1.875rem;
  }
  article.management .table_management dd {
    padding: 50px;
  }
  article.management .management_data {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  article.management .management_data li {
    width: 32%;
    margin: 0 .5%;
  }
  article.management .list_management {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  article.management .list_management li {
    width: 33.33333%;
    padding: 10px;
  }
  article.management .list_management .box {
    height: 100%;
    min-height: 310px;
  }
  article.management .list_management .title {
    font-size: 1.375rem;
  }
}

@media all and (min-width: 960px) {
  body.management #header .global_menu .nav .management a {
    color: #2357c9;
    border-color: #2357c9;
  }
}

@media all and (max-width: 959px) {
  body.management #header .global_menu .nav .management a {
    color: #002868;
    border-color: #002868;
  }
}

@media only screen and (max-width: 739px) {
  article.management .table_management {
    display: block;
  }
  article.management .table_management dt, article.management .table_management dd {
    width: 100%;
  }
  article.management .table_management dt {
    padding: 10px 20px;
  }
  article.management .table_management dt strong {
    font-size: 1.625rem;
  }
  article.management .table_management dd {
    padding: 20px;
  }
  article.management .management_data {
    display: block;
  }
  article.management .management_data li {
    width: 100%;
    margin: 10px 0;
  }
  article.management .list_management {
    display: block;
  }
  article.management .list_management li {
    width: 100%;
    padding: 10px 0;
  }
  article.management .list_management .box {
    width: 100%;
  }
  article.management .list_management .title {
    font-size: 1.25rem;
  }
}

/* --------------------------------------------------
	21. CONTACT US
-------------------------------------------------- */
body.contact #primary .page_title .image {
  background-image: url(contact/images/bg_title.jpg);
}

article.contact section .form {
  max-width: 807px;
  margin: 0 auto;
}

article.contact section .form p {
  font-size: 0.9375rem;
}

article.contact section .dl_contact {
  color: #000;
  margin: 4em auto 2em;
}

article.contact section .dl_contact dt, article.contact section .dl_contact dd {
  width: 100%;
}

article.contact section .dl_contact dt {
  font-size: 1.0625rem;
  font-weight: bold;
  padding: 5px 0;
}

article.contact section .dl_contact dd {
  font-size: 0.9375rem;
  margin-bottom: 35px;
  padding: 13px 18px;
  border: 1px solid #3f3f3f;
}

article.contact section form .essential {
  color: #fff;
  position: relative;
  padding: 1px 9px;
  line-height: 1.3;
  display: inline-block;
  vertical-align: middle;
  margin: auto 0 auto 10px;
  font-size: 0.75rem;
  background-color: #bf0000;
}

article.contact section form .checkmark {
  left: 0;
  top: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  position: absolute;
  background-color: #f4f4f4;
  border: 1px solid #3f3f3f;
}

article.contact section form .label_check {
  display: inline-block;
  position: relative;
  margin-top: 5px;
  margin-right: 8%;
  padding-left: 35px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

article.contact section form .label_check input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

article.contact section form .label_check input:checked ~ .checkmark {
  border-width: 6px;
}

article.contact section form p {
  width: 100%;
  letter-spacing: .02em;
  color: #bf0000;
  display: none;
  margin-top: 5px;
  font-size: 0.875rem;
  min-height: inherit;
  position: relative;
  padding-left: 15px;
}

article.contact section form p:before {
  top: 7px;
  left: 0;
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 10px;
  margin: auto 5px auto 0;
  position: absolute;
  background-color: #bf0000;
}

article.contact section form .select_inquiry {
  width: 360px;
  max-width: 100%;
  position: relative;
}

article.contact section form .select_inquiry:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  border-top: 11px solid #323232;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  right: 18px;
  top: 24px;
}

article.contact section form .select_inquiry select {
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  position: relative;
  z-index: 1;
  margin: 0;
}

article.contact section form .select_inquiry select::-ms-expand {
  display: none;
}

article.contact section form .agree_check {
  margin-top: 2em;
}

article.contact section form .agree_check input[type=checkbox] {
  display: none;
}

article.contact section form .agree_check input[type=checkbox]:checked + label:after {
  opacity: 1;
}

article.contact section form .agree_check label {
  width: auto;
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 30px;
}

article.contact section form .agree_check label::before {
  border: 1.5px solid #323232;
  width: 20px;
  height: 20px;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #3f3f3f;
  background-color: #f4f4f4;
}

article.contact section form .agree_check label:after {
  width: 6px;
  height: 10px;
  border-right: 3px solid #323232;
  border-bottom: 3px solid #323232;
  left: 7px;
  top: 8px;
  content: "";
  display: block;
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  opacity: 0;
}

article.contact h2 {
  margin-bottom: 2.5em;
}

article.contact .flow_nav {
  margin: 4.7em auto 3.5em;
}

article.contact .flow_nav .step_ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  max-width: 700px;
  margin: 0 auto;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
}

article.contact .flow_nav .step_ul:before {
  top: 25px;
  left: 50%;
  z-index: -1;
  content: "";
  height: 1px;
  width: calc(100% - 200px);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  position: absolute;
  background-color: #606060;
}

article.contact .flow_nav .step_ul li {
  padding: 0 20px;
  text-align: center;
  font-size: 0.9375rem;
  width: 33.33333%;
}

article.contact .flow_nav .step_ul span {
  display: block;
  color: #999999;
  margin: 0 auto;
}

article.contact .flow_nav .step_ul span.step {
  color: #fff;
  width: 50px;
  line-height: 50px;
  min-width: 50px;
  height: 50px;
  text-align: center;
  border-radius: 50%;
  margin-bottom: 5px;
  background-color: #999999;
  font-size: 1.375rem;
}

article.contact_index .contact .flow_nav .step_ul li:nth-child(1) span {
  color: #002868;
}

article.contact_index .contact .flow_nav .step_ul li:nth-child(1) span.step {
  color: #fff;
  background-color: #006bad;
}

article.contact_index .contact form .dl_contact dd {
  padding: 0;
  border: none;
}

article.contact_index .contact form .dl_contact dd.error input,
article.contact_index .contact form .dl_contact dd.error textarea,
article.contact_index .contact form .dl_contact dd.error select {
  background-color: #ffdcdc;
}

article.contact_index .contact form .dl_contact dd.error p {
  display: inline-block !important;
}

article.contact_index .contact form .dl_contact dd.error .checkmark {
  background-color: #ffdcdc;
}

article.contact_index .contact form .dl_contact input,
article.contact_index .contact form .dl_contact textarea,
article.contact_index .contact form .dl_contact select {
  width: 100%;
  color: #333;
  font-size: 0.9375rem;
  padding: 18px;
  margin: 0;
  border-radius: 0;
  border: 1px solid #3f3f3f;
  background-color: #f4f4f4;
}

article.contact_index .contact form .dl_contact input::-webkit-input-placeholder, article.contact_index .contact form .dl_contact textarea::-webkit-input-placeholder, article.contact_index .contact form .dl_contact select::-webkit-input-placeholder {
  color: #8e8e8e;
}

article.contact_index .contact form .dl_contact input::-moz-placeholder, article.contact_index .contact form .dl_contact textarea::-moz-placeholder, article.contact_index .contact form .dl_contact select::-moz-placeholder {
  color: #8e8e8e;
}

article.contact_index .contact form .dl_contact input:-ms-input-placeholder, article.contact_index .contact form .dl_contact textarea:-ms-input-placeholder, article.contact_index .contact form .dl_contact select:-ms-input-placeholder {
  color: #8e8e8e;
}

article.contact_index .contact form .dl_contact input::-ms-input-placeholder, article.contact_index .contact form .dl_contact textarea::-ms-input-placeholder, article.contact_index .contact form .dl_contact select::-ms-input-placeholder {
  color: #8e8e8e;
}

article.contact_index .contact form .dl_contact input::placeholder,
article.contact_index .contact form .dl_contact textarea::placeholder,
article.contact_index .contact form .dl_contact select::placeholder {
  color: #8e8e8e;
}

article.contact_index .contact form .dl_contact textarea {
  min-height: 193px;
}

article.contact_index .contact form .error label::before {
  background-color: #ffdcdc;
}

article.contact_confirm .contact_confirm .flow_nav .step_ul li:nth-child(2) span {
  color: #002868;
}

article.contact_confirm .contact_confirm .flow_nav .step_ul li:nth-child(2) span.step {
  color: #fff;
  background-color: #006bad;
}

article.contact_confirm .contact_confirm .transmission input[type="button"] {
  background-color: #006bad;
}

article.contact_complete .contact_complete .flow_nav .step_ul li:nth-child(3) span {
  color: #002868;
}

article.contact_complete .contact_complete .flow_nav .step_ul li:nth-child(3) span.step {
  color: #fff;
  background-color: #006bad;
}

@media all and (min-width: 740px) {
  article.contact_index .contact_index .basic_table {
    margin-top: 4.5em;
  }
  article.contact_index .contact_index .basic_table td {
    padding-right: 55px;
  }
  article.contact_index .contact_index .list_input {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  article.contact_index .contact_index .list_input input {
    margin-left: 20px;
    width: 47%;
  }
  article.contact_index .contact_index .list_input input:first-child {
    margin-left: 0;
  }
}

@media only screen and (max-width: 739px) {
  article.contact .basic_table th {
    min-width: 110px;
  }
  article.contact .flow_nav {
    max-width: 250px;
  }
  article.contact .flow_nav .step_ul {
    margin-left: -10px;
    margin-right: -10px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  article.contact .flow_nav .step_ul:before {
    top: 15px;
    width: calc(100% - 80px);
  }
  article.contact .flow_nav .step_ul li {
    padding: 0 10px;
    width: inherit;
  }
  article.contact .flow_nav .step_ul span {
    font-size: 0.8125rem;
  }
  article.contact .flow_nav .step_ul span.step {
    width: 30px;
    line-height: 30px;
    min-width: 30px;
    height: 30px;
    font-size: 1.125rem;
  }
  article.contact_index .contact_index .basic_table td {
    padding: 20px 10px;
  }
  article.contact_index .contact_index .list_input {
    display: block;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  article.contact_index .contact_index .list_input input {
    margin-left: 0;
    width: 100%;
    margin-bottom: 10px;
  }
  article.contact_index .contact_index .agree_box {
    padding: 20px 20px;
  }
  article.contact_index .contact_index .agree_box h4 {
    font-size: 1.25rem;
  }
  article.contact_index .contact_index textarea {
    margin: 0;
  }
}

/* --------------------------------------------------
	22. YOUR BEST PARTNER
-------------------------------------------------- */
body.partner #primary .page_title .image {
  background-image: url(images/partner/bg_title.jpg);
}

article.partner .partner .your_partner .title {
  color: #006bad;
  line-height: 1.5;
  font-size: 2.0625rem;
  text-align: center;
  margin-bottom: 1em;
}

article.partner .partner .your_partner ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 1440px;
  padding: 0 20px;
  margin: 0 auto;
}

article.partner .partner .your_partner ul li {
  width: 20%;
}

article.partner .partner .profile {
  margin-top: 10em;
}

article.partner .partner .profile h3 {
  font-size: 2.25rem;
}

article.partner .partner .profile .partner_profile {
  margin-bottom: 80px;
  padding: 65px 0 80px;
  position: relative;
}

article.partner .partner .profile .partner_profile:before {
  top: 0;
  right: 0;
  z-index: -1;
  content: "";
  width: calc(50% + 600px);
  max-width: 100%;
  height: 100%;
  position: absolute;
  background: transparent url(images/partner/bg_partner.png) no-repeat top left;
  background-size: cover;
}

article.partner .partner .profile .partner_profile .image {
  text-align: right;
}

article.partner .partner .profile .partner_profile .ttl_division {
  color: #006bad;
  line-height: 1.5;
}

article.partner .partner .profile .partner_profile .name {
  font-size: 2.1875rem;
  margin-bottom: 20px;
  line-height: 1.3;
}

article.partner .partner .profile .partner_profile .name strong {
  color: #606060;
  font-size: 0.6875rem;
  margin-left: 15px;
}

article.partner .partner .profile .partner_profile .name p {
  font-size: 0.875rem;
  margin-top: 15px;
}

article.partner .partner .profile .partner_profile .birthday {
  color: #006bad;
  font-size: 0.9375rem;
}

article.partner .partner .profile .partner_profile .like_dl {
  margin-top: 20px;
  display: table;
  font-size: 0.9375rem;
  color: #006bad;
}

article.partner .partner .profile .partner_profile .like_dl dt, article.partner .partner .profile .partner_profile .like_dl dd {
  display: table-cell;
}

article.partner .partner .profile .partner_profile .like_dl dt:before {
  content: "";
  width: 15px;
  height: 15px;
  margin-right: 5px;
  display: inline-block;
  vertical-align: middle;
  background: transparent url(images/partner/icon_heart.png) no-repeat center center;
  background-size: contain;
}

article.partner .partner .profile .partner_profile .like_dl dd {
  padding-left: 20px;
}

article.partner .partner .profile .partner_profile .like_dl dd ul li {
  text-indent: -1.0em;
  padding-left: 1em;
}

article.partner .partner .profile .partner_profile .text_dl {
  margin: 40px 0 70px;
}

article.partner .partner .profile .partner_profile .text_dl dt {
  font-size: 1.1875rem;
  font-weight: bold;
}

article.partner .partner .profile .partner_profile .text_dl dd {
  font-size: 0.9375rem;
}

article.partner .partner .profile .partner_profile .item {
  margin-top: 50px;
}

article.partner .partner .profile .partner_profile .item .title_item {
  color: #006bad;
  line-height: 1.5;
  font-size: 1.0625rem;
  padding-bottom: 5px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1;
}

article.partner .partner .profile .partner_profile .item .title_item .circle {
  width: 78px;
  height: 78px;
  min-width: 78px;
  color: #fff;
  font-size: 0.9375rem;
  margin-right: 15px;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  vertical-align: middle;
  background-color: #006bad;
}

article.partner .partner .profile .partner_profile .item .title_item .circle span {
  font-size: 0.6875rem;
  display: block;
}

article.partner .partner .profile .partner_profile .item ul.list_item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-left: 10px;
  margin-top: -26px;
}

article.partner .partner .profile .partner_profile .item ul.list_item li {
  width: 50%;
  padding: 8px 8px;
}

article.partner .partner .profile .partner_profile .item ul.list_item.diff_col2 li {
  width: 50%;
}

article.partner .partner .profile .partner_profile .item ul.list_item.diff_col3 li {
  width: 33.33333%;
}

@media all and (min-width: 960px) {
  body.partner #header .global_menu .nav .partner a {
    color: #2357c9;
    border-color: #2357c9;
  }
  article.partner .partner .profile {
    margin-top: 10em;
  }
  article.partner .partner .profile .partner_profile {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  article.partner .partner .profile .partner_profile .image {
    width: 50%;
    padding-right: 50px;
  }
  article.partner .partner .profile .partner_profile .text {
    width: 50%;
    padding-right: 50px;
  }
  article.partner .partner .profile .partner_profile .text .box {
    max-width: 645px;
  }
}

@media all and (max-width: 959px) {
  body.partner #header .global_menu .nav .partner a {
    color: #002868;
    border-color: #002868;
  }
  article.partner .partner .profile {
    margin-top: 5em;
  }
  article.partner .partner .profile .partner_profile:before {
    background-position: center center;
  }
  article.partner .partner .profile .partner_profile .image,
  article.partner .partner .profile .partner_profile .text {
    width: 100%;
    padding: 0 20px;
  }
  article.partner .partner .profile .partner_profile .image {
    text-align: center;
    margin-bottom: 40px;
  }
  article.partner .partner .profile .partner_profile .text_dl {
    margin: 40px 0;
  }
  article.partner .partner .profile .partner_profile .item {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 739px) {
  article.partner .partner .your_partner .title {
    font-size: 1.5rem;
  }
  article.partner .partner .your_partner ul li {
    width: 50%;
  }
  article.partner .partner .profile {
    margin-top: 5em;
  }
  article.partner .partner .profile h3 {
    font-size: 1.875rem;
  }
  article.partner .partner .profile .partner_profile {
    padding: 30px 0;
  }
  article.partner .partner .profile .partner_profile .name {
    font-size: 1.8125rem;
  }
}
