html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, button {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, button, textarea, select, option {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input::-ms-clear {
  display: none;
}

input::-ms-reveal {
  display: none;
}

main {
  display: block;
}

body {
  color: #333;
  font-size: 10px;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "Hiragino Sans", Meiryo, sans-serif;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@media screen and (min-width: 768px) {
  body {
    min-width: 1100px;
    padding-top: 70px;
  }
}

@media screen and (max-width: 767px) {
  body {
    min-width: 320px;
    padding-top: 60px;
  }
}

body#top {
  padding-top: 0;
}

* {
  box-sizing: border-box;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

picture {
  display: block;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none; !important
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none; !important
  }
}

.shippori {
  font-family: 'Shippori Mincho', serif;
}

.global-header {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  z-index: 10;
  transition: background-color .3s ease;
}

.global-header[data-background=white] {
  background: #ffffff;
}

/*20220824 追加*/
.global-header .navi li.has-child{
	position: relative;
}
.global-header .navi li.has-child .child-list{
	display: none;
	width: 200px;
	position: absolute;
	top: 44px;
	left: 0;
}
.global-header .navi li.has-child:hover .child-list{
	display: block;
}
.global-header .navi li.has-child:hover .child-list li{
	background-color: rgba(0,0,0,0.6);
	padding: 0 10px;
}
.global-header .navi li.has-child .child-list li a{
	color: #fff;
}
.global-header .navi li.has-child .child-list li:hover{
	background-color: #43a4e1;
}
@media screen and (max-width: 767px) {

}


@media screen and (max-width: 767px) {
  .global-header .burger span hr {
    position: absolute;
    margin: -1px 0 0 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    border: none;
    border-radius: 1px;
    transition: top 0.2s 0.2s linear, opacity 0.0s 0.2s linear, transform 0.2s 0.0s linear;
  }
	.global-header[data-background=white] .burger span hr {
    background: #43a4e1;
  }
  .global-header .burger span hr:nth-child(1) {
    top: 0;
  }
  .global-header .burger span hr:nth-child(2) {
    top: 100%;
  }
  .global-header .burger span hr:nth-child(3) {
    top: 50%;
  }
  .global-header[data-background=white] .burger.is-active span hr {
    transition: top 0.2s 0.0s linear, opacity 0.0s 0.2s linear, transform 0.2s 0.2s linear;
  }
  .global-header[data-background=white] .burger.is-active span hr:nth-child(1) {
    top: 50%;
    transform: rotate(-45deg);
  }
  .global-header[data-background=white] .burger.is-active span hr:nth-child(2) {
    top: 50%;
    transform: rotate(45deg);
  }
  .global-header[data-background=white] .burger.is-active span hr:nth-child(3) {
    opacity: 0;
  }
  .global-header[data-background=white] .burger.is-active span hr {
    position: absolute;
    margin: -1px 0 0 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    border: none;
    border-radius: 1px;
    transition: top 0.2s 0.2s linear, opacity 0.0s 0.2s linear, transform 0.2s 0.0s linear;
  }
  .global-header .burger.is-active span hr:nth-child(1) {
    top: 0;
  }
  .global-header .burger.is-active span hr:nth-child(2) {
    top: 100%;
  }
  .global-header .burger.is-active span hr:nth-child(3) {
    top: 50%;
  }
  .global-header .burger.is-active.is-active span hr {
    transition: top 0.2s 0.0s linear, opacity 0.0s 0.2s linear, transform 0.2s 0.2s linear;
  }
  .global-header .burger.is-active.is-active span hr:nth-child(1) {
    top: 50%;
    transform: rotate(-45deg);
  }
  .global-header .burger.is-active.is-active span hr:nth-child(2) {
    top: 50%;
    transform: rotate(45deg);
  }
  .global-header .burger.is-active.is-active span hr:nth-child(3) {
    opacity: 0;
  }
}

.global-header[data-background=white] .menu .navi a {
  color: #333;
}

@media screen and (max-width: 767px) {
  .global-header .menu .navi a, .global-header[data-background=white] .menu .navi a {
    color: #fff;
  }
}

@media screen and (min-width: 768px) {
  .global-header[data-background=white] .menu .navi .recruit a::after {
    background: url(../img/common/blue-external.png) no-repeat center/cover;
  }
}

.global-header[data-background=white] .bg-blue {
  background: #43a4e1
}

.global-header[data-background=white].is-scroll {
  background: #43a4e1
}

.global-header[data-background=white].is-scroll .bg-blue {
  background: #ffffff
}

.global-header[data-background=white].is-scroll .bg-blue.contact .link {
  color: #43a4e1
}

.global-header[data-background=white].is-scroll .bg-blue.contact .link::before {
  background-image: url(../img/common/header-icon-contact-h.png)
}

.global-header[data-background=white].is-scroll .bg-blue.contact .border .border-top {
  background: #fff !important
}

.global-header[data-background=white].is-scroll .bg-blue.contact .border .border-right {
  background: #fff !important
}

.global-header[data-background=white].is-scroll .bg-blue.contact .border .border-bottom {
  background: #fff !important
}

.global-header[data-background=white].is-scroll .bg-blue.contact .border .border-left {
  background: #fff !important
}

@media (hover: hover) and (pointer: fine) {
  .global-header[data-background=white].is-scroll .bg-blue.contact:hover {
    background: #43a4e1 !important
  }
  .global-header[data-background=white].is-scroll .bg-blue.contact:hover .link {
    color: #fff
  }
  .global-header[data-background=white].is-scroll .bg-blue.contact:hover .link::before {
    background-color: transparent;
    background-image: url(../img/common/header-icon-contact.png)
  }
}

@media screen and (max-width: 767px) {
  .global-header[data-background=white].is-scroll .burger span hr {
    position: absolute;
    margin: -1px 0 0 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    border: none;
    border-radius: 1px;
    transition: top 0.2s 0.2s linear, opacity 0.0s 0.2s linear, transform 0.2s 0.0s linear
  }
  .global-header[data-background=white].is-scroll .burger span hr:nth-child(1) {
    top: 0
  }
  .global-header[data-background=white].is-scroll .burger span hr:nth-child(2) {
    top: 100%
  }
  .global-header[data-background=white].is-scroll .burger span hr:nth-child(3) {
    top: 50%
  }
  .global-header[data-background=white].is-scroll .burger.is-active span hr {
    transition: top 0.2s 0.0s linear, opacity 0.0s 0.2s linear, transform 0.2s 0.2s linear
  }
  .global-header[data-background=white].is-scroll .burger.is-active span hr:nth-child(1) {
    top: 50%;
    transform: rotate(-45deg)
  }
  .global-header[data-background=white].is-scroll .burger.is-active span hr:nth-child(2) {
    top: 50%;
    transform: rotate(45deg)
  }
  .global-header[data-background=white].is-scroll .burger.is-active span hr:nth-child(3) {
    opacity: 0
  }
}

.global-header[data-background=white].is-scroll .logo svg .a, .global-header[data-background=white].is-scroll .logo svg .b, .global-header[data-background=white].is-scroll .logo svg .c {
  fill: #fff
}

@media screen and (min-width: 768px) {
  .global-header[data-background=white].is-scroll .menu .navi a {
    color: #fff
  }
  .global-header[data-background=white].is-scroll .menu .recruit a::after {
    background-image: url(../img/common/white-external.png)
  }
  .global-header[data-background=white].is-scroll .menu a:hover {
    color: #fff !important
  }
  .global-header[data-background=white].is-scroll .menu a:hover::before {
    background-color: #fff
  }
}

.global-header[data-background=transparent].is-scroll {
  background: #43a4e1
}

.global-header[data-background=transparent].is-scroll .bg-blue {
  background: #ffffff
}

.global-header[data-background=transparent].is-scroll .bg-blue.contact .link {
  color: #43a4e1
}

.global-header[data-background=transparent].is-scroll .bg-blue.contact .link::before {
  background-image: url(../img/common/header-icon-contact-h.png)
}

.global-header[data-background=transparent].is-scroll .bg-blue.contact .border .border-top {
  background: #fff !important
}

.global-header[data-background=transparent].is-scroll .bg-blue.contact .border .border-right {
  background: #fff !important
}

.global-header[data-background=transparent].is-scroll .bg-blue.contact .border .border-bottom {
  background: #fff !important
}

.global-header[data-background=transparent].is-scroll .bg-blue.contact .border .border-left {
  background: #fff !important
}

@media (hover: hover) and (pointer: fine) {
  .global-header[data-background=transparent].is-scroll .bg-blue.contact:hover {
    background: #43a4e1 !important
  }
  .global-header[data-background=transparent].is-scroll .bg-blue.contact:hover .link {
    color: #fff
  }
  .global-header[data-background=transparent].is-scroll .bg-blue.contact:hover .link::before {
    background-color: transparent;
    background-image: url(../img/common/header-icon-contact.png)
  }
}

@media screen and (max-width: 767px) {
  .global-header[data-background=transparent].is-scroll .burger span hr {
    position: absolute;
    margin: -1px 0 0 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    border: none;
    border-radius: 1px;
    transition: top 0.2s 0.2s linear, opacity 0.0s 0.2s linear, transform 0.2s 0.0s linear
  }
  .global-header[data-background=transparent].is-scroll .burger span hr:nth-child(1) {
    top: 0
  }
  .global-header[data-background=transparent].is-scroll .burger span hr:nth-child(2) {
    top: 100%
  }
  .global-header[data-background=transparent].is-scroll .burger span hr:nth-child(3) {
    top: 50%
  }
  .global-header[data-background=transparent].is-scroll .burger.is-active span hr {
    transition: top 0.2s 0.0s linear, opacity 0.0s 0.2s linear, transform 0.2s 0.2s linear
  }
  .global-header[data-background=transparent].is-scroll .burger.is-active span hr:nth-child(1) {
    top: 50%;
    transform: rotate(-45deg)
  }
  .global-header[data-background=transparent].is-scroll .burger.is-active span hr:nth-child(2) {
    top: 50%;
    transform: rotate(45deg)
  }
  .global-header[data-background=transparent].is-scroll .burger.is-active span hr:nth-child(3) {
    opacity: 0
  }
}

.global-header[data-background=transparent].is-scroll .logo svg .a, .global-header[data-background=transparent].is-scroll .logo svg .b, .global-header[data-background=transparent].is-scroll .logo svg .c {
  fill: #fff
}

@media screen and (min-width: 768px) {
  .global-header[data-background=transparent].is-scroll .menu .navi a {
    color: #fff
  }
  .global-header[data-background=transparent].is-scroll .menu .recruit a::after {
    background-image: url(../img/common/white-external.png)
  }
  .global-header[data-background=transparent].is-scroll .menu a:hover {
    color: #fff !important
  }
  .global-header[data-background=transparent].is-scroll .menu a:hover::before {
    background-color: #fff
  }
}

@media screen and (min-width: 768px) {
  .global-header {
    min-width: 1100px;
    height: 70px
  }
}

@media screen and (max-width: 767px) {
  .global-header {
    min-width: 320px;
    height: 60px
  }
}

.global-header .l-inner {
  display: flex;
  align-items: center;
  justify-content: space-between
}

@media screen and (min-width: 768px) {
  .global-header .logo {
    width: 140px
  }
}

@media screen and (max-width: 767px) {
  .global-header .logo {
    width: 95px
  }
}

@media screen and (min-width: 768px) {
  .global-header .burger {
    display: none
  }
}

@media screen and (max-width: 767px) {
  .global-header .burger {
    position: relative;
    width: 20px;
    height: 14px;
    z-index: 3
  }
}

@media screen and (min-width: 768px) {
  .global-header .menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 140px);
    padding-left: 100px;
    font-size: 14px
  }
  .global-header .menu .navi {
    display: flex;
    justify-content: space-between;
    width: calc((780 - 300) / (1366 - 80 - 140 - 160) * 100% + 300px);
    letter-spacing: 0.04em
  }
  .global-header .menu .navi .recruit a::after {
    content: '';
    display: inline-block;
    width: 11px;
    height: 11px;
    background: url(../img/common/white-external.png) no-repeat center/cover;
    margin-left: 5px
  }
	/*20220824 追加*/
	.global-header .menu .navi.sp{
		display: none;
	}
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  .global-header .menu .navi dd {
    display: none
  }
}

@media screen and (min-width: 768px) {
  .global-header .menu .navi a {
    position: relative;
    display: block;
    padding: 15px 0;
    transition: color .3s ease;
    overflow: hidden;
    color: #fff
  }
  .global-header .menu .navi a:before {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    height: 2px;
    width: 100%;
    background-color: #43a4e1;
    transition: transform .3s ease;
    transform-origin: right top;
    transform: scale(0, 1)
  }
  .global-header .menu .navi a:hover {
    color: #43a4e1
  }
  .global-header .menu .navi a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1)
  }
}

@media screen and (max-width: 767px) {
  .global-header .menu {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    width: calc(320 / 375 * 100%);
    background-color: #43a4e1;
    font-size: 14px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
    z-index: 2;
    overflow: auto
  }
  
  .global-header .menu .navi {
    margin-top: 50px
  }
  .global-header .menu .navi .recruit a::after {
    content: '';
    display: inline-block;
    width: 11px;
    height: 11px;
    background: url(../img/common/white-external.png) no-repeat center/cover;
    margin-left: 5px
  }
  .global-header .menu .navi li {
    position: relative;
    opacity: 0;
    transform: translateX(10px);
    transition: opacity 0.4s 0.4s ease, transform 0.4s 0.4s ease
  }
  .global-header .menu .navi li.border:before, .global-header .menu .navi li.border:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px
  }
  .global-header .menu .navi li.border:before {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.3)
  }
  .global-header .menu .navi li.border:after {
    width: 100px;
    background-color: #fff
  }
  .global-header .menu .navi li>dl dt {
    position: relative
  }
  .global-header .menu .navi li>dl dt:before, .global-header .menu .navi li>dl dt:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    height: 1px;
    width: 14px;
    background-color: #ffffff;
    transition: transform 0.2s ease
  }
  .global-header .menu .navi li>dl dt:after {
    transform: rotate(90deg)
  }
  .global-header .menu .navi li>dl dt.is-active:after {
    transform: rotate(0deg)
  }
  .global-header .menu .navi li>dl dd {
    height: 0;
    overflow: hidden
  }
  .global-header .menu .navi li>dl li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3)
  }
  .global-header .menu .navi li p {
    position: relative;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.04em
  }
  .global-header .menu .navi li p:before, .global-header .menu .navi li p:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px
  }
  .global-header .menu .navi li p:before {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.3)
  }
  .global-header .menu .navi li p:after {
    width: 100px;
    background-color: #fff
  }
  .global-header .menu .navi li a, .global-header .menu .navi li span {
    display: block;
    padding: 20px 0px;
    font-weight: normal
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .global-header .menu .navi li a, .global-header .menu .navi li span {
    padding: 20px
  }
}

@media screen and (max-width: 767px) {
  .global-header .menu .navi li .l-border-button {
    height: 64px
  }
  .global-header .menu .navi li .l-border-button .link {
    display: flex;
    color: #43a4e1;
    font-size: 14px;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 20px;
    padding-right: 20px;
    line-height: 1.5;
    letter-spacing: 0.12em
  }
  .global-header .menu .navi li .l-border-button .link .arrow {
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto
  }
  .global-header .menu.is-active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
  .global-header .menu.is-active .navi li {
    opacity: 1;
    transform: translateX(0px)
  }
  .global-header .menu.is-active .navi li:nth-child(1) {
    transition-delay: 0.1s
  }
  .global-header .menu.is-active .navi li:nth-child(2) {
    transition-delay: 0.2s
  }
  .global-header .menu.is-active .navi li:nth-child(3) {
    transition-delay: 0.3s
  }
  .global-header .menu.is-active .navi li:nth-child(4) {
    transition-delay: 0.4s
  }
  .global-header .menu.is-active .navi li:nth-child(5) {
    transition-delay: 0.5s
  }
  .global-header .menu.is-active .navi li:nth-child(6) {
    transition-delay: 0.6s
  }
  .global-header .menu.is-active .navi li:nth-child(7) {
    transition-delay: 0.7s
  }
  .global-header .menu.is-active .navi li:nth-child(8) {
    transition-delay: 0.8s
  }
  .global-header .menu.is-active .navi li:nth-child(9) {
    transition-delay: 0.9s
  }
  .global-header .menu.is-active .navi li:nth-child(10) {
    transition-delay: 1s
  }
}

.global-header .menu .contact {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  letter-spacing: 0.12em
}

@media screen and (min-width: 768px) {
  .global-header .menu .contact {
    height: 45px
  }
}

@media screen and (max-width: 767px) {
  .global-header .menu .contact {
    margin-top: 30px;
    margin-left: calc(20 / 320 * 100%);
    margin-right: calc(20 / 320 * 100%);
    height: 65px
  }
}

@media (hover: hover) and (pointer: fine) {
  .global-header .menu .contact:hover .link::before {
    background-image: url(../img/common/header-icon-contact-h.png)
  }
}

@media screen and (max-width: 767px) {
  .global-header .menu .contact .link {
    background: #fff;
    font-size: 16px;
    color: #43A4E1;
    padding-left: 15px;
    padding-right: 15px
  }
}

.global-header .menu .contact .link:before {
  content: "";
  display: block;
  width: 21px;
  height: 14px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 14px;
  background-image: url(../img/common/header-icon-contact.png)
}

@media screen and (max-width: 767px) {
  .global-header .menu .contact .link:before {
    background-image: url(../img/common/header-icon-contact-h.png)
  }
}

@media screen and (min-width: 768px) {
  .global-header .close {
    display: none
  }
}

@media screen and (max-width: 767px) {
  .global-header .close {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    margin-top: 25px;
    padding-bottom: 65px
  }
  .global-header .close::before {
    content: '';
    display: block;
    width: 9px;
    height: 9px;
    background: url(../img/common/close.png) no-repeat center/cover;
    margin-right: 5px;
    position: relative;
    top: -1px
  }
}

@media screen and (min-width: 768px) {
  .global-header .overlay {
    display: none
  }
}

@media screen and (max-width: 767px) {
  .global-header .overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1;
    opacity: 0;
    transition: opacity .3s ease;
    pointer-events: none
  }
  .global-header .overlay.is-active {
    opacity: 1;
    pointer-events: auto
  }
}

.global-footer {
  position: relative;
  color: #fff
}

.global-footer .menu {
  background-color: #43a4e1
}

@media screen and (min-width: 768px) {
  .global-footer .menu {
    padding-top: 100px;
    padding-bottom: 80px
  }
}

@media screen and (max-width: 767px) {
  .global-footer .menu {
    padding-top: 15px
  }
}

@media screen and (min-width: 768px) {
  .global-footer .menu .l-inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between
  }
}

.global-footer .menu .navi {
  margin-top: 25px;
  font-size: 14px;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.85)
}

.global-footer .menu .navi .recruit::after {
  content: '';
  display: inline-block;
  width: 11px;
  height: 11px;
  margin-left: 5px;
  background: url(../img/common/white-external.png) no-repeat center/cover
}

@media screen and (min-width: 768px) {
  .global-footer .menu .navi {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
  }
  .global-footer .menu .navi>dl:not(:last-child), .global-footer .menu .navi>ul:not(:last-child) {
    margin-right: 40px
  }
  .global-footer .menu .navi>dl {
    width: 220px
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  .global-footer .menu .navi>dl:nth-child(2) {
    width: 240px
  }
}

@media screen and (min-width: 768px) {
  .global-footer .menu .navi>dl dt {
    margin-bottom: 30px
  }
  .global-footer .menu .navi>dl dt:not(:first-child) {
    margin-top: 60px
  }
  .global-footer .menu .navi>dl dd {
    height: auto !important
  }
  .global-footer .menu .navi>dl li:not(:first-child) {
    margin-top: 20px
  }
  .global-footer .menu .navi>ul {
    width: 200px
  }
  .global-footer .menu .navi>ul li:not(:first-child) {
    margin-top: 40px
  }
  .global-footer .menu .navi .l-border-button {
    height: 50px;
    margin-top: 20px
  }
}

@media screen and (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .global-footer .menu .navi .l-border-button:hover {
    background: transparent
  }
  .global-footer .menu .navi .l-border-button:hover .link {
    color: #ffffff
  }
  .global-footer .menu .navi .l-border-button:hover .link .arrow::before {
    background: url(../img/common/white-arrow.png) no-repeat center/cover
  }
}

@media screen and (min-width: 768px) {
  .global-footer .menu .navi .l-border-button .link {
    color: #43a4e1;
    font-size: 11px;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 1.5;
    letter-spacing: 0.12em
  }
  .global-footer .menu .navi .l-border-button .link .arrow {
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto
  }
  .global-footer .menu .navi .l-border-button .border .border-top {
    background: #fff !important
  }
  .global-footer .menu .navi .l-border-button .border .border-right {
    background: #fff !important
  }
  .global-footer .menu .navi .l-border-button .border .border-bottom {
    background: #fff !important
  }
  .global-footer .menu .navi .l-border-button .border .border-left {
    background: #fff !important
  }
  .global-footer .menu .navi a {
    transition: color .3s ease
  }
  .global-footer .menu .navi a:hover {
    color: #fff
  }
}

@media screen and (max-width: 767px) {
  .global-footer .menu .navi dl dt {
    position: relative
  }
  .global-footer .menu .navi dl dt:before, .global-footer .menu .navi dl dt:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    height: 1px;
    width: 14px;
    background-color: #ffffff;
    transition: transform 0.2s ease
  }
  .global-footer .menu .navi dl dt:after {
    transform: rotate(90deg)
  }
  .global-footer .menu .navi dl dt.is-active:after {
    transform: rotate(0deg)
  }
  .global-footer .menu .navi dl dd {
    height: 0;
    overflow: hidden
  }
  .global-footer .menu .navi dl li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3)
  }
  .global-footer .menu .navi a, .global-footer .menu .navi span {
    display: block;
    padding-top: 15px;
    padding-bottom: 15px;
    font-weight: normal
  }
  .global-footer .menu .navi .l-border-button {
    height: 50px;
    margin-top: 20px
  }
  .global-footer .menu .navi .l-border-button .link {
    display: flex;
    color: #43a4e1;
    font-size: 12px;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 1.5;
    letter-spacing: 0.12em
  }
  .global-footer .menu .navi .l-border-button .link .arrow {
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto
  }
}

.global-footer .menu .navi p {
  position: relative;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.04em
}

@media screen and (min-width: 768px) {
  .global-footer .menu .navi p {
    padding-bottom: 32px
  }
}

.global-footer .menu .navi p:before, .global-footer .menu .navi p:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px
}

.global-footer .menu .navi p:before {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.3)
}

.global-footer .menu .navi p:after {
  width: 100px;
  background-color: #fff
}

@media screen and (max-width: 767px) {
  .global-footer .menu .navi p a, .global-footer .menu .navi p span {
    padding-top: 20px;
    padding-bottom: 20px
  }
}

.global-footer .menu .l-inner>.link {
  font-size: 14px;
  letter-spacing: 0.1em
}

@media screen and (min-width: 768px) {
  .global-footer .menu .l-inner>.link {
    position: absolute;
    bottom: 34px;
    left: 50%;
    margin-left: -510px
  }
}

@media screen and (max-width: 767px) {
  .global-footer .menu .l-inner>.link {
    padding-top: 40px;
    padding-bottom: 50px
  }
}

.global-footer .menu .l-inner>.link ul {
  display: flex;
  flex-wrap: wrap
}

@media screen and (min-width: 768px) {
  .global-footer .menu .l-inner>.link li {
    margin-right: 30px
  }
}

@media screen and (max-width: 767px) {
  .global-footer .menu .l-inner>.link li:nth-child(odd) {
    width: 9em
  }
  .global-footer .menu .l-inner>.link li:nth-child(even) {
    width: calc(100% - 9em)
  }
  .global-footer .menu .l-inner>.link li:nth-child(n+3) {
    margin-top: 25px
  }
}

.global-footer .menu .data {
  position: relative
}

@media screen and (max-width: 767px) {
  .global-footer .menu .data {
    padding-top: 50px;
    padding-bottom: 40px
  }
  .global-footer .menu .data:before {
    content: "";
    position: absolute;
    top: 0;
    left: -20px;
    right: -20px;
    border-top: 1px solid #ffffff
  }
}

.global-footer .menu .data .name:before {
  content: "";
  display: block;
  background-image: url(../img/common/footer-logo.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media screen and (min-width: 768px) {
  .global-footer .menu .data .name:before {
    width: 190px;
    height: 40px
  }
}

@media screen and (max-width: 767px) {
  .global-footer .menu .data .name:before {
    width: 168px;
    height: 36px
  }
}

@media screen and (min-width: 768px) {
  .global-footer .menu .data .name p {
    margin-top: 40px;
    font-size: 16px;
    letter-spacing: 0.05em
  }
}

@media screen and (max-width: 767px) {
  .global-footer .menu .data .name p {
    margin-top: 30px;
    font-size: 14px;
    letter-spacing: 0.06em
  }
}

@media screen and (min-width: 768px) {
  .global-footer .menu .data .addr {
    margin-top: 40px
  }
}

@media screen and (max-width: 767px) {
  .global-footer .menu .data .addr {
    margin-top: 20px
  }
}

.global-footer .menu .data .addr p {
  font-size: 14px;
  line-height: 1.5
}

.global-footer .menu .data .addr p:nth-child(1) {
  letter-spacing: 0.02em
}

.global-footer .menu .data .addr p:nth-child(2) {
  letter-spacing: 0.10em
}

.global-footer .menu .data .tel {
  margin-top: 20px
}

.global-footer .menu .data .tel p {
  font-size: 14px;
  letter-spacing: 0.10em;
  line-height: 1.5
}

.global-footer .copy {
  background-color: #2890d2
}

@media screen and (min-width: 768px) {
  .global-footer .copy {
    padding-top: 35px;
    padding-bottom: 35px
  }
}

@media screen and (max-width: 767px) {
  .global-footer .copy {
    padding-top: 15px;
    padding-bottom: 15px
  }
}

.global-footer .copy .l-inner {
  display: flex
}

@media screen and (min-width: 768px) {
  .global-footer .copy .l-inner {
    justify-content: flex-end
  }
}

@media screen and (max-width: 767px) {
  .global-footer .copy .l-inner {
    justify-content: center
  }
}

.global-footer .copy small {
  font-family: "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.02em;
  opacity: 0.7
}

@media screen and (min-width: 768px) {
  .global-footer .copy small {
    font-size: 12px
  }
}

@media screen and (max-width: 767px) {
  .global-footer .copy small {
    font-size: 11px
  }
}

.global-footer .page-top {
  position: absolute;
  right: 0;
  top: 20px;
  width: 45px;
  height: 155px;
  border-radius: 6px 0 0 6px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  font-size: 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: color .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .global-footer .page-top:hover {
    color: #43a4e1
  }
}

@media screen and (max-width: 767px) {
  .global-footer .page-top {
    display: none
  }
}

.global-footer .page-top::before {
  content: '';
  display: block;
  width: 11px;
  height: 19px;
  background: url(../img/common/footer-arrow.png) no-repeat center/cover;
  margin-bottom: 20px
}

.global-footer .page-top span {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.12em
}

.page-mainVisual {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover
}

@media screen and (min-width: 768px) {
  .page-mainVisual {
    width: 100%
  }
}

.page-mainVisual .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start
}

@media screen and (min-width: 768px) {
  .page-mainVisual .inner {
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto;
    height: 260px
  }
}

@media screen and (max-width: 767px) {
  .page-mainVisual .inner {
    height: 130px;
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%)
  }
}

.page-mainVisual .mainVisual-heading {
  color: #fff;
  letter-spacing: 0.06em
}

@media screen and (min-width: 768px) {
  .page-mainVisual .mainVisual-heading {
    font-size: 30px
  }
}

@media screen and (max-width: 767px) {
  .page-mainVisual .mainVisual-heading {
    font-size: 22px
  }
}

@media screen and (min-width: 768px) {
  .contact-area {
    width: 100%;
    height: 340px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center
  }
}

@media screen and (min-width: 768px) {
  .contact-area .inner {
    width: 100%;
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: space-between
  }
}

@media screen and (max-width: 767px) {
  .contact-area .inner {
    padding-top: 50px;
    padding-bottom: 60px;
    padding-left: calc(60 / 750 * 100%);
    padding-right: calc(60 / 750 * 100%)
  }
}

.contact-area .contact-text .heading {
  color: #fff
}

@media screen and (min-width: 768px) {
  .contact-area .contact-text .heading {
    font-size: 56px
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-text .heading {
    font-size: 30px
  }
}

.contact-area .contact-text p {
  font-size: 18px;
  color: #fff;
  margin-top: 20px;
  line-height: 1.69444
}

@media screen and (max-width: 767px) {
  .contact-area .contact-text p {
    font-size: 16px
  }
}

@media screen and (min-width: 768px) {
  .contact-area .contact-box {
    width: 340px
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-box {
    margin-top: 25px
  }
}

.contact-area .contact-box .tel-fax {
  background: #fff
}

@media screen and (min-width: 768px) {
  .contact-area .contact-box .tel-fax {
    padding-top: 20px;
    padding-left: 40px;
    padding-right: 55px;
    padding-bottom: 25px
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-box .tel-fax {
    padding-top: 25px;
    padding-bottom: 30px;
    padding-left: calc(60 / 630 * 100%);
    padding-right: calc(60 / 630 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .contact-area .contact-box .tel-fax.tel-only {
    padding-top: 20px
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-box .tel-fax.tel-only {
    padding-left: calc(60 / 630 * 100%);
    padding-right: calc(60 / 630 * 100%)
  }
}

.contact-area .contact-box .tel-fax.tel-only .tel {
  border-bottom: none
}

.contact-area .contact-box .tel-fax.tel-only .link {
  border-bottom: none
}

@media screen and (min-width: 768px) {
  .contact-area .contact-box .tel-fax.tel-only .link {
    height: auto
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-box .tel-fax.tel-only .link {
    padding-top: 13px
  }
}

.contact-area .contact-box .tel-fax .tel {
  border-bottom: 1px solid #ddd
}

.contact-area .contact-box .tel-fax .fax {
  border-bottom: 1px solid #ddd
}

.contact-area .contact-box .tel-fax .name {
  text-align: center;
  font-size: 16px;
  line-height: 1.6875
}

@media screen and (min-width: 768px) {
  .contact-area .contact-box .tel-fax .name {
    margin-bottom: 5px
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-box .tel-fax .name {
    margin-bottom: 5px
  }
}

.contact-area .contact-box .tel-fax p {
  width: 100%
}

.contact-area .contact-box .tel-fax .link {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 22px;
  line-height: 1
}

@media screen and (min-width: 768px) {
  .contact-area .contact-box .tel-fax .link {
    height: 50px
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-box .tel-fax .link {
    font-size: 20px;
    padding-top: 13px;
    padding-bottom: 10px
  }
}

.contact-area .contact-box .tel-fax .link .number {
  letter-spacing: 0.06em
}

.contact-area .contact-box .tel-fax .link .f-small {
  font-size: 13px;
  display: inline-block;
  margin-right: 0.5em
}

@media screen and (max-width: 767px) {
  .contact-area .contact-box .tel-fax .link .f-small {
    font-size: 14px;
    margin-right: 1em
  }
}

.contact-area .contact-box .tel-fax .date {
  display: block;
  text-align: right;
  font-size: 13px
}

@media screen and (min-width: 768px) {
  .contact-area .contact-box .tel-fax .date {
    margin-top: 10px
  }
}

@media screen and (min-width: 768px) {
  .contact-area .contact-box .tel-fax .tel {
    pointer-events: none
  }
}

.contact-area .contact-box .tel-fax .tel .link::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/trading/tel.png) no-repeat center/cover
}

.contact-area .contact-box .tel-fax .fax .link::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/trading/fax.png) no-repeat center/cover
}

@media screen and (min-width: 768px) {
  .contact-area .contact-box .mail {
    margin-top: 2px
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-box .mail {
    margin-top: 4px
  }
}

.contact-area .contact-box .mail a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  background: #2890d2;
  font-size: 16px;
  color: #fff;
  transition: color .3s ease, background-color .3s ease
}

@media screen and (max-width: 767px) {
  .contact-area .contact-box .mail a {
    height: 65px
  }
}

@media (hover: hover) and (pointer: fine) {
  .contact-area .contact-box .mail a:hover {
    color: #43a4e1;
    background: #fff
  }
  .contact-area .contact-box .mail a:hover::before {
    background-image: url(../img/common/header-icon-contact-h.png)
  }
}

.contact-area .contact-box .mail a:before {
  content: "";
  display: block;
  width: 25px;
  height: 17px;
  background-image: url(../img/common/header-icon-contact.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-right: 20px;
  position: relative;
  top: 1px
}

@media screen and (max-width: 767px) {
  .contact-area .contact-box .mail a:before {
    width: 20px;
    height: 13px;
    margin-right: 10px
  }
}

@media screen and (min-width: 768px) {
  .contact-area .contact-hoso {
    width: 630px;
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 45px;
    padding-right: 45px;
    background: #fff;
    display: flex;
    align-items: center
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso {
    background: #fff;
    margin-top: 20px;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: calc(20 / 315 * 100%);
    padding-right: calc(20 / 315 * 100%)
  }
}

.contact-area .contact-hoso .logo {
  width: 126px;
  margin-right: 40px
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso .logo {
    display: none
  }
}

.contact-area .contact-hoso .contents .intro {
  font-size: 15px
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso .contents .intro {
    font-size: 11px
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso .contents .company-name-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 15px;
    margin-bottom: 10px
  }
  .contact-area .contact-hoso .contents .company-name-wrap::before {
    content: '';
    display: block;
    width: 63px;
    height: 65px;
    background: url(../img/hoso/logo.sp.png) no-repeat center/cover;
    margin-right: 15px
  }
}

.contact-area .contact-hoso .contents .company-name {
  font-size: 23px;
  margin-top: 10px;
  margin-bottom: 15px
}
.contact-area .contact-hoso .contents .company-name:hover a {
	color: #43a4e1;
	transition: color .3s ease;	
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso .contents .company-name {
    font-size: 18px
  }
}

.contact-area .contact-hoso .contents .company-name span {
  font-size: 13px
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso .contents .company-name span {
    display: block;
    margin-top: 10px;
    font-size: 12px
  }
}

.contact-area .contact-hoso .contents .tel {
  border-bottom: 1px solid #ddd
}

@media screen and (min-width: 768px) {
  .contact-area .contact-hoso .contents .tel {
    display: flex;
    align-items: center
  }
}

.contact-area .contact-hoso .contents .fax {
  border-bottom: 1px solid #ddd
}

@media screen and (min-width: 768px) {
  .contact-area .contact-hoso .contents .fax {
    display: flex;
    align-items: center
  }
}

.contact-area .contact-hoso .contents .link {
  width: 100%;
  display: flex;
  line-height: 1
}

@media screen and (min-width: 768px) {
  .contact-area .contact-hoso .contents .link {
    font-size: 24px;
    align-items: center;
    height: 50px
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso .contents .link {
    align-items: flex-start;
    justify-content: center;
    font-size: 20px;
    padding-top: 13px;
    padding-bottom: 10px
  }
}

.contact-area .contact-hoso .contents .link .number {
  display: flex;
  align-items: center
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso .contents .link .number {
    align-items: flex-start
  }
}

.contact-area .contact-hoso .contents .link .f-small {
  font-size: 13px;
  display: inline-block;
  margin-right: 0.5em
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso .contents .link .f-small {
    display: block;
    font-size: 14px;
    position: relative;
    top: 3px
  }
}

@media screen and (min-width: 768px) {
  .contact-area .contact-hoso .contents .link .flex-wrap {
    display: flex;
    align-items: center
  }
}

.contact-area .contact-hoso .contents .date {
  display: block
}

@media screen and (min-width: 768px) {
  .contact-area .contact-hoso .contents .date {
    text-align: right;
    font-size: 13px;
    flex-shrink: 0;
    margin-left: 10px
  }
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso .contents .date {
    font-size: 13px;
    display: block;
    padding-top: 10px
  }
}

@media screen and (min-width: 768px) {
  .contact-area .contact-hoso .contents .tel {
    pointer-events: none
  }
}

.contact-area .contact-hoso .contents .tel .link::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/trading/tel.png) no-repeat center/cover;
  margin-right: 20px
}

@media screen and (max-width: 767px) {
  .contact-area .contact-hoso .contents .tel .link::before {
    position: relative;
    top: -2px
  }
}

.fixed-contact {
  transition: opacity .3s ease, visibility .3s ease
}

@media screen and (min-width: 768px) {
  .fixed-contact {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none
  }
}

@media screen and (max-width: 767px) {
  .fixed-contact {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 2
  }
}

.fixed-contact.is-hide {
  opacity: 0;
  visibility: hidden
}

.fixed-contact .inner {
  transition: transform .5s ease
}

@media screen and (min-width: 768px) {
  .fixed-contact .inner {
    display: flex;
    z-index: 2;
    transform: translateX(280px);
    height: 270px;
    pointer-events: auto
  }
  .fixed-contact .inner.is-active {
    transform: translateX(0)
  }
}

@media screen and (max-width: 767px) {
  .fixed-contact .inner {
    width: 100%;
    transform: translateY(calc(100% - 50px))
  }
  .fixed-contact .inner.is-active {
    transform: translateY(0)
  }
}

@media screen and (min-width: 768px) {
  .fixed-contact .fixed-area {
    width: 50px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #43a4e1;
    border-radius: 5px 0 0 5px;
    cursor: pointer;
    transition: opacity .3s ease
  }
}

@media (hover: hover) and (pointer: fine) {
  .fixed-contact .fixed-area:hover {
    opacity: .9
  }
}

@media screen and (max-width: 767px) {
  .fixed-contact .fixed-area {
    height: 50px;
    background: #43a4e1;
    border-radius: 5px 5px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%
  }
}

.fixed-contact .fixed-area span {
  letter-spacing: 0.1em;
  color: #fff
}

@media screen and (min-width: 768px) {
  .fixed-contact .fixed-area span {
    display: block;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 16px
  }
}

@media screen and (max-width: 767px) {
  .fixed-contact .fixed-area span {
    font-size: 18px
  }
}

.fixed-contact .fixed-area:before {
  content: "";
  display: block;
  background-image: url(../img/common/header-icon-contact.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover
}

@media screen and (min-width: 768px) {
  .fixed-contact .fixed-area:before {
    width: 25px;
    height: 17px;
    margin-bottom: 10px
  }
}

@media screen and (max-width: 767px) {
  .fixed-contact .fixed-area:before {
    width: 30px;
    height: 20px;
    margin-right: 10px
  }
}

.fixed-contact .hide-area {
  display: flex;
  flex-direction: column;
  border-top: 2px solid #43a4e1;
  border-bottom: 2px solid #43a4e1
}

@media screen and (min-width: 768px) {
  .fixed-contact .hide-area {
    width: 280px
  }
}

@media screen and (max-width: 767px) {
  .fixed-contact .hide-area {
    border-right: 2px solid #43a4e1;
    border-left: 2px solid #43a4e1
  }
}

.fixed-contact .hide-area .top {
  background: #f5f5f5
}

@media screen and (min-width: 768px) {
  .fixed-contact .hide-area .top {
    padding-top: 30px;
    padding-bottom: 30px
  }
}

@media screen and (max-width: 767px) {
  .fixed-contact .hide-area .top {
    padding-top: 25px;
    padding-bottom: 20px
  }
}

.fixed-contact .hide-area .top .name {
  text-align: center;
  font-size: 16px;
  margin-bottom: 15px
}

.fixed-contact .hide-area .top p {
  display: flex;
  justify-content: center
}

.fixed-contact .hide-area .top p:not(:first-of-type) {
  margin-top: 10px
}

@media screen and (max-width: 767px) {
  .fixed-contact .hide-area .top p:not(:first-of-type) {
    margin-top: 10px
  }
}

.fixed-contact .hide-area .top .link {
  display: flex;
  align-items: center
}

.fixed-contact .hide-area .top .link .number {
  color: #0095d9
}

@media screen and (min-width: 768px) {
  .fixed-contact .hide-area .top .link .number {
    font-size: 24px
  }
}

@media screen and (max-width: 767px) {
  .fixed-contact .hide-area .top .link .number {
    font-size: 20px
  }
}

.fixed-contact .hide-area .top .link .number .f-small {
  color: #333;
  display: inline-block;
  margin-right: 10px;
  font-size: 15px
}

@media screen and (min-width: 768px) {
  .fixed-contact .hide-area .top .tel {
    pointer-events: none
  }
}

.fixed-contact .hide-area .bottom {
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center
}

@media screen and (min-width: 768px) {
  .fixed-contact .hide-area .bottom {
    height: 100%
  }
}

@media screen and (max-width: 767px) {
  .fixed-contact .hide-area .bottom {
    padding-top: 20px;
    padding-bottom: 20px
  }
}

.fixed-contact .hide-area .bottom .l-border-button {
  width: 220px;
  height: 45px
}

@media screen and (max-width: 767px) {
  .fixed-contact .hide-area .bottom .l-border-button {
    width: 200px
  }
}

@media (hover: hover) and (pointer: fine) {
  .fixed-contact .hide-area .bottom .l-border-button:hover .link::before {
    background-image: url(../img/common/header-icon-contact-h.png)
  }
}

.fixed-contact .hide-area .bottom .l-border-button .link {
  font-size: 16px;
  justify-content: center
}

.fixed-contact .hide-area .bottom .l-border-button .link:before {
  content: "";
  display: block;
  width: 21px;
  height: 14px;
  background-image: url(../img/common/header-icon-contact.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 14px
}

@media screen and (min-width: 768px) {
  .page-container.contact-form .page-header {
    padding-bottom: 0
  }
}

@media screen and (max-width: 767px) {
  .page-container.contact-form .page-header {
    padding-bottom: 40px
  }
}

@media screen and (min-width: 768px) {
  .page-container .page-header {
    padding-bottom: 75px
  }
}

@media screen and (max-width: 767px) {
  .page-container .page-header {
    padding-bottom: 45px
  }
}

.page-container .page-header .page-heading {
  font-weight: bold;
  line-height: 1.5
}

@media screen and (min-width: 768px) {
  .page-container .page-header .page-heading {
    font-size: 24px
  }
}

@media screen and (max-width: 767px) {
  .page-container .page-header .page-heading {
    font-size: 21px
  }
}

@media screen and (min-width: 768px) {
  .page-container .page-header .page-heading .font-small {
    font-size: 24px
  }
}

.page-container .page-header .intro-text {
  font-size: 15px;
  line-height: 1.7;
  margin-top: 40px
}

@media screen and (min-width: 768px) {
  .page-container .page-wrap {
    position: relative;
    padding-bottom: 100px
  }
}

@media screen and (min-width: 768px) {
  .page-container .page-wrap>.inner {
    display: flex;
    align-items: flex-start;
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto;
    position: relative
  }
}

@media screen and (min-width: 768px) {
  .page-container .page-contents {
    flex: 1;
    width: 100%
  }
}

@media screen and (max-width: 767px) {
  .page-container .page-contents {
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%);
    padding-bottom: 75px
  }
}

.page-container .page-contents .column:not(:first-of-type) {
  margin-top: 80px
}

@media screen and (max-width: 767px) {
  .page-container .page-contents .column:not(:first-of-type) {
    margin-top: 70px
  }
}

@media screen and (min-width: 768px) {
  .page-container .page-contents .column .l-heading {
    font-size: 24px
  }
}

@media screen and (max-width: 767px) {
  .page-container .page-contents .column .l-heading {
    font-size: 22px
  }
}

.page-container .page-contents .column .l-heading+.text {
  margin-top: 25px
}

.page-container .page-contents .column .text {
  line-height: 1.92857;
  margin-top: 30px
}

@media screen and (min-width: 768px) {
  .page-container .page-contents .column .text {
    font-size: 14px
  }
}

@media screen and (max-width: 767px) {
  .page-container .page-contents .column .text {
    font-size: 15px
  }
}

@media screen and (min-width: 768px) {
  .page-container .page-contents .column .text.font-large {
    font-size: 20px;
    line-height: 1.7
  }
}

@media screen and (max-width: 767px) {
  .page-container .page-contents .column .text.font-large {
    font-size: 18px;
    line-height: 1.5
  }
}


@media screen and (min-width: 768px) {
  .page-container .page-contents .column .text.housing-font-large {
    font-size: 15px;
    line-height: 1.7
  }
}

@media screen and (max-width: 767px) {
  .page-container .page-contents .column .text.housing-font-large {
    font-size: 18px;
    line-height: 1.5
  }
}



.page-container .page-contents .column .contents-image {
  margin-top: 25px
}

@media screen and (max-width: 767px) {
  .page-container .page-contents .column .contents-image {
    margin-top: 20px
  }
}

.page-container .page-contents .column .banner {
  display: block
}

@media screen and (min-width: 768px) {
  .page-container .page-contents .column .banner {
    margin-top: 25px
  }
}

@media screen and (max-width: 767px) {
  .page-container .page-contents .column .banner {
    margin-top: 20px
  }
}

@media screen and (min-width: 768px) {
  .page-container .page-contents .column .sub-heading {
	font-size: 24px;
	margin-top: 45px;
	line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .page-container .page-contents .column .sub-heading {
    font-size: 20px;
    margin-top: 30px;
    line-height: 1.6
  }
}

@media screen and (min-width: 768px) {
  .page-container .sidebar {
    flex-shrink: 0;
    width: 220px;
    margin-left: 60px;
    position: -webkit-sticky;
    position: sticky;
    top: 100px
  }
}

@media screen and (max-width: 767px) {
  .page-container .sidebar {
    display: none
  }
}

@media screen and (min-width: 768px) {
  .page-container .sidebar .l-heading {
    margin-top: 4px;
    font-size: 20px
  }
}

.page-container .sidebar .l-heading::after {
  width: 85px
}

.page-container .sidebar .sidebar-menu {
  font-size: 14px;
  padding-top: 15px
}

@media screen and (max-width: 767px) {
  .page-container .sidebar .sidebar-menu {
    display: none
  }
}

.page-container .sidebar .sidebar-menu li {
  width: 100%
}

.page-container .sidebar .sidebar-menu li a {
  height: 46px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #ddd;
  transition: color .3s ease, border .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .page-container .sidebar .sidebar-menu li a:hover {
    color: #43a4e1;
    border-color: #43a4e1
  }
}

.page-container .sidebar .sidebar-menu li i {
  width: 19px;
  height: 11px;
  background: url(../img/trading/sidebar-arrow.png) no-repeat center/cover
}

.page-container .sidebar .sns {
  display: flex;
  align-items: center;
  margin-top: 25px
}

.page-container .sidebar .sns a {
  display: block;
  transition: opacity .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .page-container .sidebar .sns a:hover {
    opacity: 0.7
  }
}

.page-container .sidebar .sns .youtube {
  width: 23px
}

.page-container .sidebar .sns .twitter {
  width: 20px;
  margin-left: 15px
}

@media screen and (min-width: 768px) {
  .page-container .col04-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col04-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 25px
  }
}

@media screen and (min-width: 768px) {
  .page-container .col04-list+.col02-list {
    margin-top: 60px
  }
}

@media screen and (min-width: 768px) {
  .page-container .col04-list .col04 {
    width: calc(240 / 1020 * 100%)
  }
  .page-container .col04-list .col04:not(:nth-child(4n+1)) {
    margin-left: calc(20 / 1020 * 100%)
  }
  .page-container .col04-list .col04:not(:nth-child(-n+4)) {
    margin-top: calc(20 / 1020 * 100%)
  }
}

@media screen and (max-width: 767px) {
  .page-container .col04-list .col04 {
    width: calc(160 / 335 * 100%)
  }
  .page-container .col04-list .col04:not(:nth-child(2n+1)) {
    margin-left: calc(15 / 335 * 100%)
  }
  .page-container .col04-list .col04:not(:nth-child(-n+2)) {
    margin-top: calc(15 / 335 * 100%)
  }
}

.page-container .col04-list .col04 .link {
  display: block
}

.page-container .col04-list .col04 .border {
  border: 1px solid #ddd
}

.page-container .col04-list .col04 dt {
  line-height: 1.3125;
  margin-top: 15px
}

@media screen and (min-width: 768px) {
  .page-container .col04-list .col04 dt {
    font-size: 16px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col04-list .col04 dt {
    font-size: 15px
  }
}

.page-container .col04-list .col04 dd {
  margin-top: 10px;
  line-height: 1.71429
}

@media screen and (min-width: 768px) {
  .page-container .col04-list .col04 dd {
    font-size: 14px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col04-list .col04 dd {
    font-size: 13px
  }
}

.page-container .col04-list .col04 p {
  line-height: 1.71429
}

@media screen and (min-width: 768px) {
  .page-container .col04-list .col04 p {
    font-size: 14px;
    margin-top: 15px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col04-list .col04 p {
    font-size: 13px;
    margin-top: 10px
  }
}

@media screen and (min-width: 768px) {
  .page-container .col03-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col03-list {
    margin-top: 25px
  }
}

@media screen and (min-width: 768px) {
  .page-container .col03-list+.col02-list {
    margin-top: 60px
  }
}

@media screen and (min-width: 768px) {
  .page-container .col03-list .col03 {
    width: calc(230 / 740 * 100%)
  }
  .page-container .col03-list .col03:not(:nth-child(3n+1)) {
    margin-left: calc(25 / 740 * 100%)
  }
  .page-container .col03-list .col03:not(:nth-child(-n+3)) {
    margin-top: calc(25 / 740 * 100%)
  }
}

@media screen and (max-width: 767px) {
  .page-container .col03-list .col03:not(:first-of-type) {
    margin-top: 30px
  }
}

.page-container .col03-list .col03 .link {
  display: block
}

.page-container .col03-list .col03 .border {
  border: 1px solid #ddd
}

.page-container .col03-list .col03 dt {
  line-height: 1.3125;
  margin-top: 15px
}

@media screen and (min-width: 768px) {
  .page-container .col03-list .col03 dt {
    font-size: 16px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col03-list .col03 dt {
    font-size: 15px
  }
}

.page-container .col03-list .col03 dd {
  margin-top: 10px;
  line-height: 1.71429
}

@media screen and (min-width: 768px) {
  .page-container .col03-list .col03 dd {
    font-size: 14px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col03-list .col03 dd {
    font-size: 13px
  }
}

.page-container .col03-list .col03 p {
  line-height: 1.71429
}

@media screen and (min-width: 768px) {
  .page-container .col03-list .col03 p {
    font-size: 14px;
    margin-top: 15px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col03-list .col03 p {
    font-size: 13px;
    margin-top: 10px
  }
}

@media screen and (min-width: 768px) {
  .page-container .col02-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col02-list {
    margin-top: 30px
  }
}

@media screen and (min-width: 768px) {
  .page-container .col02-list .col02 {
    width: calc(355 / 740 * 100%)
  }
  .page-container .col02-list .col02:not(:nth-child(3n+1)) {
    margin-left: calc(30 / 740 * 100%)
  }
  .page-container .col02-list .col02:not(:nth-child(-n+3)) {
    margin-top: calc(30 / 740 * 100%)
  }
}

@media screen and (max-width: 767px) {
  .page-container .col02-list .col02:not(:first-of-type) {
    margin-top: 30px
  }
}

.page-container .col02-list .col02 .link {
  display: block
}

.page-container .col02-list .col02 .border {
  border: 1px solid #ddd
}

.page-container .col02-list .col02 dt {
  line-height: 1.6875;
  margin-top: 15px
}

@media screen and (min-width: 768px) {
  .page-container .col02-list .col02 dt {
    font-size: 16px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col02-list .col02 dt {
    font-size: 15px
  }
}

.page-container .col02-list .col02 dd {
  margin-top: 10px;
  line-height: 1.71429
}

@media screen and (min-width: 768px) {
  .page-container .col02-list .col02 dd {
    font-size: 14px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col02-list .col02 dd {
    font-size: 13px
  }
}

.page-container .col02-list .col02 p {
  line-height: 1.71429
}

@media screen and (min-width: 768px) {
  .page-container .col02-list .col02 p {
    font-size: 14px;
    margin-top: 15px
  }
}

@media screen and (max-width: 767px) {
  .page-container .col02-list .col02 p {
    font-size: 13px;
    margin-top: 10px
  }
}

.page-container .col02-list .col02 .iframe-wrap {
  width: 100%;
  position: relative
}

.page-container .col02-list .col02 .iframe-wrap::before {
  content: '';
  display: block;
  width: 100%;
  padding-top: calc(280 / 495 * 100%)
}

.page-container .col02-list .col02 .iframe-wrap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}

.page-container .airconstruction-image01 {
  border: 1px solid #ddd
}

@media screen and (min-width: 768px) {
  .page-container .airconstruction-image01 {
    max-width: 500px
  }
}

.page-container .list {
  font-size: 14px;
  line-height: 1.92857;
  margin-top: 25px
}

.page-container .list li {
  padding-left: 1em;
  text-indent: -1em
}

.page-container .gray-list {
  background: #f5f5f5
}

@media screen and (min-width: 768px) {
  .page-container .gray-list {
    font-size: 14px;
    padding-top: 10px;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 25px
  }
}

@media screen and (max-width: 767px) {
  .page-container .gray-list {
    font-size: 13px;
    padding: 20px;
    margin-top: 20px
  }
}

@media screen and (min-width: 768px) {
  .page-container .gray-list li {
    display: inline-block;
    margin-right: 20px;
    margin-top: 10px
  }
}

@media screen and (max-width: 767px) {
  .page-container .gray-list li:not(:first-child) {
    margin-top: 10px
  }
}

.page-container .notice {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 12px;
  line-height: calc(21 /12);
  margin-top: 25px
}

.l-inner {
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto
}

.l-inner.wide {
  max-width: 1366px
}

@media screen and (min-width: 768px) {
  .l-inner {
    padding-left: 40px;
    padding-right: 40px
  }
}

@media screen and (max-width: 767px) {
  .l-inner {
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%)
  }
}

.l-breadCrumb {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
  overflow: auto
}

@media screen and (min-width: 768px) {
  .l-breadCrumb {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 20px;
    padding-bottom: 80px
  }
}

@media screen and (max-width: 767px) {
  .l-breadCrumb {
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%);
    padding-top: 10px;
    padding-bottom: 20px;
    margin-bottom: 20px
  }
}

.l-breadCrumb li {
  letter-spacing: 0.024em
}

@media screen and (min-width: 768px) {
  .l-breadCrumb li {
    font-size: 13px
  }
}

@media screen and (max-width: 767px) {
  .l-breadCrumb li {
    font-size: 11px
  }
}

.l-breadCrumb li a {
  color: #888;
  transition: color .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .l-breadCrumb li a:hover {
    color: #333
  }
}

.l-breadCrumb li a::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 10px;
  background: url(../img/common/breadcrumb-arrow.png) no-repeat center/cover;
  margin: 0 10px
}

@media screen and (max-width: 767px) {
  .l-breadCrumb li a::after {
    width: 5px;
    height: 9px
  }
}

.l-breadCrumb li span {
  color: #333
}

.l-heading {
  line-height: 1.33333;
  font-weight: bold;
  padding-bottom: 15px;
  position: relative
}

.l-heading::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1
}

.l-heading::after {
  content: '';
  display: block;
  width: 300px;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2
}

@media screen and (max-width: 767px) {
  .l-heading::after {
    width: calc(200 / 670 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .l-heading .font-small {
    font-size: 18px
  }
}

.l-heading .en {
  color: #43a4e1;
  display: inline-block
}

@media screen and (min-width: 768px) {
  .l-heading .en {
    margin-left: 20px;
    font-size: 18px
  }
}

@media screen and (max-width: 767px) {
  .l-heading .en {
    margin-left: 10px;
    font-size: 12px
  }
}

.l-heading.light-blue::before {
  background: #ddd
}

.l-heading.light-blue::after {
  background: #0095d9
}

.l-form-container {
  position: relative
}

@media screen and (min-width: 768px) {
  .l-form-container {
    padding-top: 40px;
    margin-top: 40px
  }
  .l-form-container .l-border-button {
    height: 45px;
    font-size: 15px;
    line-height: 1
  }
}

@media screen and (max-width: 767px) {
  .l-form-container {
    padding-top: 35px
  }
  .l-form-container .l-border-button {
    height: 45px;
    font-size: 15px;
    line-height: 1
  }
}

.l-form-container::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #DDD;
  position: absolute;
  left: 0;
  top: 0
}

.l-form-container::after {
  content: '';
  display: block;
  width: calc(300 / 740 * 100%);
  height: 2px;
  background: #0095D9;
  position: absolute;
  left: 0;
  top: 0
}

@media screen and (max-width: 767px) {
  .l-form-container::after {
    width: calc(96 / 330 * 100%)
  }
}

.l-form-container button {
  cursor: pointer
}

.l-form-container form>.confirm-column:first-of-type {
  padding-top: 0
}

@media screen and (min-width: 768px) {
  .l-form-container form>.form-column-group+.form-column-group {
    margin-top: 30px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container form>.form-column-group+.form-column-group {
    margin-top: 25px
  }
}

@media screen and (min-width: 768px) {
  .l-form-container .form-column-group>*+* {
    margin-top: 10px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .form-column-group>*+* {
    margin-top: 25px
  }
}

@media screen and (min-width: 768px) {
  .l-form-container .form-column {
    display: flex;
    align-items: flex-start
  }
}

.l-form-container .form-column .form-title {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: bold
}

@media screen and (min-width: 768px) {
  .l-form-container .form-column .form-title {
    min-width: 320px
  }
  .l-form-container .form-column .form-title span {
    display: inline-block;
    min-width: 175px
  }
  .l-form-container .form-column .form-title .f-small {
    font-size: 13px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .form-column .form-title .f-small {
    font-size: 12px
  }
}

.l-form-container .form-column .form-title.exception {
  align-items: flex-start
}

@media screen and (max-width: 767px) {
  .l-form-container .form-column .form-title.exception {
    align-items: center
  }
}

@media screen and (min-width: 768px) {
  .l-form-container .form-column .form-title.exception .f-small {
    display: block;
    margin-top: 10px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .form-column .form-title.exception .f-small {
    display: inline-block
  }
}

.l-form-container .form-column .form-title.req::after {
  content: '必須';
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 21px;
  border: 1px solid #EB0505;
  font-size: 13px;
  color: #EB0505;
  font-weight: normal;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "Hiragino Sans", Meiryo, sans-serif;
  box-sizing: border-box
}

@media screen and (max-width: 767px) {
  .l-form-container .form-column .form-title.req::after {
    margin-left: 20px
  }
}

.l-form-container .form-column .form-contents {
  width: 100%
}

@media screen and (max-width: 767px) {
  .l-form-container .form-column .form-contents {
    margin-top: 10px
  }
}

@media screen and (min-width: 768px) {
  .l-form-container .form-column .form-contents .agree {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.71429
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .form-column .form-contents .agree {
    font-size: 14px;
    line-height: 1.71429;
    margin-top: 15px;
    padding-left: 1em
  }
}

.l-form-container .form-column .form-contents .agree a {
  color: #43A4E1
}

@media (hover: hover) and (pointer: fine) {
  .l-form-container .form-column .form-contents .agree a:hover {
    text-decoration: underline
  }
}

.l-form-container .form-column .form-contents .agree .error {
  color: #EB0000
}

@media screen and (min-width: 768px) {
  .l-form-container .confirm-column {
    max-width: 740px;
    display: flex;
    border-bottom: 1px solid #ddd;
    padding-top: 20px;
    padding-bottom: 20px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .confirm-column {
    padding-top: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ddd
  }
}

.l-form-container .confirm-column dt {
  font-size: 16px;
  font-weight: bold
}

@media screen and (min-width: 768px) {
  .l-form-container .confirm-column dt {
    line-height: 1.8;
    min-width: 240px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .confirm-column dt {
    margin-bottom: 10px
  }
}

.l-form-container .confirm-column dd {
  font-size: 15px;
  line-height: 1.8
}

@media screen and (min-width: 768px) {
  .l-form-container .confirm-btn-wrapper {
    max-width: 740px;
    display: flex;
    justify-content: center;
    margin-top: 40px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .confirm-btn-wrapper {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    margin-top: 30px
  }
}

.l-form-container .confirm-btn-wrapper .back-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #ddd;
  color: #888
}

@media screen and (min-width: 768px) {
  .l-form-container .confirm-btn-wrapper .back-btn {
    width: 155px;
    height: 45px;
    font-size: 15px;
    margin-right: 20px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .confirm-btn-wrapper .back-btn {
    width: 235px;
    height: 45px;
    font-size: 15px;
    margin-top: 20px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .confirm-btn-wrapper .l-border-button {
    width: 235px
  }
}

.l-form-container .complete .heading {
  font-size: 20px;
  font-weight: bold
}

.l-form-container .complete .text {
  font-size: 15px;
  line-height: 1.8;
  margin-top: 40px;
  margin-bottom: 30px
}

.l-form-container .complete .note {
  font-size: 12px;
  line-height: 1.42857
}

.l-form-container .complete .note:not(:first-of-type) {
  margin-top: 10px
}

@media screen and (min-width: 768px) {
  .l-form-container .radio-wrap {
    display: flex;
    flex-direction: column
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .radio-wrap {
    margin-top: 20px
  }
}

.l-form-container .radio-wrap>*+* {
  margin-top: 15px
}

.l-form-container .error-list {
  border: 1px solid #EB0505;
  color: #EB0505
}

@media screen and (min-width: 768px) {
  .l-form-container .error-list {
    font-size: 13px;
    padding: 20px;
    margin-bottom: 45px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .error-list {
    font-size: 13px;
    padding: calc(20 / 335 * 100%);
    margin-bottom: 35px
  }
}

.l-form-container .error-list li {
  line-height: 1.5
}

.l-form-container .error-list li:not(:first-child) {
  margin-top: 10px
}

.l-form-container .error-list li::before {
  content: '・'
}

.l-form-container .error-text {
  color: #EB0505;
  margin-top: 10px
}

@media screen and (min-width: 768px) {
  .l-form-container .error-text {
    font-size: 13px
  }
}

@media screen and (max-width: 767px) {
  .l-form-container .error-text {
    font-size: 12px
  }
}

.cmn-input {
  width: 100%;
  max-width: 420px;
  height: 34px;
  position: relative
}

.cmn-input.small {
  max-width: 200px
}

.cmn-input input[type="text"] {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #F5F5F5;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 15px
}

.cmn-input input[type="text"].error {
  background: #FFEBEB
}

.cmn-radio {
  display: flex;
  align-items: center;
  cursor: pointer
}

.cmn-radio .icon {
  width: 15px;
  height: 15px;
  background: url(../img/common/icon-radio.png) no-repeat center/cover;
  margin-right: 10px
}

.cmn-radio .text {
  font-size: 15px
}

.cmn-radio input[type="radio"] {
  display: none
}

.cmn-radio input[type="radio"]:checked+.icon {
  background-image: url(../img/common/icon-radio-hover.png)
}

.cmn-checkbox {
  display: flex;
  align-items: center;
  cursor: pointer
}

.cmn-checkbox .icon {
  width: 15px;
  height: 15px;
  background: url(../img/common/icon-checkbox.png) no-repeat center/cover;
  margin-right: 10px
}

.cmn-checkbox .text {
  font-size: 15px
}

.cmn-checkbox input[type="checkbox"] {
  display: none
}

.cmn-checkbox input[type="checkbox"].error+.icon {
  background-image: url(../img/common/icon-checkbox-error.png)
}

.cmn-checkbox input[type="checkbox"]:checked+.icon {
  background-image: url(../img/common/icon-checkbox-active.png)
}

.cmn-textarea textarea {
  max-width: 420px;
  width: 100%;
  min-height: 150px;
  background: #F5F5F5;
  padding: 10px;
  font-size: 15px
}

.cmn-textarea textarea.error {
  background: #FFEBEB
}

.department {
  position: relative
}

@media screen and (min-width: 768px) {
  .department {
    padding-top: 30px;
    margin-top: 100px;
    margin-left: auto;
    margin-right: auto
  }
}

@media screen and (max-width: 767px) {
  .department {
    margin-top: 80px;
    padding-top: 40px
  }
}

.department::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #DDD;
  position: absolute;
  left: 0;
  top: 0
}

.department::after {
  content: '';
  display: block;
  width: calc(300 / 740 * 100%);
  height: 2px;
  background: #0095D9;
  position: absolute;
  left: 0;
  top: 0
}

.department .contact-area {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  background: none !important
}

.department .contact-box {
  border: 1px solid #ddd
}

@media screen and (min-width: 768px) {
  .department .contact-box {
    width: 355px
  }
  .department .contact-box:not(:nth-child(2n+1)) {
    margin-left: 30px
  }
  .department .contact-box:not(:nth-child(-n+2)) {
    margin-top: 20px
  }
}

@media screen and (max-width: 767px) {
  .department .contact-box {
    width: 100%;
    margin-top: 0
  }
  .department .contact-box:not(:first-of-type) {
    margin-top: 20px
  }
}

@media screen and (min-width: 768px) {
  .department .contact-box .tel-fax {
    padding-top: 35px !important;
    padding-bottom: 33px
  }
}

@media screen and (max-width: 767px) {
  .department .contact-box .tel-fax {
    padding-top: 25px;
    padding-left: calc(23 / 335 * 100%);
    padding-right: calc(23 / 335 * 100%)
  }
}

.department .contact-box .tel-fax .name {
  font-size: 16px;
  text-align: left;
  line-height: 1.6875;
  margin-bottom: 10px
}

@media screen and (max-width: 767px) {
  .department .contact-box .tel-fax .name {
    margin-bottom: 20px
  }
}

@media screen and (max-width: 767px) {
  .department .contact-box .tel-fax.tel-only {
    padding-left: calc(23 / 335 * 100%);
    padding-right: calc(23 / 335 * 100%)
  }
}

.department .contact-box .tel-fax.tel-only .tel {
  border-bottom: none
}

.department .contact-box .tel-fax.tel-only .link {
  align-items: flex-start
}

@media screen and (max-width: 767px) {
  .department .contact-box .tel-fax .date {
    margin-top: 10px
  }
}

@media screen and (max-width: 767px) {
  .department .contact-box .tel-fax .tel .link {
    background: #43A4E1;
    color: #fff;
    font-size: 20px;
    padding-left: calc(18 / 288 * 100%);
    padding-right: calc(18 / 288 * 100%)
  }
  .department .contact-box .tel-fax .tel .link::before {
    background-image: url(../img/trading/tel-white.png)
  }
}

@media screen and (max-width: 767px) {
  .department .contact-box .tel-fax .fax .link {
    font-size: 20px;
    padding-left: calc(18 / 288 * 100%);
    padding-right: calc(18 / 288 * 100%)
  }
  .department .contact-box .tel-fax .fax .link .number {
    position: relative;
    top: -3px
  }
}

@-webkit-keyframes move {
  0% {
    transform: translate(0)
  }
  30% {
    transform: translate(110%)
  }
  31% {
    transform: translate(-110%)
  }
  100% {
    transform: translate(0)
  }
}

@keyframes move {
  0% {
    transform: translate(0)
  }
  30% {
    transform: translate(110%)
  }
  31% {
    transform: translate(-110%)
  }
  100% {
    transform: translate(0)
  }
}

.l-border-button {
  position: relative
}

.l-border-button.bg-blue {
  background: #43a4e1;
  transition: background-color .3s ease;
  display: inline-block
}

.l-border-button.bg-blue .link {
  color: #fff;
  transition: color .3s ease;
  padding-left: 20px;
  padding-right: 20px
}

.l-border-button.bg-blue .link .arrow {
  margin-left: 20px
}

.l-border-button.bg-blue .link .arrow::before {
  background: url(../img/common/white-arrow.png) no-repeat center/cover
}

.l-border-button.bg-blue .link .external {
  margin-left: 20px;
  background: url(../img/common/white-external.png) no-repeat center/cover
}

.l-border-button.bg-blue .link .pdf {
  margin-left: 20px;
  background: url(../img/common/white-pdf.png) no-repeat center/cover
}

@media (hover: hover) and (pointer: fine) {
  .l-border-button.bg-blue:hover {
    background-color: #fff
  }
  .l-border-button.bg-blue:hover .link {
    color: #43a4e1
  }
  .l-border-button.bg-blue:hover .link .arrow::before {
    -webkit-animation: move 0.9s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    animation: move 0.9s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    background: url(../img/common/blue-arrow.png) no-repeat center/cover
  }
  .l-border-button.bg-blue:hover .link .external {
    background: url(../img/common/blue-external.png) no-repeat center/cover
  }
  .l-border-button.bg-blue:hover .link .pdf {
    background: url(../img/common/blue-pdf.png) no-repeat center/cover
  }
  .l-border-button.bg-blue:hover .border .border-top {
    transform: translateX(0)
  }
  .l-border-button.bg-blue:hover .border .border-right {
    transform: translateY(0)
  }
  .l-border-button.bg-blue:hover .border .border-bottom {
    transform: translateX(0)
  }
  .l-border-button.bg-blue:hover .border .border-left {
    transform: translateY(0)
  }
}

.l-border-button.bg-white {
  background: #fff
}

.l-border-button.bg-white .link {
  padding-left: 20px;
  padding-right: 20px;
  transition: color .3s ease
}

.l-border-button.bg-white .link .arrow {
  margin-left: 20px
}

.l-border-button.bg-white .link .arrow::before {
  background: url(../img/common/blue-arrow.png) no-repeat center/cover
}

.l-border-button.bg-white .border .border-top {
  background: #fff !important
}

.l-border-button.bg-white .border .border-right {
  background: #fff !important
}

.l-border-button.bg-white .border .border-bottom {
  background: #fff !important
}

.l-border-button.bg-white .border .border-left {
  background: #fff !important
}

@media (hover: hover) and (pointer: fine) {
  .l-border-button.bg-white:hover .link {
    color: #43a4e1
  }
  .l-border-button.bg-white:hover .link .arrow::before {
    -webkit-animation: move 0.9s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    animation: move 0.9s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    background: url(../img/common/blue-arrow.png) no-repeat center/cover
  }
  .l-border-button.bg-white:hover .border .border-top {
    transform: translateX(0);
    background: #43a4e1 !important
  }
  .l-border-button.bg-white:hover .border .border-right {
    transform: translateY(0);
    background: #43a4e1 !important
  }
  .l-border-button.bg-white:hover .border .border-bottom {
    transform: translateX(0);
    background: #43a4e1 !important
  }
  .l-border-button.bg-white:hover .border .border-left {
    transform: translateY(0);
    background: #43a4e1 !important
  }
}

.l-border-button.center .link {
  justify-content: center
}

.l-border-button .link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 15px;
  padding-right: 15px;
  letter-spacing: 0.12em;
  pointer-events: auto
}

.l-border-button .link .arrow {
  width: 20px;
  height: 20px;
  overflow: hidden;
  transition: transform .3s ease;
  position: relative
}

.l-border-button .link .arrow::before {
  content: '';
  display: block;
  width: 19px;
  height: 11px;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto
}

.l-border-button .link .external {
  width: 11px;
  height: 11px
}

.l-border-button .link .pdf {
  width: 13px;
  height: 16px
}

.l-border-button .border {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none
}

.l-border-button .border .border-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  transform: translateX(-101%);
  background: #43a4e1;
  transition: transform .3s ease .3s
}

.l-border-button .border .border-right {
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
  transform: translateY(-101%);
  background: #43a4e1;
  transition: transform .3s ease .3s
}

.l-border-button .border .border-bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  transform: translateX(101%);
  background: #43a4e1;
  transition: transform .3s ease .3s
}

.l-border-button .border .border-left {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 100%;
  transform: translateY(101%);
  background: #43a4e1;
  transition: transform .3s ease .3s
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  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 {
  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
}

.page-cm .page-mainVisual {
  background-image: url(../img/cm/mv.jpg)
}

.page-cm .column .small {
  font-size: 10px;
  line-height: 1.6;
  display: block;
  margin-top: 0.5em
}

.page-cm .column .small a {
  color: #43a4e1
}

@media (hover: hover) and (pointer: fine) {
  .page-cm .column .small a:hover {
    text-decoration: underline
  }
}

.page-cm .column .cm-heading {
  font-weight: bold
}

@media screen and (min-width: 768px) {
  .page-cm .column .cm-heading {
    font-size: 24px;
    margin-top: 50px
  }
}

@media screen and (max-width: 767px) {
  .page-cm .column .cm-heading {
    font-size: 20px;
    margin-top: 30px
  }
  .page-cm .page-mainVisual {
  	background-image: url(../img/cm/mv.sp.jpg)
  }

}

.page-cm .column .cm-text {
  line-height: 2;
  margin-top: 25px
}

@media screen and (min-width: 768px) {
  .page-cm .column .cm-text {
    font-size: 14px
  }
}

@media screen and (max-width: 767px) {
  .page-cm .column .cm-text {
    font-size: 13px
  }
}

.page-cm .column .cm-text b {
  font-weight: bold
}

.page-cm .column .contents-image01 {
  max-width: 496px;
  margin-top: 30px
}

.page-cm .column .contents-image02 {
  max-width: 720px;
  margin-top: 30px
}

@media screen and (min-width: 768px) {
  .cold-common .page-mainVisual {
    background-image: url(../img/cold/mv.jpg)
  }
}

@media screen and (max-width: 767px) {
  .cold-common .page-mainVisual {
    background-image: url(../img/cold/mv.sp.jpg)
  }
}

@media screen and (min-width: 768px) {
  .cold-common .contact-area {
    background: url(../img/cold/contact-bg.jpg) no-repeat center/cover
  }
}

@media screen and (max-width: 767px) {
  .cold-common .contact-area {
    background: url(../img/cold/contact-bg.sp.jpg) no-repeat center/cover
  }
}

@media screen and (min-width: 768px) {
  .cold-common .page-container.contact-form {
    padding-top: 0
  }
}

.cold-common .page-container .page-header {
  padding-top: 0
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .column:not(:first-of-type) {
    margin-top: 100px
  }
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .news-list {
    margin-top: 10px
  }
}

.cold-common .page-container .page-contents .news-list li {
  border-bottom: 1px solid #ddd;
  overflow: hidden;
}

.cold-common .page-container .page-contents .news-list li:first-of-type {
  border-top: 1px solid #ddd
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .news-list li .link {
    display: flex;
    align-items: center;
    font-size: 15px;
    padding-top: 20px;
    padding-bottom: 20px
  }
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .news-list li .link {
    display: block;
    font-size: 15px;
    padding-top: 20px;
    padding-bottom: 20px
  }
}

@media (hover: hover) and (pointer: fine) {
  .cold-common .page-container .page-contents .news-list li .link:hover .date {
    color: #0095d9
  }
  .cold-common .page-container .page-contents .news-list li .link:hover .news-title {
    color: #0095d9
  }
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .news-list li .head {
    flex-shrink: 0;
    min-width: 180px;
    display: flex;
    align-items: center
  }
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .news-list li .head {
    display: flex;
    align-items: center
  }
}

.cold-common .page-container .page-contents .news-list li .head .date {
  transition: color .3s ease
}

.cold-common .page-container .page-contents .news-list li .head .cat {
  color: #0095d9
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .news-list li .head .cat {
    min-width: 120px;
    display: flex;
    justify-content: center
  }
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .news-list li .head .cat {
    margin-left: 15px
  }
}

.cold-common .page-container .page-contents .news-list li .news-title {
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color .3s ease
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .news-list li .news-title {
    margin-top: 15px
  }
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .column-wrapper {
    display: flex
  }
}

.cold-common .page-container .page-contents .column-wrapper .block {
  width: 100%
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .column-wrapper .block:not(:first-child) {
    margin-left: 40px
  }
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .column-wrapper .block:not(:first-of-type) {
    margin-top: 60px
  }
}

.cold-common .page-container .page-contents .column-wrapper .block .panel-list li {
  width: 100%
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .flex-wrapper {
    display: flex;
    align-items: center
  }
  .cold-common .page-container .page-contents .flex-wrapper picture {
    flex-shrink: 0;
    max-width: 495px
  }
  .cold-common .page-container .page-contents .flex-wrapper .flex-contents {
    margin-left: 30px
  }
  .cold-common .page-container .page-contents .flex-wrapper .flex-contents .text {
    margin: 20px 0;
    font-size: 13px
  }
  .cold-common .page-container .page-contents .flex-wrapper .heading {
    font-size: 24px;
    line-height: 1.70833
  }
  .cold-common .page-container .page-contents .flex-wrapper .l-border-button, .cold-common .page-container .page-contents .column-wrapper .l-border-button {
    font-size: 15px;
    height: 45px
  }
	.cold-common .page-container .page-contents .column-wrapper .l-border-button{
		margin-top: 20px;
	}
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .flex-wrapper .flex-contents {
    margin-top: 15px
  }
  .cold-common .page-container .page-contents .flex-wrapper .flex-contents .text {
    margin: 15px 0;
    font-size: 13px
  }
  .cold-common .page-container .page-contents .flex-wrapper .heading {
    font-size: 16px;
    line-height: 1.28125
  }
  .cold-common .page-container .page-contents .flex-wrapper .l-border-button {
    font-size: 15px;
    height: 45px
  }
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .panel-list {
    display: flex;
    padding-top: 30px
  }
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .panel-list {
    margin-top: 20px
  }
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .panel-list li {
    width: 48.52941%
  }
  .cold-common .page-container .page-contents .panel-list li:not(:first-child) {
    margin-left: 30px
  }
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .panel-list li:not(:first-child) {
    margin-top: 30px
  }
}

/*.cold-common .page-container .page-contents .panel-list li .link {
  display: block
}*/

@media (hover: hover) and (pointer: fine) {
  .cold-common .page-container .page-contents .panel-list li .link:hover picture {
    transform: scale(1.05)
  }
  .cold-common .page-container .page-contents .panel-list li .link:hover .title {
    color: #43a4e1
  }
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .panel-list li .thumb {
    position: relative;
    overflow: hidden
  }
  .cold-common .page-container .page-contents .panel-list li .thumb::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 38.80597%
  }
  .cold-common .page-container .page-contents .panel-list li .thumb picture {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
    transition: transform .5s ease
  }
}

.cold-common .page-container .page-contents .panel-list li .title {
  font-size: 16px;
  margin-top: 20px;
  transition: color .5s ease
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .panel-list li .title {
    font-size: 15px
  }
}

.cold-common .page-container .page-contents .panel-list li .title::after {
  content: '';
  display: inline-block;
  width: 19px;
  height: 11px;
  background: url(../img/cold/blue-arrow.png) no-repeat center/cover;
  margin-left: 20px
}

.cold-common .page-container .page-contents .panel-list li .panel-text {
  font-size: 14px;
  margin-top: 20px
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .panel-list li .panel-text {
    font-size: 13px
  }
}

.cold-common .page-container .page-contents .link-btn-wrapper {
  margin-top: 30px
}

.cold-common .page-container .page-contents .link-btn-wrapper .l-border-button {
  height: 45px;
  font-size: 15px
}

.cold-common .page-container .page-contents .sub-title {
  font-weight: bold
}

@media screen and (min-width: 768px) {
  .cold-common .page-container .page-contents .sub-title {
    font-size: 18px;
    margin-top: 45px
  }
}

@media screen and (max-width: 767px) {
  .cold-common .page-container .page-contents .sub-title {
    font-size: 16px;
    margin-top: 30px
  }
}
.cold-common .cold-flow video{
	width: 100%;
}

@media screen and (min-width: 768px) {
  .page-merit .l-heading+.merit-heading:first-of-type {
    margin-top: 30px !important
  }
}

@media screen and (max-width: 767px) {
  .page-merit .l-heading+.merit-heading:first-of-type {
    margin-top: 20px !important
  }
}

@media screen and (min-width: 768px) {
  .page-merit .page-container .page-contents .column .merit-heading {
    font-size: 24px;
    line-height: 1.70833;
    margin-top: 50px;
    margin-bottom: 5px
  }
}

@media screen and (max-width: 767px) {
  .page-merit .page-container .page-contents .column .merit-heading {
    font-size: 20px;
    line-height: 1.6;
    margin-top: 30px;
    margin-bottom: 10px
  }
}

.page-merit .page-container .page-contents .column .merit-heading+.text {
  margin-top: 0
}

.page-merit .page-container .page-contents .column .font18 {
  font-size: 18px
}

@media screen and (max-width: 767px) {
  .page-merit .page-container .page-contents .column .font18 {
    font-size: 16px
  }
}

.page-merit .page-container .page-contents .column picture {
  max-width: 765px
}

@media screen and (min-width: 768px) {
  .page-merit .page-container .page-contents .thumb-column {
    display: flex;
    align-items: center
  }
}

.page-merit .page-container .page-contents .thumb-column picture {
  max-width: 320px
}

@media screen and (min-width: 768px) {
  .page-merit .page-container .page-contents .thumb-column .wrap {
    margin-left: 30px
  }
}

@media screen and (min-width: 768px) {
  .page-merit .page-container .page-contents .thumb-column .thumb-column-heading {
    font-size: 24px;
    line-height: 1.5
  }
}

@media screen and (max-width: 767px) {
  .page-merit .page-container .page-contents .thumb-column .thumb-column-heading {
    font-size: 20px;
    line-height: 1.6;
    margin-top: 20px
  }
}

@media screen and (min-width: 768px) {
  .page-merit .page-container .page-contents .thumb-column .thumb-column-text {
    font-size: 14px;
    line-height: 1.92857;
    margin-top: 20px
  }
}

@media screen and (max-width: 767px) {
  .page-merit .page-container .page-contents .thumb-column .thumb-column-text {
    font-size: 13px;
    line-height: 1.6;
    margin-top: 10px
  }
}

@media screen and (min-width: 768px) {
  .hoso-common .page-mainVisual {
    background-image: url(../img/hoso/mv.jpg)
  }
}

@media screen and (max-width: 767px) {
  .hoso-common .page-mainVisual {
    background-image: url(../img/hoso/mv.sp.jpg)
  }
}

@media screen and (min-width: 768px) {
  .hoso-common .contact-area {
    background: url(../img/hoso/contact-bg.jpg) no-repeat center/cover
  }
}

@media screen and (max-width: 767px) {
  .hoso-common .contact-area {
    background: url(../img/hoso/contact-bg.sp.jpg) no-repeat center/cover
  }
}

@media screen and (min-width: 768px) {
  .hoso-common .page-container.contact-form {
    padding-top: 0
  }
}

.hoso-common .page-container .page-header {
  padding-top: 90px;
  padding-bottom: 0;
}
.hoso-common .page-container .page-header .l-inner{
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-header {
    padding-top: 0;
	margin-bottom: -20px;
  }
}
.hoso-common .page-container .page-contents .news-list {
  width: 100%
}

@media screen and (min-width: 768px) {
  .hoso-common .page-container .page-contents .news-list {
    margin-top: 10px
  }
}

.hoso-common .page-container .page-contents .news-list li {
  border-bottom: 1px solid #ddd;
  overflow: hidden;
}

.hoso-common .page-container .page-contents .news-list li:first-of-type {
  border-top: 1px solid #ddd
}

@media screen and (min-width: 768px) {
  .hoso-common .page-container .page-contents .news-list li .link {
    display: flex;
    align-items: center;
    font-size: 15px;
    padding-top: 20px;
    padding-bottom: 20px
  }
}

@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-contents .news-list li .link {
    display: block;
    font-size: 15px;
    padding-top: 20px;
    padding-bottom: 20px
  }
}

@media (hover: hover) and (pointer: fine) {
  .hoso-common .page-container .page-contents .news-list li .link:hover .date {
    color: #0095d9
  }
  .hoso-common .page-container .page-contents .news-list li .link:hover .news-title {
    color: #0095d9
  }
}

@media screen and (min-width: 768px) {
  .hoso-common .page-container .page-contents .news-list li .head {
    flex-shrink: 0;
    min-width: 180px;
    display: flex;
    align-items: center
  }
}

@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-contents .news-list li .head {
    display: flex;
    align-items: center
  }
}

.hoso-common .page-container .page-contents .news-list li .head .date {
  transition: color .3s ease
}

.hoso-common .page-container .page-contents .news-list li .head .cat {
  color: #0095d9
}

@media screen and (min-width: 768px) {
  .hoso-common .page-container .page-contents .news-list li .head .cat {
    min-width: 120px;
    display: flex;
    justify-content: center
  }
}

@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-contents .news-list li .head .cat {
    margin-left: 15px
  }
}

.hoso-common .page-container .page-contents .news-list li .news-title {
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color .3s ease
}

@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-contents .news-list li .news-title {
    margin-top: 15px
  }
}

@media screen and (min-width: 768px) {
  .hoso-common .page-container .page-contents .flex-wrapper {
    display: flex;
    align-items: center
  }
  .hoso-common .page-container .page-contents .flex-wrapper picture {
    flex-shrink: 0;
    max-width: 495px
  }
  .hoso-common .page-container .page-contents .flex-wrapper .flex-contents {
    margin-left: 30px
  }
  .hoso-common .page-container .page-contents .flex-wrapper .flex-contents .text {
    margin: 20px 0;
    font-size: 13px
  }
  .hoso-common .page-container .page-contents .flex-wrapper .heading {
    font-size: 24px;
    line-height: 1.70833
  }
  .hoso-common .page-container .page-contents .flex-wrapper .l-border-button {
    font-size: 15px;
    height: 45px
  }
}

@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-contents .flex-wrapper .flex-contents {
    margin-top: 15px
  }
  .hoso-common .page-container .page-contents .flex-wrapper .flex-contents .text {
    margin: 15px 0;
    font-size: 13px
  }
  .hoso-common .page-container .page-contents .flex-wrapper .heading {
    font-size: 16px;
    line-height: 1.28125
  }
  .hoso-common .page-container .page-contents .flex-wrapper .l-border-button {
    font-size: 15px;
    height: 45px
  }
}

@media screen and (min-width: 768px) {
  .hoso-common .page-container .page-contents .panel-list {
    display: flex;
    padding-top: 30px
  }
}

@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-contents .panel-list {
    margin-top: 20px
  }
}

@media screen and (min-width: 768px) {
  .hoso-common .page-container .page-contents .panel-list li {
    width: 48.52941%
  }
  .hoso-common .page-container .page-contents .panel-list li:not(:first-child) {
    margin-left: 30px
  }
}

@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-contents .panel-list li:not(:first-child) {
    margin-top: 30px
  }
}

.hoso-common .page-container .page-contents .panel-list li .link {
  display: block
}

@media (hover: hover) and (pointer: fine) {
  .hoso-common .page-container .page-contents .panel-list li .link:hover picture {
    transform: scale(1.05)
  }
  .hoso-common .page-container .page-contents .panel-list li .link:hover .title {
    color: #43a4e1
  }
}

@media screen and (min-width: 768px) {
  .hoso-common .page-container .page-contents .panel-list li .thumb {
    position: relative;
    overflow: hidden
  }
  .hoso-common .page-container .page-contents .panel-list li .thumb::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 38.80597%
  }
  .hoso-common .page-container .page-contents .panel-list li .thumb picture {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
    transition: transform .5s ease
  }
}

.hoso-common .page-container .page-contents .panel-list li .title {
  font-size: 16px;
  margin-top: 20px;
  transition: color .5s ease
}

@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-contents .panel-list li .title {
    font-size: 15px
  }
}

.hoso-common .page-container .page-contents .panel-list li .title::after {
  content: '';
  display: inline-block;
  width: 19px;
  height: 11px;
  background: url(../img/cold/blue-arrow.png) no-repeat center/cover;
  margin-left: 20px
}

.hoso-common .page-container .page-contents .panel-list li .panel-text {
  font-size: 14px;
  margin-top: 20px
}

@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-contents .panel-list li .panel-text {
    font-size: 13px
  }
}

.hoso-common .page-container .page-contents .link-btn-wrapper {
  margin-top: 30px
}

.hoso-common .page-container .page-contents .link-btn-wrapper .l-border-button {
  height: 45px;
  font-size: 15px
}

.hoso-common .page-container .page-contents .sub-title {
  font-weight: bold
}

@media screen and (min-width: 768px) {
  .hoso-common .page-container .page-contents .sub-title {
    font-size: 18px;
    margin-top: 45px
  }
}

@media screen and (max-width: 767px) {
  .hoso-common .page-container .page-contents .sub-title {
    font-size: 16px;
    margin-top: 30px
  }
}

@media screen and (min-width: 768px) {
	.hoso-common .page-container .col03-list .col03{
	width: calc(330 / 1020 * 100%);
	}
	.hoso-common .page-container .col03-list .col03:not(:nth-child(3n+1)){
	margin-left: calc(15 / 1020 * 100%);
  }
}

@media screen and (min-width: 768px) {
  .hoso-index .l-breadCrumb {
    padding-bottom: 70px
  }
}

.hoso-index .contents-heading {
  display: flex;
  align-items: flex-end;
  font-weight: bold
}

@media screen and (min-width: 768px) {
  .hoso-index .contents-heading {
    font-size: 34px;
    /*margin-top: 150px*/
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .contents-heading {
    font-size: 22px;
    margin-top: 70px
  }
}

.hoso-index .contents-heading span {
  display: inline-block;
  margin-left: 15px;
  color: #43a4e1
}

@media screen and (min-width: 768px) {
  .hoso-index .contents-heading span {
    font-size: 18px
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .contents-heading span {
    font-size: 12px
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .contents-heading+.column {
    margin-top: 40px !important
  }
}

@media screen and (min-width: 768px) {
  .hoso-index .page-container .page-contents .column {
    margin-top: 60px
  }
  .hoso-index .page-container .page-contents .column.space-large {
    margin-top: 140px
  }
  .hoso-index .page-container .page-contents .column:first-of-type {
    margin-top: 0
  }
}

.hoso-index .page-container .page-contents .column .l-heading {
  font-size: 24px
}

@media screen and (max-width: 767px) {
  .hoso-index .page-container .page-contents .column .l-heading {
    font-size: 22px !important
  }
}

@media screen and (min-width: 768px) {
  .hoso-index .page-container .page-contents .column .l-heading.big {
    font-size: 34px
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .page-container .page-contents .column .l-heading.big {
    font-size: 22px
  }
}

@media screen and (min-width: 768px) {
  .hoso-index .page-container .page-contents .column .l-heading .heading-small {
    font-size: 18px
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .page-container .page-contents .column .l-heading .heading-small {
    font-size: 15px
  }
}

.hoso-index .page-container .page-contents .column .l-heading .font-large {
  font-size: 24px
}

@media screen and (max-width: 767px) {
  .hoso-index .page-container .page-contents .column .l-heading .font-large {
    font-size: 22px
  }
}

.hoso-index .page-container .page-contents .column .l-heading .font-small {
  font-weight: normal
}

@media screen and (min-width: 768px) {
  .hoso-index .page-container .page-contents .column .l-heading .font-small {
    display: inline-block;
    margin-left: 20px;
    font-size: 12px
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .page-container .page-contents .column .l-heading .font-small {
    display: block;
    font-size: 11px;
    margin-top: 10px
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .page-container .page-contents .column .l-heading .en {
    display: block;
    margin-left: 0;
    margin-top: 10px
  }
  .hoso-index .page-container .page-contents .column .l-heading .en.inline {
    display: inline-block;
    margin-left: 10px
  }
}

@media (hover: hover) and (pointer: fine) {
  .hoso-index .col04-list .col04:hover .text {
    color: #43a4e1
  }
  .hoso-index .col04-list .col04:hover img {
    transform: scale(1.05)
  }
}

.hoso-index .col04-list .col04 picture {
  max-width: 240px;
  overflow: hidden
}

.hoso-index .col04-list .col04 picture img {
  transition: transform .5s ease
}

.hoso-index .col04-list .col04 .text {
  margin-top: 10px;
  font-size: 16px;
  transition: color .5s ease
}

@media screen and (max-width: 767px) {
  .hoso-index .col04-list .col04 .text {
    font-size: 13px;
    font-size: 13px
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .col03-list.two {
    display: flex;
    flex-wrap: wrap
  }
  .hoso-index .col03-list.two .col03 {
    width: calc(160 / 335 * 100%)
  }
  .hoso-index .col03-list.two .col03:not(:first-of-type) {
    margin-top: 0
  }
  .hoso-index .col03-list.two .col03:not(:nth-child(2n+1)) {
    margin-left: calc(15 / 335 * 100%)
  }
  .hoso-index .col03-list.two .col03:not(:nth-child(-n+2)) {
    margin-top: calc(15 / 335 * 100%)
  }
  .hoso-index .col03-list.two .col03:nth-child(2) .external:after, .hoso-index .col03-list.two .col03:nth-child(5) .external:after {
    margin-left: 0
  }
}

@media (hover: hover) and (pointer: fine) {
  .hoso-index .col03-list .col03:hover .text {
    color: #43a4e1
  }
  .hoso-index .col03-list .col03:hover dt {
    color: #43a4e1
  }
  .hoso-index .col03-list .col03:hover img {
    transform: scale(1.05)
  }
}


.hoso-index .col03-list .col03 picture {
  max-width: 326px;
  overflow: hidden
}

.hoso-index .col03-list .col03 picture img {
  transition: transform .5s ease
}

.hoso-index .col03-list .col03 dt {
  transition: color .5s ease
}

.hoso-index .col03-list .col03 dt::after {
  content: '';
  display: inline-block;
  margin-left: 15px;
  width: 19px;
  height: 11px;
  background: url(../img/common/blue-arrow.png) no-repeat center/cover
}

.hoso-index .col03-list .col03 .text {
  margin-top: 15px;
  font-size: 16px;
  transition: color .5s ease
}

@media screen and (max-width: 767px) {
  .hoso-index .col03-list .col03 .text {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.5
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .col03-list .col03 .text .link {
    display: inline-block;
    margin-right: 5px
  }
}

.hoso-index .external::after {
  content: '';
  display: inline-block;
  width: 11px;
  height: 11px;
  background: url(../img/common/blue-external.png) no-repeat center/cover
}

@media screen and (min-width: 768px) {
  .hoso-index .external::after {
    margin-left: 15px
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .external::after {
    margin-left: 10px
  }
}

.hoso-index .support .fullsupport-image {
  flex-shrink: 0
}

@media screen and (min-width: 768px) {
  .hoso-index .support .fullsupport-image {
    width: 495px
  }
}

@media screen and (min-width: 768px) {
  .hoso-index .support .flex-wrapper {
    margin-top: 30px
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .support .flex-wrapper {
    margin-top: 15px
  }
}

@media screen and (min-width: 768px) {
  .hoso-index .support .contents {
    margin-left: 30px
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .support .contents {
    margin-top: 30px
  }
}

.hoso-index .support .contents .title {
  font-weight: bold
}

@media screen and (min-width: 768px) {
  .hoso-index .support .contents .title {
    font-size: 20px;
    line-height: 1.7
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .support .contents .title {
    font-size: 15px;
    line-height: 1.6875
  }
}

@media screen and (max-width: 767px) {
  .hoso-index .support .contents .text {
    font-size: 13px;
    margin-top: 20px
  }
}

.hoso-index .contact-area .contact-text .heading {
  font-size: 46px
}

@media screen and (min-width: 768px) {
  .inquiry-page .page-mainVisual {
    background-image: url(../img/inquiry/mv.jpg)
  }
}

@media screen and (max-width: 767px) {
  .inquiry-page .page-mainVisual {
    background-image: url(../img/inquiry/mv.sp.jpg)
  }
}

.inquiry-page .page-header {
  padding-bottom: 0 !important
}

.inquiry-page .inquiry-text {
  font-size: 15px;
  line-height: 1.7;
  margin-top: 30px
}

@media screen and (min-width: 768px) {
  .inquiry-page .inquiry-link-list {
    margin-top: 25px;
    display: flex
  }
}

@media screen and (max-width: 767px) {
  .inquiry-page .inquiry-link-list {
    margin-top: 40px;
    margin-bottom: 40px
  }
}

@media screen and (min-width: 768px) {
  .inquiry-page .inquiry-link-list li:not(:first-of-type) {
    margin-left: 20px
  }
}

@media screen and (max-width: 767px) {
  .inquiry-page .inquiry-link-list li:not(:first-of-type) {
    margin-top: 20px
  }
}

.inquiry-page .inquiry-link-list .l-border-button {
  height: 70px;
  font-size: 15px;
  line-height: 1.6
}

@media screen and (max-width: 767px) {
  .inquiry-page .inquiry-link-list .l-border-button {
    width: 244px
  }
  .inquiry-page .inquiry-link-list .l-border-button .link i {
    margin-left: 10px
  }
}

.inquiry-page .inquiry-link-list p {
  margin-top: 10px;
  font-size: 13px
}

.soft-common {
  background: #0D1520
}

@media screen and (min-width: 768px) {
  .soft-common .soft-bg {
    width: 100%;
    height: 260px;
    background: url(../img/soft/mv.png) no-repeat center/cover
  }
}

@media screen and (max-width: 767px) {
  .soft-common .soft-bg {
    width: 100%;
    height: 130px;
    background: url(../img/soft/mv.sp.png) no-repeat center/cover
  }
}

.soft-common .l-breadCrumb {
  padding-bottom: 20px
}

.soft-common .l-breadCrumb span {
  color: #fff
}

@media (hover: hover) and (pointer: fine) {
  .soft-common .l-breadCrumb a:hover {
    color: #fff
  }
}

.soft-common .soft-nav {
  width: 100%;
  display: flex;
  justify-content: center;
  border-top: 1px solid #363D46;
  border-bottom: 1px solid #363D46
}

@media screen and (max-width: 767px) {
  .soft-common .soft-nav {
    justify-content: space-between;
    padding-left: calc(20 / 375 * 100%);
    padding-right: calc(20 / 375 * 100%)
  }
}

.soft-common .soft-nav li {
  display: flex;
  align-items: center;
  height: 50px;
  color: #fff;
  font-size: 18px;
  position: relative;
  transition: color .3s ease
}

@media screen and (min-width: 768px) {
  /* いったん全ての margin をリセット（以前の指定が残らないように） */
  .soft-common .soft-nav li {
    margin-left: 0;
    margin-right: 0;
  }

  /* 「2番目以降のすべての項目」の左側に 50px の隙間を空ける */
  .soft-common .soft-nav li:not(:first-child) {
    margin-left: 50px;
  }
}

@media screen and (max-width: 767px) {
  .soft-common .soft-nav li {
    font-size: 13px
  }
}

@media (hover: hover) and (pointer: fine) {
  .soft-common .soft-nav li:hover {
    color: #43A4E1
  }
}

.soft-common .soft-nav li::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #43A4E1;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0
}

.soft-common .soft-nav li.current::before {
  opacity: 1
}

.soft-common .common-heading {
  color: #fff
}

@media screen and (min-width: 768px) {
  .soft-common .common-heading {
    display: flex;
    align-items: flex-end;
    font-size: 56px
  }
}

@media screen and (max-width: 767px) {
  .soft-common .common-heading {
    font-size: 40px
  }
}

@media screen and (max-width: 767px) {
  .soft-common .common-heading.sp-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-left: calc(20 / 375 * 100%);
    padding-right: calc(20 / 375 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .soft-common .common-heading span {
    display: inline-block;
    margin-left: 20px;
    font-size: 16px
  }
}

@media screen and (max-width: 767px) {
  .soft-common .common-heading span {
    display: block;
    font-size: 15px;
    margin-top: 15px
  }
}

.soft-common .common-heading a {
  display: flex;
  align-items: center
}

@media screen and (min-width: 768px) {
  .soft-common .common-heading a {
    margin-left: 20px;
    font-size: 15px
  }
}

@media screen and (max-width: 767px) {
  .soft-common .common-heading a {
    font-size: 15px
  }
}

.soft-common .common-heading a.icon-twitter {
  transition: color .3s ease
}

.soft-common .common-heading a.icon-twitter .icon {
  display: block;
  width: 18px;
  height: 15px;
  position: relative;
  margin-right: 10px
}

.soft-common .common-heading a.icon-twitter .icon::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../img/soft/x.png) no-repeat center/cover;
  transition: opacity .3s ease
}

.soft-common .common-heading a.icon-twitter .icon::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../img/soft/x-h.png) no-repeat center/cover;
  opacity: 0;
  transition: opacity .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .soft-common .common-heading a.icon-twitter:hover {
    color: #1DA1F2
  }
  .soft-common .common-heading a.icon-twitter:hover .icon::before {
    opacity: 0
  }
  .soft-common .common-heading a.icon-twitter:hover .icon::after {
    opacity: 1
  }
}

.soft-common .common-heading a.icon-facebook {
  transition: color .3s ease
}

.soft-common .common-heading a.icon-facebook .icon {
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  position: relative
}

.soft-common .common-heading a.icon-facebook .icon::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../img/soft/facebook.png) no-repeat center/cover;
  transition: opacity .3s ease
}

.soft-common .common-heading a.icon-facebook .icon::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../img/soft/facebook-h.png) no-repeat center/cover;
  opacity: 0;
  transition: opacity .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .soft-common .common-heading a.icon-facebook:hover {
    color: #1778F2
  }
  .soft-common .common-heading a.icon-facebook:hover .icon::before {
    opacity: 0
  }
  .soft-common .common-heading a.icon-facebook:hover .icon::after {
    opacity: 1
  }
}

.soft-common .common-heading a.icon-instagram {
  transition: color .3s ease
}

.soft-common .common-heading a.icon-instagram .icon {
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  position: relative
}

.soft-common .common-heading a.icon-instagram .icon::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../img/soft/instagram.png) no-repeat center/cover;
  transition: opacity .3s ease
}

.soft-common .common-heading a.icon-instagram .icon::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../img/soft/instagram-h.png) no-repeat center/cover;
  opacity: 0;
  transition: opacity .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .soft-common .common-heading a.icon-instagram:hover {
    color: #1778F2
  }
  .soft-common .common-heading a.icon-instagram:hover .icon::before {
    opacity: 0
  }
  .soft-common .common-heading a.icon-instagram:hover .icon::after {
    opacity: 1
  }
}


.soft-common .common-sub-heading {
  color: #fff
}

@media screen and (min-width: 768px) {
  .soft-common .common-sub-heading {
    font-size: 40px
  }
}

@media screen and (max-width: 767px) {
  .soft-common .common-sub-heading {
    font-size: 26px
  }
}

@media screen and (min-width: 768px) {
  .soft-common .calender {
    margin-top: 90px;
    padding-left: 10px;
    padding-right: 10px
  }
}

@media screen and (max-width: 767px) {
  .soft-common .calender {
    margin-top: 80px
  }
}

@media screen and (min-width: 768px) {
  .soft-common .calender .inner {
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto
  }
}

@media screen and (min-width: 768px) {
  .soft-common .calender .head {
    display: flex;
    justify-content: space-between
  }
}

@media screen and (max-width: 767px) {
  .soft-common .calender .head {
    padding-left: calc(20 / 375 * 100%);
    padding-right: calc(20 / 375 * 100%)
  }
}

.soft-common .calender .l-border-button {
  font-size: 15px;
  height: 45px
}

@media screen and (max-width: 767px) {
  .soft-common .calender .l-border-button {
    font-size: 15px;
    height: 45px;
    margin-top: 30px
  }
}

.soft-common .calender .wrapper {
  background: #fff
}

@media screen and (min-width: 768px) {
  .soft-common .calender .wrapper {
    margin-top: 25px;
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
    justify-content: center
  }
}

@media screen and (max-width: 767px) {
  .soft-common .calender .wrapper {
    padding: 20px;
    margin-top: 40px
  }
  .soft-common .calender .wrapper iframe {
    width: 100%;
    height: 330px
  }
}

@media screen and (min-width: 768px) {
  .soft-common .l-contents-footer {
    padding-top: 100px;
    padding-bottom: 110px
  }
}

@media screen and (max-width: 767px) {
  .soft-common .l-contents-footer {
    padding-top: 80px;
    padding-bottom: 80px
  }
}

.soft-common .l-contents-footer .foot-sns {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px
}

.soft-common .l-contents-footer .foot-sns .twitter-icon {
  display: block;
  width: 27px;
  height: 22px;
  position: relative
}

.soft-common .l-contents-footer .foot-sns .twitter-icon::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/soft/x.png) no-repeat center/cover;
  transition: opacity .3s ease
}

.soft-common .l-contents-footer .foot-sns .twitter-icon::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/soft/x-h.png) no-repeat center/cover;
  transition: opacity .3s ease;
  opacity: 0
}

@media (hover: hover) and (pointer: fine) {
  .soft-common .l-contents-footer .foot-sns .twitter-icon:hover::before {
    opacity: 0
  }
  .soft-common .l-contents-footer .foot-sns .twitter-icon:hover::after {
    opacity: 1
  }
}

.soft-common .l-contents-footer .foot-sns .facebook-icon {
  display: block;
  width: 26px;
  height: 26px;
  margin-left: 30px;
  position: relative;
  background: url(../img/soft/facebook.png) no-repeat center/cover
}

.soft-common .l-contents-footer .foot-sns .facebook-icon::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/soft/facebook.png) no-repeat center/cover;
  transition: opacity .3s ease
}

.soft-common .l-contents-footer .foot-sns .facebook-icon::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/soft/facebook-h.png) no-repeat center/cover;
  transition: opacity .3s ease;
  opacity: 0
}

@media (hover: hover) and (pointer: fine) {
  .soft-common .l-contents-footer .foot-sns .facebook-icon:hover::before {
    opacity: 0
  }
  .soft-common .l-contents-footer .foot-sns .facebook-icon:hover::after {
    opacity: 1
  }
}

.soft-common .l-contents-footer .foot-sns .instagram-icon {
  display: block;
  width: 26px;
  height: 26px;
  margin-left: 30px;
  position: relative;
  background: url(../img/soft/instagram.png) no-repeat center/cover
}

.soft-common .l-contents-footer .foot-sns .instagram-icon::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/soft/instagram.png) no-repeat center/cover;
  transition: opacity .3s ease
}

.soft-common .l-contents-footer .foot-sns .instagram-icon::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/soft/instagram-h.png) no-repeat center/cover;
  transition: opacity .3s ease;
  opacity: 0
}

@media (hover: hover) and (pointer: fine) {
  .soft-common .l-contents-footer .foot-sns .instagram-icon:hover::before {
    opacity: 0
  }
  .soft-common .l-contents-footer .foot-sns .instagram-icon:hover::after {
    opacity: 1
  }
}


.soft-game-detail {
  color: #fff
}

.soft-game-detail .score .inner, .soft-game-detail .result .inner {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .inner, .soft-game-detail .result .inner {
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%)
  }
}

.soft-game-detail .score .common-heading, .soft-game-detail .result .common-heading {
  margin-bottom: 55px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .common-heading, .soft-game-detail .result .common-heading {
    font-size: 40px;
    margin-bottom: 60px
  }
  .soft-game-detail .score .common-heading span, .soft-game-detail .result .common-heading span {
    display: none
  }
}

.soft-game-detail .score .l-heading, .soft-game-detail .result .l-heading {
  font-size: 24px;
  letter-spacing: 0.1em;
  margin-bottom: 20px
}

.soft-game-detail .score .l-heading::before, .soft-game-detail .result .l-heading::before {
  height: 1px;
  background: rgba(255, 255, 255, 0.2)
}

.soft-game-detail .score .l-heading::after, .soft-game-detail .result .l-heading::after {
  height: 1px;
  background: #43A4E1
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .l-heading, .soft-game-detail .result .l-heading {
    font-size: 22px;
    letter-spacing: 0;
    margin-bottom: 30px
  }
}

.soft-game-detail .score {
  margin-top: 90px
}

.soft-game-detail .score .match {
  position: relative;
  display: flex;
  justify-content: center
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .match {
    margin-left: -10px;
    margin-right: -10px
  }
}

.soft-game-detail .score .match:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

@media screen and (min-width: 768px) {
  .soft-game-detail .score .match:before {
    width: 50px;
    height: 43px;
    background: url(../img/soft/game/detail/vs.png) no-repeat center/cover
  }
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .match:before {
    width: 42px;
    height: 36px;
    background: url(../img/soft/game/detail/vs.sp.png) no-repeat center/cover
  }
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .match:before {
    font-size: 50px
  }
}

.soft-game-detail .score .match .team {
  width: 300px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .match .team {
    width: calc(50% - 25px)
  }
}

.soft-game-detail .score .match .team:nth-child(1) {
  margin-right: 60px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .match .team:nth-child(1) {
    margin-right: 25px
  }
}

.soft-game-detail .score .match .team:nth-child(2) {
  margin-left: 60px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .match .team:nth-child(2) {
    margin-left: 25px
  }
}

.soft-game-detail .score .match .team .name {
  font-size: 40px;
  letter-spacing: 0.08em;
  text-align: center
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .match .team .name {
    font-size: 20px
  }
}

.soft-game-detail .score .match .team .name span {
  margin-right: 0.4em;
  font-size: 16px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .match .team .name span {
    font-size: 12px
  }
}

.soft-game-detail .score .board {
  margin-top: 50px;
  background-color: #3A5B52;
  padding: 10px 25px 10px 25px;
  border: 6px solid #D1C8C3
}

@media screen and (min-width: 768px) {
  .soft-game-detail .score .board {
    display: table;
    width: 100%
  }
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board {
    display: flex;
    padding: 5px 10px;
    border: 4px solid #D1C8C3
  }
}

@media screen and (min-width: 768px) {
  .soft-game-detail .score .board div {
    display: table-cell
  }
}

.soft-game-detail .score .board span {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #D1C8C3;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  margin: auto
}

.soft-game-detail .score .board thead span {
  font-size: 42px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board thead span {
    font-size: 20px
  }
}

.soft-game-detail .score .board tbody span {
  height: 45px;
  font-size: 32px;
  background: #192123
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board tbody span {
    height: 28px;
    font-size: 20px
  }
}

.soft-game-detail .score .board thead th, .soft-game-detail .score .board thead td {
  padding-bottom: 5px
}

.soft-game-detail .score .board tbody th, .soft-game-detail .score .board tbody td {
  padding-top: 10px;
  padding-bottom: 10px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board tbody th, .soft-game-detail .score .board tbody td {
    padding-top: 5px;
    padding-bottom: 5px
  }
}

.soft-game-detail .score .board .inning {
  width: calc(100% - 210px)
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board .inning {
    width: calc(100% - 95px);
    overflow: auto
  }
}

.soft-game-detail .score .board .inning table {
  min-width: 82%
}

.soft-game-detail .score .board .inning th {
  padding-left: 4px;
  padding-right: 24px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board .inning th {
    padding-left: 2px;
    padding-right: 2px
  }
}

.soft-game-detail .score .board .inning th span {
  min-width: 100px;
  max-width: 280px;
  padding-left: 10px;
  padding-right: 10px;
  justify-content: flex-start;
  margin-left: 0
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board .inning th span {
    min-width: 40px;
    width: 100%
  }
}

.soft-game-detail .score .board .inning td {
  padding-left: 4px;
  padding-right: 4px;
  width: 43px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board .inning td {
    width: 27px;
    padding-left: 2px;
    padding-right: 2px
  }
}

.soft-game-detail .score .board .inning td span {
  width: 35px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board .inning td span {
    width: 23px
  }
}

.soft-game-detail .score .board .total {
  width: 210px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board .total {
    width: 90px
  }
}

.soft-game-detail .score .board .total table {
  margin-left: auto;
  min-width: 90%
}

.soft-game-detail .score .board .total table td {
  padding-left: 4px;
  padding-right: 4px;
  width: 53px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board .total table td {
    width: 27px;
    padding-left: 2px;
    padding-right: 2px
  }
}

.soft-game-detail .score .board .total table td span {
  width: 45px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .score .board .total table td span {
    width: 23px
  }
}

.soft-game-detail .score .note {
  margin-top: 25px;
  font-size: 16px;
  letter-spacing: 0.1em;
  text-align: right
}

.soft-game-detail .result {
  margin-top: 85px
}

@media screen and (max-width: 767px) {
  .soft-game-detail .result {
    margin-top: 50px;
    margin-bottom: 50px
  }
}

.soft-game-detail .result .result-data {
  margin-top: 30px;
  margin-bottom: 70px;
  padding: 20px 30px;
  background-color: rgba(255, 255, 255, 0.05);
  font-size: 16px;
  line-height: 2.25
}

@media screen and (max-width: 767px) {
  .soft-game-detail .result .result-data {
    line-height: 1.5
  }
}

.soft-game-detail .result .result-data dl {
  display: flex;
  flex-wrap: wrap
}

@media screen and (max-width: 767px) {
  .soft-game-detail .result .result-data dl:not(:first-child) {
    margin-top: 10px
  }
}

.soft-game-detail .result .result-data dt {
  position: relative;
  width: 10em;
  color: #43A4E1;
  font-weight: bold
}

@media screen and (max-width: 767px) {
  .soft-game-detail .result .result-data dt {
    width: 7em;
    margin-bottom: 5px
  }
}

.soft-game-detail .result .result-data dt:after {
  content: "：";
  position: absolute;
  top: 0;
  right: 1em;
  opacity: 0.5;
  color: #ffffff
}

.soft-game-detail .result .result-data dd {
  position: relative;
  width: calc(100% - 10em)
}

@media screen and (max-width: 767px) {
  .soft-game-detail .result .result-data dd {
    width: auto
  }
}

.soft-game-detail .result .report {
  font-size: 16px;
  line-height: 1.6875
}

@media screen and (min-width: 768px) {
  .soft-game .calender .wrapper {
    margin-top: 25px
  }
}

@media screen and (max-width: 767px) {
  .soft-game .calender .wrapper {
    margin-top: 80px
  }
}

@media screen and (min-width: 768px) {
  .soft-game .calender .inner {
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto
  }
}

@media screen and (max-width: 767px) {
  .soft-game .calender .inner {
    padding-left: calc(20 / 375 * 100%);
    padding-right: calc(20 / 375 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .soft-game .calender-detail {
    margin-top: 100px;
    padding-left: 10px;
    padding-right: 10px
  }
}

@media screen and (max-width: 767px) {
  .soft-game .calender-detail {
    margin-top: 100px
  }
}

@media screen and (min-width: 768px) {
  .soft-game .calender-detail .inner {
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto
  }
}

@media screen and (max-width: 767px) {
  .soft-game .calender-detail .inner {
    padding-left: calc(20 / 375 * 100%);
    padding-right: calc(20 / 375 * 100%)
  }
}

.soft-game .calender-detail .heading {
  color: #fff;
  padding-bottom: 20px;
  position: relative
}

@media screen and (min-width: 768px) {
  .soft-game .calender-detail .heading {
    font-size: 24px;
    margin-top: 80px;
    margin-bottom: 30px
  }
  .soft-game .calender-detail .heading:first-of-type {
    margin-top: 50px
  }
}

@media screen and (max-width: 767px) {
  .soft-game .calender-detail .heading {
    font-size: 22px;
    margin-bottom: 30px;
    margin-top: 90px
  }
  .soft-game .calender-detail .heading:first-of-type {
    margin-top: 60px
  }
}

.soft-game .calender-detail .heading::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  position: absolute;
  left: 0;
  bottom: 0
}

.soft-game .calender-detail .heading::after {
  content: '';
  display: block;
  width: 300px;
  height: 1px;
  background: #43A4E1;
  position: absolute;
  left: 0;
  bottom: 0
}

@media screen and (max-width: 767px) {
  .soft-game .calender-detail .heading::after {
    width: 96px
  }
}

@media screen and (min-width: 768px) {
  .soft-game .calender-detail .flex-wrapper {
    display: flex;
    flex-wrap: wrap
  }
}

.soft-game .calender-detail .block {
  background: #1A212C
}

@media screen and (min-width: 768px) {
  .soft-game .calender-detail .block {
    width: 500px;
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 30px;
    padding-right: 30px
  }
  .soft-game .calender-detail .block:not(:nth-child(2n+1)) {
    margin-left: 20px
  }
  .soft-game .calender-detail .block:not(:nth-child(-n+2)) {
    margin-top: 20px
  }
}

@media screen and (max-width: 767px) {
  .soft-game .calender-detail .block {
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: calc(25 / 335 * 100%);
    padding-right: calc(25 / 335 * 100%)
  }
  .soft-game .calender-detail .block:not(:first-of-type) {
    margin-top: 15px
  }
}

.soft-game .calender-detail .block dl {
  display: flex;
  align-items: flex-start;
  line-height: 1.6875
}

.soft-game .calender-detail .block dl:not(:first-of-type) {
  margin-top: 10px
}

.soft-game .calender-detail .block dl dt {
  display: flex;
  font-size: 16px;
  color: #43A4E1;
  font-weight: bold
}

.soft-game .calender-detail .block dl dt::after {
  content: ':';
  display: block;
  margin-left: 20px;
  margin-right: 20px
}

.soft-game .calender-detail .block dl dt span {
  display: inline-block;
  margin-left: 2em
}

.soft-game .calender-detail .block dl dt .space {
  display: inline-block;
  margin-left: 0.5em;
  margin-right: 0.5em
}

.soft-game .calender-detail .block dl dd {
  color: #fff;
  font-size: 16px
}

.soft-game .calender-detail .block dl dd .map {
  display: inline-block;
  color: #43A4E1;
  margin-left: 10px
}

@media screen and (max-width: 767px) {
  .soft-game .calender-detail .block dl dd .map {
    font-size: 14px
  }
}

.soft-game .calender-detail .block dl dd .map::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url(../img/soft/game/external.png) no-repeat center/cover;
  margin-left: 5px
}

.soft-game .calender-detail .block .more-btn {
  width: 100%;
  height: 40px;
  margin-top: 30px
}

.soft-game .calender-detail .block .more-btn .link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 14px;
  font-weight: bold;
  color: #43A4E1;
  border-bottom: 1px solid #43A4E1;
  transition: color .3s ease, background-color .3s ease
}

@media screen and (max-width: 767px) {
  .soft-game .calender-detail .block .more-btn .link {
    background: #43A4E1;
    color: #fff
  }
}

.soft-game .calender-detail .block .more-btn .link .arrow {
  width: 19px;
  height: 11px;
  background: url(../img/soft/game/arrow.png) no-repeat center/cover;
  margin-left: 20px
}

@media screen and (max-width: 767px) {
  .soft-game .calender-detail .block .more-btn .link .arrow {
    background-image: url(../img/soft/game/white-arrow.png)
  }
}

@media (hover: hover) and (pointer: fine) {
  .soft-game .calender-detail .block .more-btn .link:hover {
    background: #43A4E1;
    color: #fff
  }
  .soft-game .calender-detail .block .more-btn .link:hover .arrow {
    background-image: url(../img/soft/game/white-arrow.png)
  }
}

.soft-top .loop-slider {
  margin-top: 40px
}

@media screen and (max-width: 767px) {
  .soft-top .loop-slider {
    margin-top: 20px
  }
}

@media screen and (min-width: 768px) {
  .soft-top .loop-slider .slide {
    width: 640px;
    margin-left: 20px
  }
}

@media screen and (max-width: 767px) {
  .soft-top .loop-slider .slide {
    width: 282px;
    margin-left: 10px
  }
}

@media screen and (min-width: 768px) {
  .soft-top .news {
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 90px
  }
}

@media screen and (max-width: 767px) {
  .soft-top .news {
    margin-top: 45px
  }
}

@media screen and (min-width: 768px) {
  .soft-top .news .inner {
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto
  }
}

@media screen and (max-width: 767px) {
  .soft-top .news .inner {
    padding-left: calc(20 / 375 * 100%);
    padding-right: calc(20 / 375 * 100%)
  }
}

.soft-top .news .news-list {
  width: 100%;
  color: #fff
}

@media screen and (min-width: 768px) {
  .soft-top .news .news-list {
    margin-top: 25px
  }
}

@media screen and (max-width: 767px) {
  .soft-top .news .news-list {
    margin-top: 20px
  }
}

.soft-top .news .news-list li {
  border-bottom: 1px solid #363D46;
  overflow: hidden;
}

.soft-top .news .news-list li:first-of-type {
  border-top: 1px solid #363D46
}

@media screen and (min-width: 768px) {
  .soft-top .news .news-list li .link {
    display: flex;
    align-items: center;
    font-size: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    transition: background-color .3s ease
  }
}

@media screen and (max-width: 767px) {
  .soft-top .news .news-list li .link {
    display: block;
    font-size: 14px;
    padding-top: 20px;
    padding-bottom: 20px
  }
}

@media (hover: hover) and (pointer: fine) {
  .soft-top .news .news-list li .link:hover {
    background: rgba(255, 255, 255, 0.08)
  }
}

@media screen and (min-width: 768px) {
  .soft-top .news .news-list li .head {
    flex-shrink: 0;
    min-width: 180px;
    display: flex;
    align-items: center
  }
}

@media screen and (max-width: 767px) {
  .soft-top .news .news-list li .head {
    display: flex;
    align-items: center
  }
}

.soft-top .news .news-list li .head .date {
  transition: color .3s ease
}

.soft-top .news .news-list li .head .cat {
  color: #0095d9
}

@media screen and (min-width: 768px) {
  .soft-top .news .news-list li .head .cat {
    min-width: 120px;
    display: flex;
    justify-content: center
  }
}

@media screen and (max-width: 767px) {
  .soft-top .news .news-list li .head .cat {
    margin-left: 15px
  }
}

.soft-top .news .news-list li .news-title {
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color .3s ease
}

@media screen and (max-width: 767px) {
  .soft-top .news .news-list li .news-title {
    margin-top: 15px
  }
}

.soft-top .news .l-border-button {
  height: 45px;
  font-size: 15px;
  margin-top: 30px;
  font-size: 15px
}

@media screen and (min-width: 768px) {
  .soft-top .sns {
    padding-right: 10px;
    padding-left: 10px;
    margin-top: 90px
  }
}

@media screen and (max-width: 767px) {
  .soft-top .sns {
    margin-top: 90px
  }
}

@media screen and (min-width: 768px) {
  .soft-top .sns .inner {
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto;
    display: flex
  }
}

@media screen and (min-width: 768px) {
  .soft-top .sns .block {
    width: 500px
  }
  .soft-top .sns .block:not(:first-child) {
    margin-left: 20px
  }
}

@media screen and (max-width: 767px) {
  .soft-top .sns .block:not(:first-of-type) {
    margin-top: 90px
  }
}

.soft-top .sns .block .wrapper {
  max-height: 615px;
  overflow: auto;
  border-radius: 4px
}

@media screen and (max-width: 767px) {
  .soft-top .sns .block .wrapper {
    max-height: 400px
  }
}

.soft-top .sns .block .common-heading {
  margin-bottom: 25px
}

@media screen and (min-width: 768px) {
  .soft-player .block:first-of-type .heading {
    margin-top: 50px
  }
}

@media screen and (min-width: 768px) {
  .soft-player .heading {
    font-size: 24px;
    color: #fff;
    padding-bottom: 20px;
    position: relative;
    margin-top: 60px;
    margin-bottom: 20px
  }
}

@media screen and (max-width: 767px) {
  .soft-player .heading {
    font-size: 22px;
    color: #fff;
    position: relative;
    margin-top: 90px;
    padding-bottom: 20px
  }
}

.soft-player .heading::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  position: absolute;
  left: 0;
  bottom: 0
}

.soft-player .heading::after {
  content: '';
  display: block;
  width: 300px;
  height: 1px;
  background: #43A4E1;
  position: absolute;
  left: 0;
  bottom: 0
}

@media screen and (max-width: 767px) {
  .soft-player .heading::after {
    width: 96px
  }
}

@media screen and (min-width: 768px) {
  .soft-player .player {
    margin-top: 90px;
    padding-left: 10px;
    padding-right: 10px
  }
}

@media screen and (max-width: 767px) {
  .soft-player .player {
    margin-top: 80px;
    padding-left: calc(20 / 375 * 100%);
    padding-right: calc(20 / 375 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .soft-player .staff {
    margin-top: 140px;
    padding-left: 10px;
    padding-right: 10px
  }
}

@media screen and (max-width: 767px) {
  .soft-player .staff {
    margin-top: 90px;
    padding-left: calc(20 / 375 * 100%);
    padding-right: calc(20 / 375 * 100%)
  }
}

@media screen and (max-width: 767px) {
  .soft-player .staff .block {
    margin-top: 80px
  }
}

@media screen and (min-width: 768px) {
  .soft-player .staff .common-heading {
    margin-bottom: 50px
  }
}

.soft-player .inner {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto
}

.soft-player .player-list {
  display: flex;
  flex-wrap: wrap
}

@media screen and (max-width: 767px) {
  .soft-player .player-list {
    margin-top: 30px
  }
}

@media screen and (min-width: 768px) {
  .soft-player .player-list.staff-list li {
    width: 160px
  }
  .soft-player .player-list.staff-list li:not(:nth-child(5n+1)) {
    margin-left: 0
  }
  .soft-player .player-list.staff-list li:not(:nth-child(6n+1)) {
    margin-left: 11px
  }
  .soft-player .player-list.staff-list li:not(:nth-child(-n+5)) {
    margin-top: 0
  }
  .soft-player .player-list.staff-list li:not(:nth-child(-n+6)) {
    margin-top: 35px
  }
}

@media screen and (min-width: 768px) {
  .soft-player .player-list li {
    width: 192px
  }
  .soft-player .player-list li:not(:nth-child(5n+1)) {
    margin-left: 15px
  }
  .soft-player .player-list li:not(:nth-child(-n+5)) {
    margin-top: 35px
  }
}

@media screen and (max-width: 767px) {
  .soft-player .player-list li:not(:first-of-type) {
    margin-top: 20px
  }
}

@media screen and (max-width: 767px) {
  .soft-player .player-list li .link {
    display: flex;
    align-items: center
  }
}

@media (hover: hover) and (pointer: fine) {
  .soft-player .player-list li .link:hover picture img {
    transform: scale(1.05)
  }
  .soft-player .player-list li .link:hover .name-box .hurigana {
    color: #43A4E1
  }
  .soft-player .player-list li .link:hover .name-box .name {
    color: #43A4E1
  }
}

@media screen and (min-width: 768px) {
  .soft-player .player-list picture {
    max-width: 194px;
    overflow: hidden
  }
}

@media screen and (max-width: 767px) {
  .soft-player .player-list picture {
    width: calc(90 / 335 * 100%);
    margin-right: 25px
  }
}

.soft-player .player-list picture img {
  transition: transform .5s ease
}

.soft-player .player-list .detail {
  display: flex;
  align-items: center
}

@media screen and (min-width: 768px) {
  .soft-player .player-list .detail {
    margin-top: 10px
  }
}

.soft-player .player-list .detail .number {
  font-size: 46px;
  color: #43A4E1;
  position: relative;
  top: -1px
}

.soft-player .player-list .detail .name-box {
  color: #fff;
  margin-left: 10px
}

@media screen and (max-width: 767px) {
  .soft-player .player-list .detail .name-box {
    margin-left: 10px
  }
}

.soft-player .player-list .detail .name-box .hurigana {
  display: inline-block;
  margin-bottom: 5px;
  font-size: 12px;
  transition: color .3s ease
}

@media screen and (max-width: 767px) {
  .soft-player .player-list .detail .name-box .hurigana {
    font-size: 10px
  }
}

.soft-player .player-list .detail .name-box .name {
  font-size: 20px;
  transition: color .3s ease
}

@media screen and (max-width: 767px) {
  .soft-player .player-list .detail .name-box .name {
    font-size: 22px
  }
}

.soft-player .player-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 15px;
  margin-top: 60px
}

@media screen and (max-width: 767px) {
  .soft-player .player-nav {
    font-size: 13px;
    margin-top: 50px
  }
}

.soft-player .player-nav.foot-nav {
  margin-top: 100px
}

@media screen and (max-width: 767px) {
  .soft-player .player-nav.foot-nav {
    margin-top: 50px
  }
}

.soft-player .player-nav .back {
  color: rgba(255, 255, 255, 0.7);
  transition: color .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .soft-player .player-nav .back:hover {
    color: #43A4E1
  }
}

.soft-player .player-nav .list {
  width: 174px;
  height: 45px;
  margin-left: 40px;
  margin-right: 40px
}

@media screen and (max-width: 767px) {
  .soft-player .player-nav .list {
    width: 150px;
    margin-left: 22px;
    margin-right: 22px
  }
}

.soft-player .player-nav .list .link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: background-color .3s ease, color .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .soft-player .player-nav .list .link:hover {
    background: #fff;
    color: #43A4E1
  }
}

.soft-player .player-nav .next {
  color: rgba(255, 255, 255, 0.7);
  transition: color .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .soft-player .player-nav .next:hover {
    color: #43A4E1
  }
}

.soft-player .player-detail .inner {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto
}

.soft-player .player-detail .swiper-container-wrapper {
  overflow: hidden;
  margin-top: 30px
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .swiper-container-wrapper {
    position: relative;
    padding-bottom: 20px
  }
}

.soft-player .player-detail .swiper-container-wrapper .swiper-inner {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto
}

.soft-player .player-detail .swiper-container-wrapper .swiper-button-prev {
  background: url(../img/soft/swiper-prev.png) no-repeat center/cover;
  z-index: 2;
  transition: transform .3s ease
}

@media screen and (min-width: 768px) {
  .soft-player .player-detail .swiper-container-wrapper .swiper-button-prev {
    width: 60px;
    height: 45px;
    left: -30px
  }
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .swiper-container-wrapper .swiper-button-prev {
    width: 58px;
    height: 40px;
    left: 0;
    bottom: 0;
    top: auto
  }
}

@media (hover: hover) and (pointer: fine) {
  .soft-player .player-detail .swiper-container-wrapper .swiper-button-prev:hover {
    transform: translateX(-5px)
  }
}

.soft-player .player-detail .swiper-container-wrapper .swiper-button-next {
  background: url(../img/soft/swiper-next.png) no-repeat center/cover;
  z-index: 2;
  transition: transform .3s ease
}

@media screen and (min-width: 768px) {
  .soft-player .player-detail .swiper-container-wrapper .swiper-button-next {
    width: 60px;
    height: 45px;
    right: -30px
  }
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .swiper-container-wrapper .swiper-button-next {
    width: 58px;
    height: 40px;
    right: 0;
    bottom: 0;
    top: auto
  }
}

@media (hover: hover) and (pointer: fine) {
  .soft-player .player-detail .swiper-container-wrapper .swiper-button-next:hover {
    transform: translateX(5px)
  }
}

.soft-player .player-detail .swiper-container {
  overflow: visible
}

@media screen and (min-width: 768px) {
  .soft-player .player-detail .swiper-container {
    width: 640px;
    height: 384px;
    margin: 0
  }
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .swiper-container {
    position: static;
    width: 292px
  }
}

@media screen and (min-width: 768px) {
  .soft-player .player-detail .swiper-container .swiper-slide {
    width: 460px;
    padding-top: 108px;
    transition: all .3s ease
  }
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .swiper-container .swiper-slide {
    padding-left: 5px;
    padding-right: 5px
  }
}

.soft-player .player-detail .swiper-container .swiper-slide picture {
  position: relative
}

.soft-player .player-detail .swiper-container .swiper-slide picture::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  left: 0;
  top: 0
}

@media screen and (min-width: 768px) {
  .soft-player .player-detail .swiper-container .swiper-slide-active {
    width: 640px;
    padding-top: 0
  }
}

.soft-player .player-detail .swiper-container .swiper-slide-active picture::before {
  display: none
}

.soft-player .player-detail .player-heading {
  display: flex;
  align-items: flex-end;
  color: #fff;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .player-heading {
    justify-content: center;
    margin-top: 50px
  }
}

.soft-player .player-detail .player-heading .number {
  font-size: 120px;
  color: #43A4E1;
  position: relative;
  top: 8px
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .player-heading .number {
    font-size: 70px;
    position: relative;
    top: 5px
  }
}

.soft-player .player-detail .player-heading .name-box {
  margin-left: 15px
}

.soft-player .player-detail .player-heading .name-box .hurigana {
  font-size: 16px;
  margin-bottom: 5px
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .player-heading .name-box .hurigana {
    font-size: 10px
  }
}

.soft-player .player-detail .player-heading .name-box .name {
  font-size: 40px
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .player-heading .name-box .name {
    font-size: 26px
  }
}

.soft-player .player-detail .player-heading .text {
  margin-left: 5px;
  font-size: 24px
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .player-heading .text {
    font-size: 15px
  }
}

.soft-player .player-detail .player-detail-body {
  margin-top: 100px
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .player-detail-body {
    margin-top: 60px;
    margin-left: calc(20 / 375 * 100%);
    margin-right: calc(20 / 375 * 100%);
    position: relative
  }
}

@media screen and (min-width: 768px) {
  .soft-player .player-detail .player-detail-body .flex-wrapper {
    display: flex;
    align-items: flex-start
  }
}

@media screen and (min-width: 768px) {
  .soft-player .player-detail .player-detail-body picture {
    flex-shrink: 0;
    width: 240px;
    margin-right: 40px
  }
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .player-detail-body picture {
    /*position: absolute;*/
    left: 200px;
    top: 0;
    width: 136px;
	margin-bottom: 30px;
  }
}

.soft-player .player-detail .player-detail-body .player-info {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2)
}

@media screen and (min-width: 768px) {
  .soft-player .player-detail .player-detail-body .player-info .wrapper {
    display: flex
  }
}

@media screen and (min-width: 768px) {
  .soft-player .player-detail .player-detail-body .player-info .wrapper .info-block:not(:first-child) {
    margin-left: 30px
  }
}

@media screen and (min-width: 768px) {
  .soft-player .player-detail .player-detail-body .player-info .column-small {
    width: 360px
  }
}

/*@media screen and (max-width: 767px) {
  .soft-player .player-detail .player-detail-body .player-info .sp-small {
    width: 200px
  }
}
*/
.soft-player .player-detail .player-detail-body dl {
  padding-top: 15px;
  padding-bottom: 17px;
  display: flex;
  align-items: flex-start;
  line-height: 1.75;
  border-top: 1px solid rgba(255, 255, 255, 0.2)
}

.soft-player .player-detail .player-detail-body dl dt {
  color: #43A4E1;
  font-size: 16px;
  font-weight: bold;
  min-width: 200px;
  margin-right: 10px
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .player-detail-body dl dt {
    font-size: 14px;
    min-width: 102px;
    margin-right: 15px
  }
}

.soft-player .player-detail .player-detail-body dl dd {
  font-size: 16px;
  color: #fff
}

@media screen and (max-width: 767px) {
  .soft-player .player-detail .player-detail-body dl dd {
    font-size: 14px
  }
}

.top-page .l-contents-header {
  position: relative
}

.top-page .l-contents-header .topic {
  color: #ff0000
}
	.top-page .l-contents-header .topic .textlink-underline{
		color: #2890d2;
		margin-bottom: 14px;
		display: inline-block;
		font-size: 14px;
		position: relative;
	}
	.top-page .l-contents-header .topic .textlink-underline::before {
		content: '';
		width: 100%;
		height: 1px;
		background-color: #2890d2;
		position: absolute;
		bottom: -4px;
		display: block;
	}
	.top-page .l-contents-header .topic .textlink-underline:hover{
		color: #333;
	}
	.top-page .l-contents-header .topic .textlink-underline:hover::before {
		background-color: #333;
	}

@media screen and (min-width: 768px) {
  .top-page .l-contents-header .topic {
    position: absolute;
    left: 0;
    top: 100%;
    position: absolute;
    display: flex;
    padding-top: 30px;
    width: 100%
  }
  .top-page .l-contents-header .topic::after {
    content: '';
    display: block;
    width: 570px;
    flex-shrink: 0;
    margin-left: 40px
  }
  .top-page .l-contents-header .topic a {
    font-size: 15px;
    display: inline-block;
    margin-left: 170px;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-header .topic {
    font-size: 13px;
    line-height: 150%;
    margin-top: 5px;
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%)
  }
}

.top-page .l-contents-header .topic .pdf::after {
  content: 'PDF';
  font-size: 9px;
  display: inline-block;
  border: 1px solid #ff0000;
  padding: 3px 5px;
  margin-left: 5px;
  position: relative;
  line-height: 1
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-header .topic .pdf::after {
    padding: 2px 4px
  }
}

@media screen and (min-width: 768px) {
  .top-page .l-contents-header .visual01 {
    background-image: url(../img/top/mv01.jpg)
  }
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-header .visual01 {
    background-image: url(../img/top/mv01.sp.jpg)
  }
}

@media screen and (min-width: 768px) {
  .top-page .l-contents-header .visual02 {
    background-image: url(../img/top/mv02.jpg)
  }
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-header .visual02 {
    background-image: url(../img/top/mv02.sp.jpg)
  }
}

@media screen and (min-width: 768px) {
  .top-page .l-contents-header .visual03 {
    background-image: url(../img/top/mv03.jpg)
  }
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-header .visual03 {
    background-image: url(../img/top/mv03.sp.jpg)
  }
}

@media screen and (min-width: 768px) {
  .top-page .l-contents-header .visual04 {
    background-image: url(../img/top/mv04.jpg)
  }
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-header .visual04 {
    background-image: url(../img/top/mv04.sp.jpg)
  }
}

@media screen and (min-width: 768px) {
  .top-page .l-contents-header .visual05 {
    background-image: url(../img/top/mv05.jpg)
  }
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-header .visual05 {
    background-image: url(../img/top/mv05.sp.jpg)
  }
}

.top-page .l-contents-header .visual05::before {
  background: rgba(0, 0, 0, 0.2) !important
}

@media screen and (min-width: 768px) {
  .top-page .l-contents-header .visual06 {
    background-image: url(../img/top/mv06.jpg)
  }
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-header .visual06 {
    background-image: url(../img/top/mv06.sp.jpg)
  }
}

.top-page .mainVisual {
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual {
    width: 100%;
    margin-bottom: 195px;
    z-index: 1;
    height: 768px
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual {
    height: 450px
  }
}

.top-page .mainVisual::before {
  content: '';
  display: block;
  width: 100%;
  height: 130px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, #000 100%)
}

.top-page .mainVisual .visual {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual .visual {
    width: 100vw;
    height: 768px
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual .visual {
    width: 100vw;
    height: 450px
  }
}

.top-page .mainVisual .visual::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.1);
  z-index: 1
}

.top-page .mainVisual .visual-contents {
  position: relative;
  z-index: 2
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual .visual-contents {
    padding-left: calc(40 / 1366 * 100%);
    width: 100%;
    max-width: 1366px;
    margin-right: auto;
    margin-left: auto
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual .visual-contents {
    padding-left: calc(40 / 750 * 100%)
  }
}

.top-page .mainVisual .visual-heading {
  color: #fff
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual .visual-heading {
    font-size: 23px;
    margin-bottom: 15px
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual .visual-heading {
    font-size: 16px;
    margin-bottom: 15px
  }
}

.top-page .mainVisual .visual-title {
  color: #fff;
  /*text-shadow: 5px 5px 5px rgba(0, 0, 0, 0.4);*/
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.6);
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual .visual-title {
    font-size: 50px;
    line-height: 1.36
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual .visual-title {
    font-size: 27px;
    line-height: 1.33333
  }
}

.top-page .mainVisual .l-border-button {
  height: 45px;
  font-size: 15px;
  margin-top: 20px
}

.top-page .mainVisual-nav-wrapper {
  overflow: hidden;
  z-index: 2
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual-nav-wrapper {
    position: absolute;
    right: 0;
    bottom: -80px;
    width: 570px;
    height: 160px
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual-nav-wrapper {
    width: 100vw;
    position: relative;
    top: -25px;
    padding-bottom: 40px;
    padding-left: 30px
  }
  .top-page .mainVisual-nav-wrapper+.topic {
    margin-bottom: 70px
  }
  .top-page .mainVisual-nav-wrapper .slick-list {
    overflow: visible
  }
}

.top-page .mainVisual-nav-wrapper .slick-prev {
  background: url(../img/top/slide-nav-prev.png) no-repeat center/cover;
  position: absolute;
  cursor: pointer
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual-nav-wrapper .slick-prev {
    width: 34px;
    height: 34px;
    left: 0;
    bottom: 0
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual-nav-wrapper .slick-prev {
    width: 26px;
    height: 26px;
    top: 87px;
    right: 160px
  }
}

.top-page .mainVisual-nav-wrapper .slick-next {
  background: url(../img/top/slide-nav-next.png) no-repeat center/cover;
  position: absolute;
  cursor: pointer
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual-nav-wrapper .slick-next {
    width: 34px;
    height: 34px;
    left: 166px;
    bottom: 0
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual-nav-wrapper .slick-next {
    width: 26px;
    height: 26px;
    top: 87px;
    right: 20px
  }
}

.top-page .mainVisual-nav-wrapper .progress-bar {
  background: #ddd;
  position: absolute
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual-nav-wrapper .progress-bar {
    width: 110px;
    left: 45px;
    bottom: 18px;
    height: 1px
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual-nav-wrapper .progress-bar {
    width: 93px;
    height: 1px;
    top: 100px;
    right: 56px
  }
}

.top-page .mainVisual-nav-wrapper .progress-bar .bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 1px;
  background: #43a4e1
}

.top-page .mainVisual-nav {
  position: static
}

.top-page .mainVisual-nav .visual {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: height .3s ease;
  cursor: pointer
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual-nav .visual {
    width: 200px;
    height: 120px
  }
  .top-page .mainVisual-nav .visual:not(:first-of-type) {
    margin-left: 5px
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual-nav .visual {
    width: 120px;
    height: 72px;
    margin-left: 10px
  }
}

.top-page .mainVisual-nav .visual .nav-name {
  color: #fff;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0
}

@media screen and (min-width: 768px) {
  .top-page .mainVisual-nav .visual .nav-name {
    font-size: 15px;
    padding: 10px 15px
  }
}

@media screen and (max-width: 767px) {
  .top-page .mainVisual-nav .visual .nav-name {
    font-size: 10px;
    padding: 5px
  }
}

.top-page .mainVisual-nav .visual .nav-name span {
  position: relative;
  z-index: 2
}

.top-page .mainVisual-nav .visual .nav-name::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-image: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.6
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-body {
    margin-top: 45px
  }
}

@media screen and (max-width: 767px) {
  .top-page .l-news-contents-body {
    margin-top: -15px
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-flex.reverse .inner {
    flex-direction: row-reverse
  }
  .top-page .business .business-flex.reverse picture {
    max-width: 723px
  }
  .top-page .business .business-flex.reverse .contents {
    margin-left: 0;
    max-width: 410px;
    margin-right: 70px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-flex.reverse {
    margin-top: 45px
  }
  .top-page .business .business-flex.reverse picture {
    padding-left: 0;
    padding-right: calc(40 / 750 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-flex .inner {
    display: flex;
    align-items: center;
    max-width: 1366px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: content-box;
    padding-left: 10px;
    padding-right: 10px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-flex .inner {
    display: flex;
    flex-direction: column-reverse
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-flex picture {
    flex-shrink: 0;
    max-width: 574px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-flex picture {
    margin-top: 40px;
    padding-left: calc(40 / 750 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-flex .contents {
    max-width: 545px;
    margin-left: 70px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-flex .contents {
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%)
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-column .contents .l-border-btn {
    margin-left: calc(40 / 750 * 100%);
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-flex .heading {
    font-size: 56px;
    font-weight: bold;
    display: flex;
    align-items: flex-end;
    margin-bottom: 60px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-flex .heading {
    font-size: 42px;
    font-weight: bold;
    margin-bottom: 35px
  }
}

.top-page .business .business-flex .heading span {
  color: #43a4e1
}

@media screen and (min-width: 768px) {
  .top-page .business .business-flex .heading span {
    font-size: 18px;
    display: inline-block;
    margin-left: 20px;
    position: relative;
    top: -5px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-flex .heading span {
    display: block;
    font-size: 16px;
    margin-top: 10px
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-flex .sub-heading {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 25px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-flex .sub-heading {
    font-size: 25px;
    margin-bottom: 25px
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-flex .text {
    font-size: 14px;
    line-height: 1.71429
  }
  .top-page .business .business-flex .text:not(:first-of-type) {
    margin-top: 25px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-flex .text {
    font-size: 15px;
    line-height: 1.7
  }
  .top-page .business .business-flex .text:not(:first-of-type) {
    margin-top: 30px
  }
}

.top-page .business .business-flex .l-border-button , .business-column .l-border-btn{
  height: 45px;
  font-size: 15px;
  margin-top: 25px
}

.top-page .business .business-column {
  position: relative
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column {
    margin-top: 100px;
    padding-bottom: 70px
  }
  .top-page .business .business-column::before {
    content: '';
    display: block;
    width: 100%;
    height: 500px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: rgba(67, 164, 225, 0.1)
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column .inner {
    max-width: 1366px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: flex-start;
    box-sizing: content-box;
    padding-left: 10px;
    padding-right: 10px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-column .inner {
    position: relative;
    padding-bottom: calc(720 / 750 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column picture {
    max-width: 575px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-column picture {
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translateY(-17.91045%)
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column .contents {
    max-width: 550px;
    margin-left: 65px
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column .sub-heading {
    padding-top: 65px;
    font-size: 28px;
    font-weight: bold
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-column .sub-heading {
    font-size: 25px;
    font-weight: bold;
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%);
    margin-top: 40px
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column .text {
    font-size: 14px;
    line-height: 1.71429;
    margin-top: 25px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-column .text {
    font-size: 15px;
    line-height: 1.7;
    margin-top: 25px;
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%)
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-column .wrapper {
    padding-top: 40px;
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%);
    margin-top: 40px;
    background: rgba(67, 164, 225, 0.1)
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column .contents-list {
    margin-top: 70px;
    display: flex;
    flex-wrap: wrap
  }
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column .contents-list li {
    width: 264px
  }
  .top-page .business .business-column .contents-list li:not(:nth-child(2n+1)) {
    margin-left: 22px
  }
  .top-page .business .business-column .contents-list li:not(:nth-child(-n+2)) {
    margin-top: 10px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-column .contents-list li:not(:first-of-type) {
    margin-top: 10px
  }
}

.top-page .business .business-column .contents-list .l-border-button {
  height: 35px;
  font-size: 15px
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column .contents-list .l-border-button {
    width: 100%
  }
}

.top-page .business .business-column .contents-list .l-border-button .link .arrow {
  margin: 0
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column .download {
    margin-top: 30px
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-column .download {
    margin-top: 10px;
    padding-bottom: calc(115 / 335 * 100%)
  }
}

.top-page .business .business-column .download .image {
  position: relative
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column .download .image {
    width: 100%;
    height: 160px;
    background: url(../img/top/download-image.png) no-repeat center/cover
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-column .download .image {
    background: url(../img/top/download-image.sp.png) no-repeat center/cover;
    width: calc(500 / 750 * 100%)
  }
  .top-page .business .business-column .download .image::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: calc(250 / 500 * 100%)
  }
}

.top-page .business .business-column .download .l-border-button {
  width: 320px;
  height: 70px;
  font-size: 15px;
  line-height: 1.4;
  position: absolute
}

@media screen and (min-width: 768px) {
  .top-page .business .business-column .download .l-border-button {
    right: 0;
    bottom: 0
  }
}

@media screen and (max-width: 767px) {
  .top-page .business .business-column .download .l-border-button {
    width: 310px;
    font-size: 14px;
    bottom: -40px;
    left: 0;
    transform: translateX(8.06452%)
  }
}

.top-page .business .business-column .download .l-border-button .arrow {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto
}

@media screen and (min-width: 768px) {
  .top-page .news {
    margin-top: -120px;
    padding-top: 0px;
    padding-bottom: 100px
  }
}

@media screen and (min-width: 768px) {
  .top-page .news .inner {
    max-width: 1020px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    align-items: center;
    box-sizing: content-box;
    padding-left: 10px;
    padding-right: 10px
  }
}

@media screen and (min-width: 768px) {
  .top-page .news .heading {
    font-size: 56px;
    font-weight: bold;
    display: flex;
    align-items: flex-end
  }
}

@media screen and (max-width: 767px) {
  .top-page .news .heading {
    font-size: 42px;
    font-weight: bold;
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%)
  }
}

.top-page .news .heading span {
  color: #43a4e1
}

@media screen and (min-width: 768px) {
  .top-page .news .heading span {
    font-size: 18px;
    display: inline-block;
    margin-left: 20px;
    position: relative;
    top: -5px
  }
}

@media screen and (max-width: 767px) {
  .top-page .news .heading span {
    display: block;
    margin-top: 10px;
    font-size: 16px
  }
}

.top-page .news .news-category {
  display: flex;
  font-size: 15px;
  margin-top: 35px
}

@media screen and (max-width: 767px) {
  .top-page .news .news-category {
    margin-left: calc(40 / 750 * 100%);
    white-space: nowrap;
    overflow: auto;
    padding-bottom: 10px;
    padding-right: 10px;
    font-size: 16px;
    position: relative;
    scrollbar-width: none
  }
  .top-page .news .news-category::-webkit-scrollbar {
    display: none
  }
}

.top-page .news .news-category li {
  position: relative;
  padding-bottom: 5px;
  cursor: pointer;
  transition: color .3s ease
}

.top-page .news .news-category li:not(:first-of-type) {
  margin-left: 30px
}

.top-page .news .news-category li.is-active::before {
  opacity: 1
}

.top-page .news .news-category li::before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #43a4e1;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0;
  transition: opacity .3s ease
}

@media (hover: hover) and (pointer: fine) {
  .top-page .news .news-category li:hover {
    color: #43a4e1
  }
}

.top-page .news .news-list {
  width: 100%
}

@media screen and (min-width: 768px) {
  .top-page .news .news-list {
    max-width: 700px;
    margin-top: 20px
  }
}

@media screen and (max-width: 767px) {
  .top-page .news .news-list {
    margin-top: 10px;
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%)
  }
}

.top-page .news .news-list li {
  border-bottom: 1px solid #ddd;
  overflow: hidden;
}

.top-page .news .news-list li:first-of-type {
  border-top: 1px solid #ddd
}

@media screen and (min-width: 768px) {
  .top-page .news .news-list li .link {
    display: flex;
    align-items: center;
    font-size: 15px;
    padding-top: 20px;
    padding-bottom: 20px
  }
}

@media screen and (max-width: 767px) {
  .top-page .news .news-list li .link {
    display: block;
    font-size: 15px;
    padding-top: 20px;
    padding-bottom: 20px
  }
}

@media (hover: hover) and (pointer: fine) {
  .top-page .news .news-list li .link:hover .date {
    color: #0095d9
  }
  .top-page .news .news-list li .link:hover .news-title {
    color: #0095d9
  }
}

@media screen and (min-width: 768px) {
  .top-page .news .news-list li .head {
    flex-shrink: 0;
    min-width: 180px;
    display: flex;
    align-items: center
  }
}

@media screen and (max-width: 767px) {
  .top-page .news .news-list li .head {
    display: flex;
    align-items: center
  }
}

.top-page .news .news-list li .head .date {
  transition: color .3s ease
}

.top-page .news .news-list li .head .cat {
  color: #0095d9
}

@media screen and (min-width: 768px) {
  .top-page .news .news-list li .head .cat {
    min-width: 120px;
    display: flex;
    justify-content: center
  }
}

@media screen and (max-width: 767px) {
  .top-page .news .news-list li .head .cat {
    margin-left: 15px
  }
}

.top-page .news .news-list li .news-title {
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color .3s ease
}

@media screen and (max-width: 767px) {
  .top-page .news .news-list li .news-title {
    margin-top: 15px
  }
}

.top-page .news .l-border-button {
  height: 45px;
  font-size: 15px;
  margin-top: 30px
}

@media screen and (max-width: 767px) {
  .top-page .news .l-border-button {
    margin-left: calc(40 / 750 * 100%)
  }
}

.top-page .news .news-panel {
  box-shadow: 0px 0px 7.2px 0.8px rgba(0, 0, 0, 0.1)
}

@media screen and (min-width: 768px) {
  .top-page .news .news-panel {
    max-width: 280px;
    margin-left: 40px
  }
}

@media screen and (max-width: 767px) {
  .top-page .news .news-panel {
    margin-top: 50px;
    margin-left: calc(40 / 750 * 100%);
    margin-right: calc(40 / 750 * 100%)
  }
}

@media (hover: hover) and (pointer: fine) {
  .top-page .news .news-panel .link:hover picture {
    transform: scale(1.05)
  }
}

@media screen and (min-width: 768px) {
  .top-page .news .news-panel .thumb {
    max-width: 280px;
    overflow: hidden
  }
}

.top-page .news .news-panel .thumb picture {
  transition: transform .5s ease
}

.top-page .news .news-panel .wrap {
  padding: 20px;
  background: #fff;
  font-size: 15px
}

.top-page .news .news-panel .head {
  display: flex;
  align-items: center;
  margin-bottom: 20px
}

@media screen and (max-width: 767px) {
  .top-page .news .news-panel .head {
    margin-bottom: 10px
  }
}

.top-page .news .news-panel .head .cat {
  display: inline-block;
  margin-left: 20px;
  color: #43a4e1
}

.top-page .news .news-panel .news-title {
  line-height: calc(24 / 14)
}

@media screen and (max-width: 767px) {
  .top-page .news .news-panel .news-title {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
  }
}

.top-page .recruit {
  position: relative
}

@media screen and (min-width: 768px) {
  .top-page .recruit {
    margin-bottom: 140px
  }
}

@media screen and (max-width: 767px) {
  .top-page .recruit {
    margin-top: 60px
  }
}

.top-page .recruit .bg-image {
  display: block;
  z-index: 1
}

@media screen and (min-width: 768px) {
  .top-page .recruit .bg-image {
    width: 100%;
    height: 600px;
    background: url(../img/top/recruit-bg.png) no-repeat center/cover;
    position: absolute;
    left: 0;
    top: 0
  }
}

@media screen and (max-width: 767px) {
  .top-page .recruit .bg-image {
    width: calc(670 / 750 * 100%);
    background: url(../img/top/recruit-bg.sp.png) no-repeat center/cover;
    margin-bottom: calc(370 / 750 * 100%)
  }
  .top-page .recruit .bg-image::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: calc(750 / 670 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .top-page .recruit .inner {
    max-width: 1010px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    padding-top: 90px;
    box-sizing: content-box;
    padding-left: 10px;
    padding-right: 10px
  }
}

@media screen and (min-width: 768px) {
  .top-page .recruit .contents {
    margin-left: 90px;
    padding-top: 100px
  }
}

@media screen and (max-width: 767px) {
  .top-page .recruit .contents {
    position: absolute;
    left: 0;
    top: 0;
    padding-top: calc(120 / 750 * 100%);
    padding-left: calc(40 / 750 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .top-page .recruit picture {
    flex-shrink: 0;
    max-width: 550px
  }
}

@media screen and (max-width: 767px) {
  .top-page .recruit picture {
    width: calc(550 / 750 * 100%);
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translateY(75.75758%)
  }
}

@media screen and (min-width: 768px) {
  .top-page .recruit .heading {
    font-size: 56px;
    font-weight: bold;
    color: #fff;
    display: flex;
    align-items: flex-end
  }
}

@media screen and (max-width: 767px) {
  .top-page .recruit .heading {
    font-size: 42px;
    color: #fff
  }
}

@media screen and (min-width: 768px) {
  .top-page .recruit .heading span {
    display: inline-block;
    margin-left: 10px;
    font-size: 18px;
    position: relative;
    top: -3px
  }
}

@media screen and (max-width: 767px) {
  .top-page .recruit .heading span {
    display: block;
    font-size: 16px;
    margin-top: 10px
  }
}

.top-page .recruit .text {
  color: #fff
}

@media screen and (min-width: 768px) {
  .top-page .recruit .text {
    font-size: 30px;
    line-height: 1.36667;
    margin-top: 20px
  }
}

@media screen and (max-width: 767px) {
  .top-page .recruit .text {
    font-size: 24px;
    line-height: 1.25;
    margin-top: 20px
  }
}

.top-page .recruit .l-border-button {
  margin-top: 25px;
  height: 45px;
  font-size: 15px
}

.top-page .l-contents-footer {
  padding-bottom: 140px
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-footer {
    padding-bottom: 80px
  }
}

@media screen and (min-width: 768px) {
  .top-page .l-contents-footer .page-list {
    display: flex;
    justify-content: center
  }
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-footer .page-list {
    padding-left: calc(40 / 750 * 100%);
    padding-right: calc(40 / 750 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .top-page .l-contents-footer .page-list li {
    max-width: 510px;
    overflow: hidden
  }
}

@media screen and (max-width: 767px) {
  .top-page .l-contents-footer .page-list li:not(:first-of-type) {
    margin-top: 20px
  }
}

@media (hover: hover) and (pointer: fine) {
  .top-page .l-contents-footer .page-list li .link:hover picture {
    transform: scale(1.05)
  }
}

.top-page .l-contents-footer .page-list li .link picture {
  transition: transform .5s ease
}

@media screen and (min-width: 768px) {
  .trading-common .page-mainVisual {
    background-image: url("../img/trading/mv.jpg");
  }
}

@media screen and (max-width: 767px) {
  .trading-common .page-mainVisual {
    background-image: url("../img/trading/mv.sp.jpg")
  }
}

@media screen and (min-width: 768px) {
  .trading-common .contact-area {
    background: url(../img/trading/contact-bg.jpg) no-repeat center/cover
  }
}

@media screen and (max-width: 767px) {
  .trading-common .contact-area {
    background: url(../img/trading/contact-bg.sp.jpg) no-repeat center/cover
  }
}

.trading-common .page-container .page-contents .column .banner {
  display: block;
  transition: opacity .3s ease
}

@media screen and (min-width: 768px) {
  .trading-common .page-container .page-contents .column .banner {
    margin-top: 25px
  }
}

@media (hover: hover) and (pointer: fine) {
  .trading-common .page-container .page-contents .column .banner:hover {
    opacity: 0.8
  }
}

@media screen and (min-width: 768px) {
  .trading-common .page-container .page-contents .column .flow {
    max-width: 735px
  }
}

@media screen and (max-width: 767px) {
  .trading-common .page-container .page-contents .column .flow {
    width: calc(660 / 670 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .trading-common .page-container .page-contents .column .flow02 {
    max-width: 735px
  }
}

@media screen and (max-width: 767px) {
  .trading-common .page-container .page-contents .column .flow02 {
    width: calc(650 / 670 * 100%)
  }
}

@media screen and (min-width: 768px) {
  .trading-common .page-container .page-contents .panel-list {
    margin-top: 30px
  }
}

@media screen and (max-width: 767px) {
  .housing-youtube {
    width: 100%;
    aspect-ratio: 16 / 9;  }
}

@media screen and (min-width: 768px) {
  .housing-youtube {
    width:560px;
    height:315px
  }
}
