/*
* SHUTOKO_MULTILINGUAL
* /main.css
*
*/
/* ------------------------
  Foundation
------------------------ */
html,
body {
	height: 100%;
}

*,
*:after,
*:before {
  box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
	line-height: inherit;
}

pre,
textarea {
	overflow: auto;
}

[hidden],
audio:not([controls]),
template {
	display: none;
}

details,
main,
summary {
	display: block;
}

input[type=number] {
	width: auto;
}

input[type=search] {
	border-radius: 0; 

	-webkit-appearance: none;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

progress {
	display: inline-block;
}
small {
  font-size: 75%;
}

sub,
sup {
	position: relative;
	vertical-align: baseline; 
	font-size: 75%;
	line-height: 0;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

textarea {
	resize: vertical;
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

img {
	border: 0; 
	max-width: 100%;
	height: auto;
}

button,
input,
select,
textarea {
	min-height: 1.5em;
	color: inherit;
	font-family: inherit; 
	font-weight: inherit;
	font-style: inherit;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer; 

	-webkit-appearance: button;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0; 
	border: 0;
}

input {
	line-height: normal;
}

code,
kbd,
pre,
samp {
	font-family: monospace,monospace;
}

ol,
ul {
	list-style: none;
}

select {
	   -moz-appearance: none;
	-webkit-appearance: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

fieldset {
	border: 0;
}

/* ------------------------
  Base Settings
------------------------ */
html {
  font-size: 6.25px;
  font-size: 0.625rem;
}
body {
  background-color: #fff;
  word-wrap: break-word;
  color: #333;
  font-family: "Source Sans Pro", sans-serif;
  line-height: 1.5;

  -webkit-font-smoothing: antialiased;
          font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  /* For Safari */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
          font-smoothing: antialiased;
}

a {
  text-decoration: none;
  color: #007b8e;

  -webkit-tap-highlight-color: transparent;
}
a:visited {
  color: #294c70;
}
a.is-hover {
  text-decoration: underline; 
  color: #126172;
}
a:active {
  text-decoration: none; 
  color: #007b8e;
}
a[href^="tel:"] {
  cursor: text; 
  text-decoration: none;
}

::-moz-selection {
	background-color: #294c70;
	color: #fff;
	text-shadow: none;
}

::selection {
	background-color: #294c70;
	color: #fff;
	text-shadow: none;
}

p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
	p {
    line-height: 1.5625;
  }
}

/* ------------------------
  utilities
------------------------ */
.is-hidden {
	display: none !important;
	visibility: hidden;
}

.is-invisible {
	visibility: hidden;
}

.u-clearfix {
	*zoom: 1;
}
.u-clearfix:after {
	clear: both;
}
.u-clearfix:before,
.u-clearfix:after {
	content: " ";
	display: table;
}

.u-bg-gray {
	background-color: #f4f4f4;
}

.u-border-top {
	border-top: 1px solid #dedede;
}

.u-align-center {
	text-align: center;
}

.u-v-center {
	display: -ms-flexbox;
	display: flex;
}

.u-v-center_box {
	display: -ms-inline-flexbox;
	display: inline-flex;
}

.u-v-center_inner {
	display: inline-block;
	width: 100%;

	-ms-flex-item-align: center;

	    -ms-grid-row-align: center;

	    align-self: center;
}

/* ------------------------
  Components
------------------------ */
.c-icon {
  display: block;
  margin: 0 auto;
  width: 1em;
  height: 1em; 
  background-repeat: no-repeat;
  background-size: 1em 1em;
  font-size: 40px;
  font-size: 4rem;
}

.c-icon-language {
  background-image: url(/en/img/common/icon_language_white.svg);
}

.c-icon-search {
  background-image: url(/en/img/common/icon_search_white.svg);
}

.c-icon-roadways {
  background-image: url(/en/img/common/icon_roadways_green.svg);
}

.c-icon-route {
  background-image: url(/en/img/common/icon_route_green.svg);
}

.c-icon-driving {
  background-image: url(/en/img/common/icon_driving_green.svg);
}

.c-icon-technology {
  background-image: url(/en/img/common/icon_technology_green.svg);
}

.c-icon-global {
  background-image: url(/en/img/common/icon_global_green.svg);
}

.c-icon-about {
  background-image: url(/en/img/common/icon_about_green.svg);
}

.c-icon-roadways-white {
  background-image: url(/en/img/common/icon_roadways_white.svg);
}

.c-icon-driving-white {
  background-image: url(/en/img/common/icon_driving_white.svg);
}

.c-icon-technology-white {
  background-image: url(/en/img/common/icon_technology_white.svg);
}

.c-icon-global-white {
  background-image: url(/en/img/common/icon_global_white.svg);
}

.c-icon-about-white {
  background-image: url(/en/img/common/icon_about_white.svg);
}

.c-btn {
  display: inline-block;
}
.c-btn > * {
  display: block;
  padding: 7px 20px;
  background-color: #007b8e; 
  color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
}
.c-btn > a {
  color: #fff;
}
.c-btn > a.is-hover {
  background-color: #126172;
}


/* ------------------------
  UI parts
------------------------ */
/* ------------------------
  UI parts / header
------------------------ */
.ui-header {
	z-index: 200; 
  background-color: #fff;
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
}
.ui-header .bg-black {
  display: none;
  opacity: 0.5;
  position: fixed;
	z-index: 100; 
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
}

.ui-g-logo {
  display: inline-block;
  position: relative;
	z-index: 110; 
  border-bottom: 1px solid #dedede;
  width: 100%;
  background-color: #fff;
}
@media print, screen and (min-width: 1024px) {
  .ui-g-logo {
    height: 151px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ui-g-logo {
    height: 100px;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-logo {
    display: block; 
    position: absolute;
		z-index: 113;
    width: 100%;
    height: 56px;
    background-color: #fff;
  }
}
.ui-g-logo .logo a {
  display: inline-block;
  vertical-align: top;
}
@media print, screen and (min-width: 1024px) {
  .ui-g-logo .logo a {
    margin-top: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ui-g-logo .logo a {
    margin-top: 16px;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-logo .logo a {
    margin-top: 7px;
  }
}
.ui-g-logo .logo .logo_img {
  display: block;
  margin: 0 auto;
}
@media print, screen and (min-width: 1024px) {
  .ui-g-logo .logo .logo_img {
		width: 56px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ui-g-logo .logo .logo_img {
    width: 40px;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-logo .logo .logo_img {
    width: 33px;
  }
}
.ui-g-logo .logo .logo_txt {
  display: block;
  margin: 0 auto;
}
@media print, screen and (min-width: 1024px) {
  .ui-g-logo .logo .logo_txt {
		margin-top: 4px; 
		width: 76px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ui-g-logo .logo .logo_txt {
    margin-top: 4px; 
		width: 54px;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-logo .logo .logo_txt {
    margin-top: 4px; 
		width: 44px;
  }
}
.ui-g-logo .msg {
  width: auto;
  background-repeat: no-repeat;
  background-position: 0 0;
}
@media print, screen and (min-width: 768px) {
  .ui-g-logo .msg img {
    margin: 10px auto 0 auto;
  }
}
@media print, screen and (min-width: 1024px) {
  .ui-g-logo .msg img {
    margin-top: 10px; 
    height: 12px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ui-g-logo .msg img {
    margin-top: 2px;
    height: 8px;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-logo .msg img {
    position: absolute;
    top: 17px;
    left: 15px;
    margin-top: 0; 
    width: auto;
    height: 20px;
  }
}

.ui-g-menu {
	z-index: 112; 
  width: 100%;
}
@media screen and (max-width: 767px) {
  .ui-g-menu {
    display: none;
    overflow-y: auto; 
    position: fixed;
    top: 0;
    left: 0;
    padding-top: 56px;
    padding-bottom: 32px;
    max-height: 100%;
    background-color: #fff;
  }
  .ui-g-menu.is-active {
    display: block;
    min-height: 100%;
  }
}
.ui-g-menu .main {
  position: relative;
	z-index: 122; 
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .ui-g-menu .main {
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: center;

        justify-content: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ui-g-menu .main {
    *zoom: 1;
  }
  .ui-g-menu .main:after {
    clear: both;
  }
  .ui-g-menu .main:before,
  .ui-g-menu .main:after {
    content: " ";
    display: table;
  }
}
@media screen and (max-width: 1023px) {
  .ui-g-menu .hitarea {
    display: none;
  }
}
@media print, screen and (min-width: 1024px) {
  .ui-g-menu .hitarea {
    position: absolute;
		z-index: 120; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.ui-g-menu .main-btn {
  display: inline-block;
  background-color: #fff; 
  vertical-align: top;
  line-height: 1;
}
@media print, screen and (min-width: 1024px) {
  .ui-g-menu .main-btn {
    width: 160px;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ui-g-menu .main-btn {
    width: 16.66666666%;
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 768px) {
	.ui-g-menu .main-btn .main-btn_link .c-link-blank-green {
		display: none;
	}
}
@media screen and (max-width: 767px) {
  .ui-g-menu .main-btn {
    position: relative;
    border-bottom: 1px solid #dedede;
    width: 100%;
    text-align: left;
    font-size: 1.6rem;
  }
  .ui-g-menu .main-btn .main-btn_link {
    display: inline-block;
    position: relative;
    padding-top: 20px;
    padding-bottom: 20px; 
    padding-left: 66px;
  }
  .ui-g-menu .main-btn .main-btn_link .c-icon {
    position: absolute;
    top: calc(50% - 20px); 
    left: 16px;
  }
  .ui-g-menu .main-btn .main-btn_link.is-hover {
    text-decoration: none;
  }
  .ui-g-menu .main-btn .main-btn_link.is-hover .name {
    text-decoration: underline;
  }
}
.ui-g-menu .main-btn > .main-btn_base {
  display: block;
  position: relative;
	z-index: 123; 
  padding-top: 8px;
  padding-right: 4px;
  padding-bottom: 12px;
  padding-left: 0;
  width: 100%;
  height: 100%;

  -webkit-tap-highlight-color: transparent;
}
.ui-g-menu .main-btn > .main-btn_base:focus {
	z-index: 124;
}
@media print, screen and (min-width: 768px) {
  .ui-g-menu .main-btn > .main-btn_base {
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-menu .main-btn > .main-btn_base {
    padding-top: 0;
    padding-right: 66px; 
    padding-bottom: 0;
    text-decoration: none;
    font-size: 1.9rem;
    line-height: 1.25;
  }
  .ui-g-menu .main-btn > .main-btn_base.is-hover {
    background-color: #f8feff;
  }
}
.ui-g-menu .main-btn > .main-btn_base .name {
  display: inline-block;
  vertical-align: middle;
  text-indent: 0;
  color: #007b8e;
}
.ui-g-menu .main-btn.is-active > .main-btn_base {
  background-color: #126172; 
  color: #fff;
}
.ui-g-menu .main-btn.is-active > .main-btn_base .c-icon-roadways {
  background-image: url(/en/img/common/icon_roadways_white.svg);
}
.ui-g-menu .main-btn.is-active > .main-btn_base .c-icon-route {
  background-image: url(/en/img/common/icon_route_white.svg);
}
.ui-g-menu .main-btn.is-active > .main-btn_base .c-icon-driving {
  background-image: url(/en/img/common/icon_driving_white.svg);
}
.ui-g-menu .main-btn.is-active > .main-btn_base .c-icon-technology {
  background-image: url(/en/img/common/icon_technology_white.svg);
}
.ui-g-menu .main-btn.is-active > .main-btn_base .c-icon-global {
  background-image: url(/en/img/common/icon_global_white.svg);
}
.ui-g-menu .main-btn.is-active > .main-btn_base .c-icon-about {
  background-image: url(/en/img/common/icon_about_white.svg);
}
.ui-g-menu .main-btn.is-active > .main-btn_base .name {
  text-decoration: underline; 
  color: #fff;
}
@media print, screen and (min-width: 1024px) {
  .ui-g-menu .main-btn.is-active > .sub.is-selected {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ui-g-menu .main-btn.is-active > .sub.is-selected {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-menu .main-btn .c-icon {
    display: inline-block;
  }
}
.ui-g-menu .main-btn.fixed-home-link {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .ui-g-menu .tool {
    position: absolute;
		z-index: 142;
    top: 0;
    right: 0;

    *zoom: 1;
  }
  .ui-g-menu .tool:after {
    clear: both;
  }
  .ui-g-menu .tool:before,
  .ui-g-menu .tool:after {
    content: " ";
    display: table;
  }
}
@media print, screen and (min-width: 768px) {
  .ui-g-menu .toggle-icon {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-menu .toggle-icon {
    display: block;
    position: absolute;
    top: calc(50% - 15px); 
    right: 18px;
    width: 30px;
    height: 30px;
  }
  .ui-g-menu .toggle-icon:after,
  .ui-g-menu .toggle-icon:before {
    content: "";
    display: block;
    position: absolute;
    top: 14px; 
    left: 9px;
    width: 12px;
    height: 1px;
    background-color: #007b8e;
  }
  .ui-g-menu .toggle-icon:after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.ui-g-menu .main-btn .category-ttl.is-active .toggle-icon:after,
.ui-g-menu .main-btn > .main-btn_base.is-active .toggle-icon:after,
.ui-g-menu .w-max > a.is-active .toggle-icon:after {
  display: none;
}


@media print, screen and (min-width: 768px) {
  .ui-g-language {
    display: inline-block; 
    float: left;
    min-width: 120px;
    height: 30px;
    background-color: #007b8e;
  }
}

@media screen and (max-width: 767px) {
  .ui-g-language {
    padding: 16px 16px 25px 16px; 
    background-color: #f4f4f4;
  }
}

.ui-g-language .menu {
  min-width: 120px;
  background-color: #007b8e;
}
@media print, screen and (min-width: 768px) {
  .ui-g-language .menu {
    display: none;
    overflow: hidden;
    position: relative;
    top: 0;
    left: 0; 
    height: 0;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-language .menu {
    display: none;
    text-align: left;
  }
}
.ui-g-language .menu li:first-child {
  border-top: 1px solid #cde4e7;
}
.ui-g-language .menu a {
  display: block;
}
.ui-g-language .menu a.is-hover {
  background-color: #126172;
}
@media print, screen and (min-width: 768px) {
  .ui-g-language .menu a {
    padding: 4px 8px;
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-language .menu a {
    padding: 16px 4px;
    padding-left: 16px;
    text-align: left;
    color: #fff;
  }
}

.ui-g-language .btn {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .ui-g-language .btn {
    display: inline-block;
    padding: 4px 10px;
    height: 30px; 
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .ui-g-language .btn {
    display: block;
    position: relative; 
    padding-top: 8px;
    padding-left: 16px;
    width: 100%;
    height: 50px;
    background-color: #007b8e;
    text-align: left;
    color: #fff;
    font-size: 1.8rem;
  }
}
.ui-g-language .btn.is-hover {
  background-color: #126172;
}
.ui-g-language .btn:after {
  content: "";
  display: inline-block;
  margin-left: 8px; 
  border-width: 7px 3.5px 0 3.5px;
  border-style: solid;
  border-color: transparent;
  border-top-color: #fff;
  border-bottom-color: transparent;
  width: 0;
  height: 0;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .ui-g-language .btn:after {
    position: absolute;
    top: 19px; 
    right: 20px;
    border-width: 9px 6px 0 6px;
  }
}

.ui-g-language .c-icon {
  display: inline-block;
  margin-right: 4px; 
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .ui-g-language .c-icon {
    margin-top: -2px; 
    font-size: 22px;
  }
}
@media print, screen and (min-width: 768px) {
  .ui-g-language .c-icon {
    font-size: 16px;
  }
}

.ui-g-language.is-active .btn:after {
  border-width: 0 3.5px 7px 3.5px; 
  border-top-color: transparent;
  border-bottom-color: #fff;
}
@media screen and (max-width: 767px) {
  .ui-g-language.is-active .btn:after {
    border-width: 0 6px 9px 6px;
  }
}

@media print, screen and (min-width: 768px) {
  .ui-g-language.is-active .menu {
    display: block;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .ui-g-language.is-active ul {
    display: block;
  }
}

.ui-sp-menu {
  display: none;
}
@media screen and (max-width: 767px) {
  .ui-sp-menu {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
  }
  .ui-sp-menu .btn {
    display: inline-block;
    width: 56px;
    height: 100%;
    vertical-align: top;
  }
  .ui-sp-menu .btn.is-hover {
    background-color: #f8feff;
  }
  .ui-sp-menu .btn-sp-menu {
    position: relative;
  }
  .ui-sp-menu .btn-sp-menu .icon span {
    display: inline-block;
    position: absolute;
    left: 18px;
    width: 20px;
    height: 2px;
    transition: 0.2s; 
    background-color: #007b8e;
  }
  .ui-sp-menu .btn-sp-menu .icon span:nth-child(1) {
    top: 12px;
  }
  .ui-sp-menu .btn-sp-menu .icon span:nth-child(2) {
    top: 20px;
  }
  .ui-sp-menu .btn-sp-menu .icon span:nth-child(3) {
    top: 28px;
  }
  .ui-sp-menu .btn-sp-menu .text {
    position: absolute;
    bottom: 8px;
    left: 0;
    width: 100%;
    color: #007b8e;
    font-size: 1rem;
  }
  .ui-sp-menu .btn-sp-menu .is-closed {
    display: block;
  }
  .ui-sp-menu .btn-sp-menu .is-opened {
    display: none;
  }
  .ui-sp-menu .btn-sp-menu.is-active {
    background-color: #007b8e;
  }
  .ui-sp-menu .btn-sp-menu.is-active.is-hover {
    background-color: #126172;
  }
  .ui-sp-menu .btn-sp-menu.is-active .icon span {
    background-color: #fff;
  }
  .ui-sp-menu .btn-sp-menu.is-active .icon span:nth-child(1) {
    top: 20px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .ui-sp-menu .btn-sp-menu.is-active .icon span:nth-child(2) {
    display: none;
  }
  .ui-sp-menu .btn-sp-menu.is-active .icon span:nth-child(3) {
    top: 20px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .ui-sp-menu .btn-sp-menu.is-active .text {
    color: #fff;
  }
  .ui-sp-menu .btn-sp-menu.is-active .is-closed {
    display: none;
  }
  .ui-sp-menu .btn-sp-menu.is-active .is-opened {
    display: block;
  }
}

.ui-skip {
  position: absolute;
	z-index: 114; 
  top: 0;
  left: 0;
}
@media screen and (max-width: 1023px) {
  .ui-skip {
    display: none;
  }
}
.ui-skip a {
  display: block;
  padding: 10px 12px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
}
.ui-skip a:after {
  content: "";
  display: inline-block;
  margin-top: -4px; 
  margin-right: 2px;
  margin-left: 8px;
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: #007b8e;
  width: 6px;
  height: 6px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  vertical-align: middle;
}
.ui-skip a.is-hover:after {
  border-color: #126172;
}
.ui-skip a:visited:after {
  border-color: #294c70;
}

.ui-g-menu .main-btn.is-current > .main-btn_base {
  background-color: #007b8e; 
  color: #fff;
}
.ui-g-menu .main-btn.is-current > .main-btn_base.is-hover {
  background-color: #126172;
}
.ui-g-menu .main-btn.is-current > .main-btn_base .name {
  color: #fff;
}
.ui-g-menu .main-btn.is-current > .main-btn_base .c-icon-roadways {
  background-image: url(/en/img/common/icon_roadways_white.svg);
}
.ui-g-menu .main-btn.is-current > .main-btn_base .c-icon-route {
  background-image: url(/en/img/common/icon_route_white.svg);
}
.ui-g-menu .main-btn.is-current > .main-btn_base .c-icon-driving {
  background-image: url(/en/img/common/icon_driving_white.svg);
}
.ui-g-menu .main-btn.is-current > .main-btn_base .c-icon-technology {
  background-image: url(/en/img/common/icon_technology_white.svg);
}
.ui-g-menu .main-btn.is-current > .main-btn_base .c-icon-global {
  background-image: url(/en/img/common/icon_global_white.svg);
}
.ui-g-menu .main-btn.is-current > .main-btn_base .c-icon-about {
  background-image: url(/en/img/common/icon_about_white.svg);
}
@media screen and (max-width: 767px) {
  .ui-g-menu .main-btn.is-current > .main-btn_base .toggle-icon:after,
  .ui-g-menu .main-btn.is-current > .main-btn_base .toggle-icon:before {
    background-color: #fff;
  }
}

@media print, screen and (min-width: 768px) {
  .ui-header.is-fixed .ui-g-logo {
		margin-bottom: 78px;
  }
  .ui-header.is-fixed .ui-g-menu {
    position: fixed;
    top: 0;
    left: 0;
  }
  .ui-header.is-fixed .ui-g-menu .main .c-icon {
    display: none;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 768px) {
  .ui-header.is-fixed .ui-g-menu .main {
    min-height: 56px;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 1024px) {
  .ui-header.is-fixed .ui-g-menu .main-btn {
    width: 137.14285px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .ui-header.is-fixed .ui-g-menu .main-btn {
    width: 14.285714%;
  }
}

@media print, screen and (min-width: 768px) {
  .ui-header.is-fixed .ui-g-menu .main-btn.is-active .logo {
    opacity: 0.6; 
    background-color: #fff;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 768px) {
  .ui-header.is-fixed .ui-g-menu .main-btn .main-btn_link {
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .ui-header.is-fixed .ui-g-menu .main-btn > .main-btn_base {
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
  .ui-header.is-fixed .ui-g-menu .main-btn .main-btn_link {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
  }
  .ui-header.is-fixed .ui-g-menu .main-btn .name {
    position: relative;
    width: 100%;
    font-size: 1.4rem;
  }
  .ui-header.is-fixed .ui-g-menu .main-btn.fixed-home-link {
    display: inline-block;
    position: relative;
		z-index: 121;
  }
  .ui-header.is-fixed .ui-g-menu .main-btn.fixed-home-link .logo {
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding-top: 8px;
    padding-bottom: 12px; 
    width: 100%;

    -ms-flex-pack: center;

        justify-content: center;
  }
  .ui-header.is-fixed .ui-g-menu .main-btn.fixed-home-link .logo_img {
    display: inline-block;
		width: 32px; 

    -ms-flex-item-align: center; 

        -ms-grid-row-align: center; 

        align-self: center;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .ui-header.is-fixed .ui-g-menu .main-btn.fixed-home-link .logo_img {
		width: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .ui-header.is-fixed .ui-g-menu .main-btn.fixed-home-link .logo_txt {
    display: inline-block;
    margin-left: 4px; 
		width: 75px;

    -ms-flex-item-align: center;

        -ms-grid-row-align: center;

        align-self: center;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .ui-header.is-fixed .ui-g-menu .main-btn.fixed-home-link .logo_txt {
    width: 56px;
  }
}

@media print, screen and (min-width: 768px) {
  .ui-header.is-fixed .ui-g-menu .tool {
    display: none;
  }
  .ui-header.is-fixed .ui-g-menu .other {
    display: none;
  }
  .ui-header.is-fixed .ui-g-menu {
    -webkit-animation-name: fadeIn;
            animation-name: fadeIn;
    -webkit-animation-duration: 0.4s;
            animation-duration: 0.4s;
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
            animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1;

    -webkit-animation-fill-mode: both;

            animation-fill-mode: both;
  }
  @-webkit-keyframes fadeIn {
    from {
      opacity: 0;
      top: -100px;
    }
    to {
      opacity: 1;
      top: 0;
    }
  }
  @keyframes fadeIn {
    from {
      opacity: 0;
      top: -100px;
    }
    to {
      opacity: 1;
      top: 0;
    }
  }
}

/* ------------------------
  UI parts / footer
------------------------ */
.ui-footer {
  overflow: hidden;
  position: relative;
  width: 100%;
  background-color: #fff;
}
.ui-footer .top {
  overflow: hidden;
  border-top: 1px solid #a1ced5;
  border-bottom: 1px solid #cde4e7; 
  height: 110px;
  background-color: #fafafa;
}
@media screen and (max-width: 767px) {
  .ui-footer .top {
    height: 90px;
  }
}
.ui-footer .logo {
  text-align: center;
}
.ui-footer .logo a {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}
.ui-footer .logo a.is-hover > span {
  text-decoration: underline;
}
.ui-footer .logo .logo_img {
  display: block;
  margin: 0 auto;
  height: auto;
}
@media print, screen and (min-width: 768px) {
  .ui-footer .logo .logo_img {
    margin-top: 24px; 
    width: 36px;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .logo .logo_img {
    margin-top: 18px; 
    width: 32px;
  }
}
.ui-footer .logo .logo_txt {
  display: block;
  margin: 0 auto;
  height: auto;
}
@media print, screen and (min-width: 768px) {
  .ui-footer .logo .logo_txt {
    margin-top: 4px; 
		width: 49px;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .logo .logo_txt {
    margin-top: 5px; 
		width: 43px;
  }
}
.ui-footer .logo span {
  display: inline-block;
  color: #333; 
  font-size: 12px; 
  font-size: 1.2rem;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .ui-footer .logo span {
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .logo span {
    margin-top: 6px;
    font-size: 1rem;
  }
}
.ui-footer .main {
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  width: 960px;

  -ms-flex-wrap: wrap;

      flex-wrap: wrap;
}
@media screen and (max-width: 1023px) {
  .ui-footer .main {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .main {
    border-bottom: 1px solid #dedede;
  }
}
.ui-footer .main-btn {
  width: 33.3333%;
}
@media print, screen and (min-width: 1024px) {
  .ui-footer .main-btn {
    padding-top: 40px; 
    min-height: 340px;
  }
}
@media screen and (max-width: 1023px) {
  .ui-footer .main-btn {
    padding-top: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .ui-footer .main-btn {
    min-height: 72px;
  }
  .ui-footer .main-btn:nth-child(-n+3) {
    border-bottom: 1px solid #dedede;
  }
  .ui-footer .main-btn:not(:nth-child(3n)) {
    border-right: 1px solid #dedede;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .main-btn {
    width: 100%;
    min-height: 60px;
  }
  .ui-footer .main-btn:nth-child(n+2) {
    border-top: 1px solid #dedede;
  }
}
.ui-footer .main-btn > a {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 300; 
  line-height: 1.2;
}
.ui-footer .main-btn > a.is-hover {
  text-decoration: none;
}
.ui-footer .main-btn > a.is-hover span:not(.no-underline) {
  border-bottom: 1px solid #126172;
}
.ui-footer .main-btn > a:before {
  content: "";
  display: inline-block;
  margin-top: -4px; 
  margin-right: 8px;
  margin-left: 2px;
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: #007b8e;
  width: 6px;
  height: 6px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  vertical-align: middle;
}
.ui-footer .main-btn > a.is-hover:before {
  border-color: #126172;
}
.ui-footer .main-btn > a:visited:before {
  border-color: #294c70;
}
@media print, screen and (min-width: 1024px) {
  .ui-footer .main-btn > a {
    display: inline-block;
    padding-left: 16px;
    text-indent: -16px;
  }
}
@media screen and (max-width: 1023px) {
  .ui-footer .main-btn > a {
    display: block;
    padding-top: 24px;
    padding-right: 8px;
    padding-bottom: 24px;
    padding-left: 32px;
    height: 100%;
    text-indent: -16px; 
    font-size: 1.8rem;
  }
  .ui-footer .main-btn > a.is-hover {
    background-color: #f8feff;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .main-btn > a {
    padding-top: 15px;
    padding-bottom: 15px; 
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .main-btn .c-icon {
    display: inline-block;
    vertical-align: middle;
  }
}
.ui-footer .sub {
  padding-top: 6px;
  padding-right: 16px;
}
@media screen and (max-width: 1023px) {
  .ui-footer .sub {
    display: none;
  }
}
.ui-footer .sub li {
  margin-top: 10px;
}
.ui-footer .sub a {
  display: inline-block;
  padding-left: 16px;
  text-indent: -16px; 
  font-size: 14px; 
  font-size: 1.4rem;
}
.ui-footer .sub a:before {
  content: "";
  display: inline-block;
  margin-top: -4px; 
  margin-right: 8px;
  margin-left: 2px;
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: #007b8e;
  width: 6px;
  height: 6px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  vertical-align: middle;
}
.ui-footer .sub a.is-hover:before {
  border-color: #126172;
}
.ui-footer .sub a:visited:before {
  border-color: #294c70;
}
.ui-footer .bottom {
  position: relative; 
  width: 100%;
  background-color: #333;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
}
@media print, screen and (min-width: 768px) {
  .ui-footer .bottom {
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .bottom {
    height: 70px;
  }
}
.ui-footer .bottom p {
  padding-top: 12px; 
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .ui-footer .bottom p {
    padding-top: 20px;
  }
}
.ui-footer .policy {
  border-top: 1px solid #cde4e7;
}
@media print, screen and (min-width: 1024px) {
  .ui-footer .policy {
    height: 58px;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .policy {
    margin-top: 50px;
  }
}
.ui-footer .policy ul {
  display: block;
  margin: 0 auto;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .ui-footer .policy ul {
    padding-top: 21px;
    padding-bottom: 21px;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .policy ul {
    padding-top: 10px;
    padding-bottom: 15px;
  }
}
.ui-footer .policy li {
  display: inline-block;
  padding: 0 8px; 
  min-width: 190px;
}
@media print, screen and (min-width: 768px) {
  .ui-footer .policy li {
    border-right: 1px solid #cde4e7;
  }
  .ui-footer .policy li:first-child {
    border-left: 1px solid #cde4e7;
  }
}
@media screen and (max-width: 767px) {
  .ui-footer .policy li {
    width: 100%;
    text-align: left;
  }
}
.ui-footer .policy a {
  display: block; 
  font-size: 12px; 
  font-size: 1.2rem;
  line-height: 14px;
}
@media screen and (max-width: 767px) {
  .ui-footer .policy a {
    padding: 14px 10px 14px 26px; 
    font-size: 1.4rem;
  }
}

.ui-pagetop {
  position: absolute;
	z-index: 100;
  bottom: 60px;
  width: 100%; 
  height: 0;
  text-align: right;
}
.ui-pagetop.is-fixed {
  position: fixed;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .ui-pagetop {
    bottom: 70px;
  }
}
.ui-pagetop a {
  display: inline-block;
  position: relative;
  top: -58px;
  padding: 16px 4px 0 4px;
  min-width: 58px;
  height: 58px;
  background-color: #007b8e;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 600; 
  line-height: 1.6;
}
.ui-pagetop a.is-hover {
  background-color: #126172;
}
.ui-pagetop a:before {
  content: "";
  display: block;
  margin: 0 auto; 
  border-width: 2px 2px 0 0;
  border-style: solid;
	border-color: transparent;
	border-top-color: #fff;
	border-right-color: #fff;
  width: 16px;
  height: 16px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.ui-breadcrumbs {
  position: relative;
  width: 100%;
  min-height: 54px; 
  background-color: #f4f4f4;
}
@media screen and (max-width: 767px) {
  .ui-breadcrumbs {
    min-height: 33px;
  }
}
.ui-breadcrumbs ul {
  overflow-x: auto;
  white-space: nowrap;
}
.ui-breadcrumbs ul::-webkit-scrollbar {
  height: 3px;
}
.ui-breadcrumbs ul::-webkit-scrollbar-track {
  border-radius: 3px;
  background: #ededed;
}
.ui-breadcrumbs ul::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: #555;
}
@media print, screen and (min-width: 1024px) {
  .ui-breadcrumbs ul {
    margin: 0 auto; 
    padding-bottom: 16px;
    width: 960px;
  }
}
@media screen and (max-width: 1023px) {
  .ui-breadcrumbs ul {
    padding-right: 16px; 
    padding-bottom: 12px;
    padding-left: 16px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .ui-breadcrumbs ul {
    padding-bottom: 10px;
  }
}
.ui-breadcrumbs li {
  display: inline-block;
  line-height: 1;
}
.ui-breadcrumbs li:not(:first-child):before {
  content: ">";
}
@media print, screen and (min-width: 768px) {
  .ui-breadcrumbs li {
    margin-top: 18px; 
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .ui-breadcrumbs li {
    margin-top: 11px; 
    font-size: 1rem;
  }
}
.ui-breadcrumbs li:not(:first-child) {
  margin-left: 3px;
}
.ui-breadcrumbs li:not(:first-child):before {
  margin-right: 4px;
}
.ui-breadcrumbs a.is-hover {
  text-decoration: underline;
}


.ui-mv {
  overflow: hidden;
  position: relative; 
  padding: 84px 16px;
  width: 100%;
  background-color: #333;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.ui-mv .bg {
  overflow: hidden; 
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ui-mv .bg img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  min-width: 100%;
  max-width: inherit; 
  height: auto;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.ui-mv .inner {
  overflow: hidden; 
  position: relative;
  margin: 0 auto;
  padding: 0 32px 15px 32px;
  width: 100%;
  max-width: 476px;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .ui-mv .inner {
    min-height: 132px;
  }
}
@media screen and (max-width: 767px) {
  .ui-mv .inner {
    padding: 10px 16px 16px 16px;
    min-height: 88px;
  }
}
.ui-mv .heading {
  margin-top: -18px;
  text-align: center;
  font-size: 46px;
  font-size: 4.6rem;
  font-weight: 300; 
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  .ui-mv .heading {
    margin-top: 0;
    margin-top: -6px; 
    font-size: 2.2rem;
  }
}
.ui-mv .icon {
  margin: 5px auto 0 auto; 
  width: 70px;
  height: 70px;
}
@media screen and (max-width: 767px) {
  .ui-mv .icon {
    margin: 2px auto 0 auto; 
    width: 35px;
    height: 35px;
  }
}
.ui-mv .icon img {
	max-height: 100%;
}


/* ------------------------
  Layout
------------------------ */
.l-header {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-header {
    position: fixed;
    top: 0;
    left: 0; 
    height: 56px;
  }
}

@media screen and (max-width: 767px) {
  .l-title {
    padding-top: 56px;
  }
}

.l-main {
  overflow: hidden;
}

.l-footer {
  height: auto;
}

/* ------------------------
  Print Styles
------------------------ */
@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
	.l-footer,
	.ui-g-menu {
		display: none;
	}
	.ui-mv .inner {
		background-color: #fff !important;
	}
	.p-index .mv {
		overflow: hidden; 
		max-height: 400px;
	}
	.p-index .mv p {
		color: #fff !important;
	}
	.ui-tab-menu {
		display: none;
	}
}


