@charset "utf-8";
/* CSS Document

 font-family: var(--font_en_sans);
 */

:root {
--base_color_01: #319f9e;
--base_color_02: #fd4e37;
--color_black: #000;
--color_white: #fff;
--color_gray_01: #ddd;
--color_red_01: #cf0f0f;
--font_sans: 'Noto Sans JP', sans-serif;
--font_en_sans: 'Montserrat', sans-serif;
}

.flex-box{
	display: flex;
	position: relative;
}
.flex-box li {
    list-style: none;
}

.flex-box-cr{
	display: flex;
	position: relative;
}
.flex-box-cr li {
    list-style: none;
}

/* グローバルメニュー */

header {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    height: 50px;
    align-items: center;
    padding: 30px 0;
}
.logo {
    width: 36%;
}
.main-nav ul {
    display: flex;
    height: 50px;
}
.main-nav ul li {
    padding: 0 10px;
    height: 100%;
}
.main-nav ul li a {
    text-decoration: none;
    color: #333;
    display: block;
    height: 100%;
    display: flex;
    align-items: center;
    transition: .3s;
    font-weight: bold;
    position: relative;
    padding: 0 10px;
    transition: .3s;
//アニメーションすることを想定して追加しておきます
}
.main-nav ul li a::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    border-bottom: 8px solid #E31E23;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    left: calc(50% - 8px);
    transition: .6s;
    opacity: 0;
}
.main-nav ul li a:hover {
    color: #E31E23;
}
.main-nav ul li a:hover:after {
    opacity: 1;
    transform: rotateY(360deg);
}
/*　ハンバーガーボタン　*/
.hamburger {
    display : block;
    position: fixed;
    z-index : 2000;
    right : 13px;
    top : 12px;
    width : 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
    display: none;
}
.hamburger span {
    display : block;
    position: absolute;
    width : 30px;
    height : 2px;
    left : 6px;
    background : #555;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition : 0.5s ease-in-out;
    transition : 0.5s ease-in-out;
}
.hamburger span:nth-child(1) {
    top: 10px;
}
.hamburger span:nth-child(2) {
    top: 20px;
}
.hamburger span:nth-child(3) {
    top: 30px;
}
/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
    top : 16px;
    left: 6px;
    -webkit-transform: rotate(315deg);
    -moz-transform : rotate(315deg);
    transform : rotate(315deg);
}
.hamburger.active span:nth-child(2), .hamburger.active span:nth-child(3) {
    top: 16px;
    -webkit-transform: rotate(-315deg);
    -moz-transform : rotate(-315deg);
    transform : rotate(-315deg);
}
.mobile-nav {
    position: fixed;
    z-index : 1000;
    top : 0;
    left : 0;
    color: #000;
    background: #fff;
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
}
.mobile-nav ul {
    background: #ccc;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
.mobile-nav ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    border-bottom: 1px solid #fff;
}
.mobile-nav ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
.mobile-nav ul li:hover {
    background : #ddd;
}
.mobile-nav ul li a {
    display: block;
    color: #000;
    padding: 1em 0;
    text-decoration : none;
}
/* このクラスを、jQueryで付与・削除する */
nav.mobile-nav.active {
    transform: translateY(0%);
}
/* メインビュー */
span.slide-in__inner {
    background-image: url("../img/main_view_txt.jpg");
    -webkit-background-clip: text;
    color: transparent;
    font-weight: 800;
}
.main-view_sub {
    text-align: right;
}

@media screen and (min-width: 768px) {
.home .main {
    padding-top: 40px
}
}
.intro {
    padding-top: 12%
}

@media screen and (min-width: 768px) {
.intro {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: 47.2916666667vw;
    margin: 0 auto;
    padding-top: 50px
}
}
.intro__col--01 {
    position: relative;
    width: 93.06%;
    margin-bottom: 10.66%;
    padding-top: 22.8%
}

@media screen and (min-width: 768px) {
.intro__col--01 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    width: 54.8611111111vw;
    margin-bottom: 0;
    padding-top: 0
}
}
.intro__col--02 {
    position: relative
}

@media screen and (max-width: 767px) {
.intro__col--02 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}
}

@media screen and (min-width: 768px) {
.intro__col--02 {
    width: 36.8055555556vw
}
}
.intro__title {
    position: absolute;
    letter-spacing: 0;
    line-height: 1;
    font-family: var(--font_en_sans);
    font-size: 16vw;
    font-weight: 600;
    z-index: 2
}

@media screen and (max-width: 767px) {
.intro__title {
    top: 0;
    left: 6.66%
}
}

@media screen and (min-width: 768px) {
.intro__title {
    top: 0.1em;
    left: 17.21%;
    font-size: 9.1vw
}
}
.intro__subtitle {

    line-height: 2.2;
    letter-spacing: .1em;
    font-size: 5.3333333333vw;
    font-weight: bold
}
.intro__subtitle-2 {

    line-height: 2.2;
    letter-spacing: .1em;
    font-size: 5.3333333333vw;
    font-weight: bold
}
@media screen and (max-width: 767px) {
.intro__subtitle {
    margin: 4.6666666667vw 0 0 9.3333333333vw;
    line-height: 2.28
}
}

@media screen and (min-width: 768px) {
.intro__subtitle {
    position: absolute;
	width: 100%;	
    bottom: 8.49%;
    right: 40%;
    font-size: 1.9444444444vw;

    border-bottom: 3px solid;
}
.intro__subtitle-2 {
    position: absolute;
	width: 100%;
    bottom: -0.49%;
    right: 45%;
    font-size: 1.9444444444vw;

    border-bottom: 3px solid;
}	
}

.sec-bg {
    background: url(../img/sec-bg1.png) no-repeat;
    background-position: right;
    background-size: contain;
}
section.sec-1 {
    margin-top: 125px;
}
.p-topProblem__header {
    width: 80%;
    margin: 0 auto 50px;
}
.p-topProblem__header {
    padding-left: 40px;
}
.p-topProblem__header {
    color: #000;
    padding-left: 20px;
    position: relative;
}
.p-topProblem__header:before {
    content: "";
    background: #E31E23;
    width: 3px;
    height: calc(100% + 0px);
    position: absolute;
    left: -2.76%;
    top: 5px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
}
.p-topProblem__header:before {
    -webkit-animation: topMvTextBoxBorderMove 3s 1.5s ease infinite;
    animation: topMvTextBoxBorderMove 3s 1.5s ease infinite;
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center;
}
.p-topProblem__header:before {
    height: 0;
    top: calc(100% + 5px);
    -webkit-transition: top 0.6s 0.2s ease-in-out, height 0.6s 0.2s ease-in-out;
    transition: top 0.6s 0.2s ease-in-out, height 0.6s 0.2s ease-in-out;
}
.problems::before {
    position: absolute;
    top: 51px;
    left: 0;
    width: 100%;
    height: 1px;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: -webkit-transform 1.5s ease-out;
    transition: -webkit-transform 1.5s ease-out;
    transition: transform 1.5s ease-out;
    transition: transform 1.5s ease-out, -webkit-transform 1.5s ease-out;
    background-color: #000;
    z-index: 1;
    content: "";
}
.problem-contet__description {
    line-height: 2.2;
	font-size: 16px;
    color: #000;
    text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,  -1px 1px 0 #fff, 1px -1px 0 #fff,  0px 1px 0 #fff, 0 -1px 0 #fff,  -1px 0 0 #fff, 1px 0 0 #fff;
	text-align: left;
}
.title-03 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 26.6666666667vw;
    height: 26.6666666667vw;
    background-color: var(--color_white);
    text-align: center;
    color: var(--color_black);
    border: 1px solid var(--color_black);
    transform: skew(10deg);
}

@media screen and (min-width: 768px) {
.title-03 {
    width: 100px;
    height: 100px
}
}
.title-03__ja {
    display: block;
    margin: .5em 0 .75em;
    line-height: 1;
    letter-spacing: 0;
    font-size: 4vw;
    font-weight: bold;
    transform: skew(-10deg);
}

@media screen and (min-width: 768px) {
.title-03__ja {
    font-size: 16px
}
}
.title-03__en {
    display: block;
    line-height: 1;
    letter-spacing: 0;
    font-size: 2.6666666667vw;
    font-family: var(--font_en_sans);
    font-weight: 600;
    transform: skew(-10deg);
}

@media screen and (min-width: 768px) {
.title-03__en {
    font-size: 10px
}
}
.title-03--large {
    width: 26.6666666667vw;
    height: 26.6666666667vw
}

@media screen and (min-width: 768px) {
.title-03--large {
    width: 9.0277777778vw;
    height: 9.0277777778vw;
    max-width: 130px;
    max-height: 130px
}
}
.title-03--large .title-03__ja {
    margin-bottom: .7em;
    font-size: 4vw
}

@media screen and (min-width: 768px) {
.title-03--large .title-03__ja {
    margin-bottom: .5em;
    font-size: 1.3888888889vw
}
}

@media screen and (min-width: 1441px) {
.title-03--large .title-03__ja {
    font-size: 20px
}
}
.title-03--large .title-03__en {
    font-size: 2.6666666667vw
}

@media screen and (min-width: 768px) {
.title-03--large .title-03__en {
    font-size: .8333333333vw
}
}

@media screen and (min-width: 1441px) {
.title-03--large .title-03__en {
    font-size: 12px
}
}
.p-topService__inner {
    margin-top: 200px;
}

.flexitem-top-2p-l {
    position: relative;
    z-index: 1;
    width: 50%;
    padding-left: 10%;
}
.flexitem-top-2p-r {
    position: relative;
    z-index: 1;
    width: 50%;
    display: grid;
}


.l-animationFade.is-active {
    opacity: 1;
    transform: translateY(0);
}
.l-animationFade {
    transform: translateY(20px);
    opacity: 0;
    position: relative;
    z-index: 1;
    transition: opacity .8s ease, transform .8s ease;
}
.p-topService__header {
    padding-left: 40px;
}
.p-topService__header {
    color: #000;
    padding-left: 20px;
    position: relative;
}
.p-topService__titleJa {
    font-size: 1.25rem;
    letter-spacing: .04em;
    line-height: 1.8;
    font-weight: 700;
}
.p-topService__titleEn {
    display: block;
    font-size: 4.5rem;
    letter-spacing: .02em;
    line-height: 1;
    font-weight: 700;
    margin-top: 17px;
    text-transform: uppercase;
    font-family: var(--font_en_sans);
    text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,  -1px 1px 0 #fff, 1px -1px 0 #fff,  0px 1px 0 #fff, 0 -1px 0 #fff,  -1px 0 0 #fff, 1px 0 0 #fff;
}
.p-topService__text {
    font-size: 1rem;
    letter-spacing: 0.04em;
    margin-top: 30px;
    line-height: 2.7;
    text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,  -1px 1px 0 #fff, 1px -1px 0 #fff,  0px 1px 0 #fff, 0 -1px 0 #fff,  -1px 0 0 #fff, 1px 0 0 #fff;
}
.p-topService__img {
    position: relative;
    text-align: right;
    right: 0;
}
.p-topService__img-1 {
    position: absolute;
    right: 0;
}
.p-topService__img-2 {
    position: absolute;
    right: 0;
    bottom: 0;
}
.p-topService__header:before {
    content: "";
    background: #E31E23;
    width: 3px;
    height: calc(100% + 0px);
    position: absolute;
    left: -2.76%;
    top: 5px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
}
.p-topService__header:before {
    -webkit-animation: topMvTextBoxBorderMove 3s 1.5s ease infinite;
    animation: topMvTextBoxBorderMove 3s 1.5s ease infinite;
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center;
}
.p-topService__header:before {
    height: 0;
    top: calc(100% + 5px);
    -webkit-transition: top 0.6s 0.2s ease-in-out, height 0.6s 0.2s ease-in-out;
    transition: top 0.6s 0.2s ease-in-out, height 0.6s 0.2s ease-in-out;
}
 @-webkit-keyframes topMvTextBoxBorderMove {
 0% {
 height: 0;
 top: 0;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
}
 40% {
 height: calc(100% + 0px);
 top: 0;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
}
 60% {
 height: calc(100% + 0px);
 top: 0;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
}
 100% {
 height: calc(100% + 0px);
 top: 0;
 -webkit-transform: translateX(-50%) scale(1, 0);
 transform: translateX(-50%) scale(1, 0);
}
}
@keyframes topMvTextBoxBorderMove {
 0% {
 height: 0;
 top: 0;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
}
 40% {
 height: calc(100% + 0px);
 top: 0;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
}
 60% {
 height: calc(100% + 0px);
 top: 0;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
}
 100% {
 height: calc(100% + 0px);
 top: 0;
 -webkit-transform: translateX(-50%) scale(1, 0);
 transform: translateX(-50%) scale(1, 0);
}
}
/*== 矢印の線がループして伸縮 */

.btnlinestretches-1 {
    position: relative;
    color: #333;
    padding: 22px 50px;
    display: inline-block;
    text-decoration: none;
    outline: none;
    border: 1px solid;
    transform: skew(10deg);
	background: #fff;
	margin-top: 40px;
}
.btnlinestretches-1 span {
    display: inline-block;
    transform: skew(-10deg);
}
/*線の設定*/
.btnlinestretches-1::before {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 8px;
    /*線の形状*/
    width: 100%;
    height: 1px;
    background: #333;
}
/*矢印の設定*/
.btnlinestretches-1::after {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 4px;
    /*矢印の形状*/
    width: 8px;
    height: 8px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg);
}
/*線と矢印を繰り返しアニメーション*/
.btnlinestretches-1::before {
    animation: arrowlong01 2s ease infinite;
}
.btnlinestretches-1::after {
    animation: arrowlong02 2s ease infinite;
}
 @keyframes arrowlong01 {
 0% {
width:0;
opacity:0
}
 20% {
width:0;
opacity:1
}
 80% {
width:70%;
opacity:1
}
 100% {
width:70%;
opacity:0
}
}
 @keyframes arrowlong02 {
 0% {
left:22%;
opacity:0
}
 20% {
left:22%;
opacity:1
}
 80% {
left:92%;
opacity:1
}
 100% {
left:92%;
opacity:0
}
}
/*.sec-3 {
    background: url(../img/top-background-text-top-pc.svg) no-repeat;
    background-position: 419% -1%;
}*/
.sec-2__inner {
    margin-top: 150px;
    padding-top: 300px;
    background: url("../img/top-background.png") no-repeat;
}
.sec-2-txt {
    width: 77%;
    margin: 0 auto;
}
.sec-2-img {
    width: 100%;
    height: 500px;
}
.sec-2-img img {
    width: 100%;
}
.lineup {
    padding-bottom: 10.9027777778vw;
    /* padding-top: 200px; */
    margin-top: 130px;
}
section.sec-3 {
    padding-top: 50px;
    background: url(../img/top-background-1.png) no-repeat top right;
    padding-bottom: 100px;
}


section.sec-4 {
    padding: 15% 0 10%;
	    background: url("../img/top-background-3.png") no-repeat 0 100px;
}
.flexitem-c{
	width: 35%;
}
.flexitem-d{
	width: 65%;
}
.lineup__title {
    position: absolute;
    left: 60px;
    padding: 2.56% 0 0 0
}
.carousel-container {
    top: 60px;
    right: 0;
    display: flex;
}

.card {
    display: flex;
    height: 400px;
    width: 100%;
    background-color: #222;
    border-radius: 10px;
    box-shadow: -1rem 0 3rem #000;
    transition: 0.4s ease-out;
    position: relative;
    left: 0px;
}

.card:not(:first-child) {
    margin-left: -20px;
}

.card:hover {
  transform: translateY(-20px);
  transition: 0.4s ease-out;
}

.card:hover ~ .card {
  position: relative;
  left: 50px;
  transition: 0.4s ease-out;
}

.title {
  color: white;
  font-weight: 300;
  position: absolute;
  left: 20px;
  top: 56%;
}

.bar {
  position: absolute;
  top: 50%;
  left: 20px;
  height: 5px;
  width: 80%;
}

.emptybar {
  background-color: #2e3033;
  width: 100%;
  height: 100%;
}

.filledbar {
  position: absolute;
  top: 0px;
  z-index: 3;
  width: 0px;
  height: 100%;
  background: rgb(0,154,217);
  background: linear-gradient(90deg, rgba(277,30,35,1) 0%, rgba(277,30,35,1) 100%);
  transition: 0.6s ease-out;
}

.card:hover .filledbar {
  width: 100%;
  transition: 0.4s ease-out;
}

.voice-txt {
    position: absolute;
    top: 60%;
    padding: 20px;
    line-height: 2;
    color: #fff;
}

.stroke {
  stroke: white;
  stroke-dasharray: 360;
  stroke-dashoffset: 360;
  transition: 0.6s ease-out;
}

svg {
  fill: #17141d;
  stroke-width: 2px;
}

.card:hover .stroke {
  stroke-dashoffset: 100;
  transition: 0.6s ease-out;
}

.footer-nav__link {
    color: var(--color_white)
}
.footer-nav {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
    grid-area: 2/2/3/4;
    -ms-grid-row-align: end;
    align-self: end;
    width: 80%
}
.footer__copyright {
    line-height: 1;
    letter-spacing: 0;
    font-size: 1em;
    font-family: var(--font_en_sans);
    font-weight: 700;
    -webkit-font-smoothing: antialiased;
    color: var(--color_white)
}
.footer__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 31.09% 435px auto;
    grid-template-columns: 31.09% 435px auto;
-ms-grid-rows:(auto)[4];
    grid-template-rows: repeat(4, auto);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    width: 80.83%;
    max-width: 1164px;
    margin: 0 auto;
    padding: 1% 0 3.47%
}
.footer-access {
    color: #fff;
}

#page-top1 {
    display: block;
    position: fixed;
    z-index: 9999;
    bottom: 10px;
    right: 10px;
    width: 25%;
    padding: 20px 10px;
    color: #fff;
    text-align: center;
    text-decoration: none;
}
.tel {
    color: #fff;
    display: block;
    margin-top: 13px;
    font-size: 17px;
}














/*◼️ 1280px~（大型PC） */
@media screen and (min-width:76em) {}
/*◼️ 1200px（タブレット横・PC）　*/
@media screen and ( max-width:75em) {}
/*◼️ 900px~1199px（タブレット縦横）　*/
@media screen and (min-width:56.25em) and ( max-width:74.9375em) {}
/*◼️ 500px~899px タブレット（縦）＆モバイル（横） */
@media screen and (min-width:31.25em) and ( max-width:56.1875em) {}
/*◼️ ~480px（モバイル縦） */
@media screen and ( max-width:31.1875em) {
.main-nav {
    display: none;
}
.hamburger {
	display: block;
}
.main {
    overflow: hidden;
	margin-top: 0;
}
.slide-in__inner {
    font-size: 45px;
}
.logo {
    width: 70%;
    margin-left: 5px;
}
.intro__subtitle, .intro__subtitle-2 {
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 0;
    border-bottom: 3px solid;
}	
.intro__col--02 {
    flex-flow: column;
	justify-content: normal;
    height: 200px;
}
.main-view_sub {
    width: 60%;
    position: absolute;
    right: 0;
    top: 130px;
}
.p-topService__titleJa {
    font-size: 1rem;
	}
.p-topService__titleEn {
    font-size: 2.5rem;
	}
.problems::before{
	display: none;
}
.problem-contet__description {
    padding: 20px;
}
.sec-3,.sec-4 {
    background-size: 100%!important;
    background-position: 50% 10%!important;
}
.flex-box {
    flex-flow: column;
}
.flex-box-cr{
	flex-direction: column-reverse;
}

.flexitem-top-2p-l,.flexitem-top-2p-r {
    width: 80%;
}
.p-topService__img-2 {
    position: absolute;
    /* right: 0; */
    left: 10%;
    top: 40px;
    /* bottom: 0; */
}
.sec-2__inner {
    background-size: 100%!important;
    background-position: 50% 10%!important;
}
.sec-2-img {
    width: 100%;
    height: auto;
}
.lineup__title {
    position: relative;
	left: auto;
}	
.flexitem-c{
    width: 100%;
    height: 200px;
}
.flexitem-d {
    width: 100%;
}
.carousel-container {
    top: 60px;
    right: 0;
    flex-flow: column;
    width: 80%;
    margin: 140px auto 0;
}
.card:not(:first-child) {
    margin-left: 0!important;
    margin-top: 20px!important;
}
.card-img {
    width: 80%;
    margin: 15px auto 0;
}
.card-img img {
    width: 100%;
}
.btn-voice{
    margin-top: 15px;
    /* margin: 0 auto; */
    margin-left: 25%;
}
.footer {
    overflow: inherit;
	background-color: #222	
}
.footer__inner {
    display: block;
    -ms-grid-columns: 31.09% 435px auto;
    grid-template-columns: 31.09% 435px auto;
    -ms-grid-rows: (auto)[4];
    grid-template-rows: repeat(4, auto);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    width: 80.83%;
    max-width: 1164px;
    margin: 0 auto;
    padding: 1% 0 3.47%;
}
.footer-nav {
    width: auto;
	margin-bottom: 5.3em;
}
.reserve {
    margin: 0 6.66% 21.33%!important;
}	
.sec-bg {
    background: url(../img/sec-bg1.png) no-repeat;
    background-position: right bottom;
    background-size: contain;
	}
#page-top1 {
    width: 55%;
}
	
/*下層ページ用 ==========================================================================================*/	
.sub-mainview {
    height: 150px!important;
}	
.sub-mainview-txt {
    float: left;
    position: absolute;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
    width: auto!important;
    left: 0!important;
    top: 0!important;
}	
.desc {
    padding-left:0!important;
    background: rgba(255,255,255,0.7)!important;
}

.arrow_box:before,.arrow_box-2:before {
    border-width: 0!important;
    margin-top: 0!important; 
    border-right: 20px solid transparent!important;
    border-bottom: 26px solid #E31E23!important;
    border-left: 20px solid transparent!important;
}	
.arrow_box:after, .arrow_box:before{
    right: 44%!important;
    top: -26px!important;
}
.arrow_box-2:before {
	left: 44%!important;
	top: -26px!important;		
}	
.arrow_box:after,.arrow_box-2:after {
	display: none;
}	
.flexitem-2p-r, .flexitem-2p-l {
    width: 100%!important;
    margin-top: 20px!important;
    padding-left: 0!important;
}
.flexitem-voice-l,.flexitem-voice-r{
    width: 100%!important;
}	
	
}







