@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital@1&display=swap');


/* common
-------------------------------------------------*/
:root {
  font-size: 100px;
}
@media screen and (max-width: 1300px) and (min-width: 768px) {
:root {
    font-size: 7.692307692vw;
}
}
@media screen and (max-width: 767px) {
:root {
    font-size: 13.03780964vw;
}
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
form,
figure,
picture {
	font-size: inherit;
	margin: 0;
	padding: 0;
}
a {
	color: inherit;
	text-decoration: none;
    outline: none;
}
summary {
	display: block;
}
table {
	border-collapse: collapse;
	empty-cells: show;
}
th,
td {
	text-align: left;
	vertical-align: top;
}
ul li {
	list-style: none;
}
address {
	font-style: normal;
}
figure,
picture {
	display: block;
}
img {
	vertical-align: top;
    width: 100%;
    max-width: 100%;
	height: auto;
}
input,
textarea,
select {
	color: inherit;
	font-family: inherit;
	-webkit-appearance: none;
	appearance: none;
}
textarea {
	form-sizing: content;
}
button {
	color: inherit;
	font-family: inherit;
}
input, select {
    vertical-align: middle;
}


/* module
------------------------------------------------- */
.pcon { display: block; }
.spon { display: none; }
@media screen and (max-width:767px){
.pcon { display: none; }
.spon { display: block; }
}


/* a
------------------------------------------------- */
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
	text-decoration: none;
	outline: none;
    color: #333;
}
@media screen and (min-width:768px){
a {
    transition: 0.3s;
}
a.al:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
.telLink {
	pointer-events: none;
}
}
@media screen and (max-width:767px){
a {
    -webkit-tap-highlight-color: transparent;
}
}


/* html
------------------------------------------------- */
html {
    font-size: 0.16rem;
}
@media screen and (max-width:767px){
html {
    overflow-x: hidden;
}
}


/* body
------------------------------------------------- */
body {
    min-height: 100vh;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
	font-size: 0.16rem;
	line-height: 2;
    letter-spacing: normal;
	color: #333;
	-webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    position: relative;
}
.eng {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: italic;
    font-variation-settings:
        "wdth" 100;
}
@media screen and (max-width:767px){
body {
	font-size: 0.32rem;
}
}


/* layout
------------------------------------------------- */
.d-flex {
    display: flex;
}
.f-wrap {
    flex-wrap: wrap;
}
.f-rev {
    flex-direction: row-reverse;
}
.just-center {
    justify-content: center;
}
.just-between {
    justify-content: space-between;
}
.just-end {
    justify-content: flex-end;
}
.align-center {
    align-items: center;
}
.align-start {
    align-items: flex-start;
}
.align-end {
    align-items: flex-end;
}
@media screen and (max-width:767px){
.d-flex {
    display: block;
}
}


/* header
------------------------------------------------- */
#header {
    width: 100%;
    height: 0.9rem;
    background-color: #af1e31;
    color: #fff;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 50;
}
#header .logo {
    width: 1.63rem;
    height: 0.9rem;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 0;
}
#header .logo::after {
    content: '';
    width: 0.4rem;
    height: 100%;
    background: url("../img/header_bg.png") center center no-repeat;
    background-size: auto 100%;
    position: absolute;
    right: -0.4rem;
    top: 0;
}
#header .logo img {
    width: 0.96rem;
    position: absolute;
    left: 0.44rem;
    top: 0.3rem;
}
#header h1 a {
    display: block;
    font-size: 0.18rem;
    font-weight: 700;
    line-height: 1.45;
    color: #fff;
    position: absolute;
    left: 2.28rem;
    top: 0.225rem;
}
#header h1 a span {
    display: block;
    font-size: 0.13rem;
    font-weight: 500;
}
@media screen and (max-width:767px){
#header {
    height: 1.25rem;
    background-color: #fff;
    z-index: 99;
}
#header .logo {
    display: none;
}
#header h1 a {
    font-size: 0.32rem;
    line-height: 1.35;
    color: #af1e31;
    left: 0.33rem;
    top: 0.26rem;
}
#header h1 a span {
    font-size: 0.24rem;
}
}


/* #navtoggle
------------------------------------------------- */
#navtoggle {
    display: none;
}
@media screen and (max-width:767px){
#navtoggle {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    background-color: #af1e31;
    position: fixed;
    right: 0;
    top: 0;
    cursor: pointer;
    z-index: 99;
}
#navtoggle div {
    width: 0.54rem;
    margin: 0.44rem auto 0;
    position: relative;
}
#navtoggle span {
    display: block;
    width: 100%;
    height: 0.04rem;
    background-color: #fff;
    border-radius: 0.02rem;
    position: absolute;
    left: 0;
    transition: .35s ease-in-out;
}
#navtoggle span:nth-child(1) {
    top: 0;
}
#navtoggle span:nth-child(2) {
    top: 0.15rem;
}
#navtoggle span:nth-child(3) {
    top: 0.3rem
}
body.nav-active #navtoggle span:nth-child(1) {
	top: 0.15rem;
	transform: rotate(45deg);
}
body.nav-active #navtoggle span:nth-child(2) {
	width: 0;
}
body.nav-active #navtoggle span:nth-child(3) {
	top: 0.15rem;
	transform: rotate(-45deg);
}
}


/* gnav
------------------------------------------------- */
#gnav {
    position: fixed;
    right: 0.35rem;
    top: 0.4rem;
    z-index: 60;
}
#gnav ul li {
    margin-left: 0.55rem;
}
#gnav ul li a {
    color: #fff;
    position: relative;
}
#gnav ul li a::after {
    content: '';
    width: 0;
    height: 0.02rem;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: -0.03rem;
    transition: 0.3s;
}
@media screen and (max-width:1340px){
#gnav ul li {
    margin-left: 0.35rem;
}
}
@media screen and (min-width:768px){
#gnav ul li.active a::after,
#gnav ul li a:hover::after {
    width: 100%;
} 
}
@media screen and (max-width:767px){
#gnav {
    display: none;
    width: 100%;
    height: calc(100vh - 1.25rem);
    background-color: #af1e31;
    position: fixed;
    right: 0;
    top: 1.25rem;
    overflow-y: auto;
}
#gnav ul {
    font-size: 0.36rem;
    padding: 1rem 0.57rem;
}
#gnav ul li {
    margin: 0 0 0.6rem;
}
#gnav ul li a {
    font-weight: 700;
}
}


/* contents
------------------------------------------------- */
#contents {
    padding-top: 0.9rem;
    position: relative;
    z-index: 3;
}
.anchor {
    padding-top: 0.9rem;
    margin-top: -0.9rem;
}
.inner {
    max-width: 13rem;
    margin: 0 auto;
    position: relative;
}
@media screen and (max-width:767px){
#contents {
    padding-top: 1.25rem;
}
.anchor {
    padding-top: 1.25rem;
    margin-top: -1.25rem;
}
.inner {
    width: 91.26%;
}
}


/* headline
------------------------------------------------- */
.headline1 {
    font-size: 0.32rem;
    font-weight: 700;
    line-height: 1.5;
    color: #af1e31;
    padding-bottom: 0.075rem;
    margin: 0 0 0.22rem 0.5rem;
    position: relative;
}
.headline1::after {
    content: '';
    width: 1.24rem;
    height: 0.04rem;
    background-color: #af1e31;
    position: absolute;
    left: 0;
    bottom: 0;
}
.headline2 {
    font-size: 0.24rem;
    font-weight: 700;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: pre;
    color: #af1e31;
    position: absolute;
    right: 0;
    top: 0;
}
.headline2::after {
    content: '';
    width: 0.02rem;
    height: 1.24rem;
    background-color: #af1e31;
    position: absolute;
    left: 0;
    top: 0;
}
@media screen and (max-width:767px){
.headline1 {
    font-size: 0.42rem;
    padding-bottom: 0.1rem;
    margin: 0 0 0.6rem;
}
.headline1::after {
    width: 1.72rem;
}
.headline2 {
    display: none;
}
}


/* mainvisual
------------------------------------------------- */
.mainvisual {
    width: 100%;
    height: 7rem;
    background: url("../img/mainimg.jpg") center center no-repeat;
    background-size: cover;
    position: relative;
}
.mainvisual .inner {
    max-width: 12.56rem;
    padding-top: 2.4rem;
}
.mainvisual h2 div {
    display: inline-block;
    position: relative;
    overflow: hidden;
}
.mainvisual h2 div .txt {
    display: inline-block;
    font-size: 0.5rem;
    font-weight: 700;
    line-height: 1.32;
    color: #af1e31;
    padding: 0 0.2rem;
    position: relative;
    z-index: 2;
    transform: translateY(100%);
    opacity: 0;
    transition: 0.7s 0.3s;
}
.mainvisual h2 div .bg {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: left top;
    z-index: 1;
    transition: 0.4s;
}
.mainvisual h2 div.seco .txt {
    padding: 0 0.4rem 0 0.2rem;
}
.mainvisual h2 div.seco .bg {
    width: calc(100% - 0.3rem);
}
.mainvisual h2 div.seco .bg::after {
    content: '';
    width: 0.3rem;
    height: 100%;
    background: url("../img/maintxt_bg1.png") right top no-repeat;
    background-size: 100% 100%;
    position: absolute;
    right: -0.3rem;
    top: 0;
}
.mainvisual p {
    display: inline-block;
    font-size: 0.18rem;
    line-height: 1.55;
    position: relative;
    overflow: hidden;
}
.mainvisual p .txt {
    display: inline-block;
    font-size: 0.18rem;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0.1em;
    color: #fff;
    padding: 0 0.4rem 0 0.32rem;
    position: relative;
    z-index: 2;
    transform: translateY(100%);
    opacity: 0;
    transition: 0.7s 0.3s;
}
.mainvisual p .bg {
    display: block;
    width: calc(100% - 0.15rem);
    height: 100%;
    background-color: #af1e31;
    position: absolute;
    left: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: left top;
    z-index: 1;
    transition: 0.4s;
}
.mainvisual p .bg::after {
    content: '';
    width: 0.15rem;
    height: 100%;
    background: url("../img/maintxt_bg2.png") right top no-repeat;
    background-size: 100% 100%;
    position: absolute;
    right: -0.15rem;
    top: 0;
}
.mainvisual.is-active h2 div .txt,
.mainvisual.is-active p .txt {
    transform: translateY(0);
    opacity: 1;
}
.mainvisual.is-active h2 div .bg,
.mainvisual.is-active p .bg {
    transform: scaleX(100%);
}
@media screen and (max-width:767px){
.mainvisual {
    height: 8.77rem;
    background-image: url("../img/mainimg_sp.jpg");
}
.mainvisual .inner {
    padding-top: 3.38rem;
}
.mainvisual h2 {
    line-height: 1.4;
}
.mainvisual h2 div .txt {
    font-size: 0.6rem;
    line-height: 1.33;
}
.mainvisual p {
    font-size: 0.24rem;
    line-height: 1.416;
    margin-top: -0.15rem;
}
.mainvisual p .txt {
    font-size: 0.24rem;
    line-height: 1.416;
}
}


/* cont1
------------------------------------------------- */
.cont1 {
    background: url("../img/cont1_bg.jpg") center center no-repeat;
    background-size: cover;
    padding: 0.7rem 0 0.9rem;
}
.cont1 .box {
    display: inline-block;
    background-color: #fff;
    border: 0.02rem solid #af1e31;
    padding: 0.35rem 0.4rem;
    margin-left: 0.5rem;
}
.cont1 .box p {
    font-size: 0.18rem;
}
.cont1 .box p .bold {
    font-weight: 700;
}
.cont1 .box p .red {
    color: #af1e31;
}
@media screen and (max-width:767px){
.cont1 {
    background: url("../img/cont1_bg_sp.jpg") center top no-repeat #dbe0e9;
    background-size: 100% auto;
    padding: 0.7rem 0 0.45rem;
}
.cont1 .headline1 {
    margin-bottom: 1.85rem;
}
.cont1 .box {
    display: block;
    padding: 0.35rem 0.375rem 0.35rem 0.4rem;
    margin-left: 0;
}
.cont1 .box p {
    font-size: 0.28rem;
    line-height: 1.785;
}
}


/* cont2
------------------------------------------------- */
.cont2 {
    padding: 0.7rem 0 0.9rem;
    position: relative;
    z-index: 1;
}
.cont2::before,
.cont2::after {
    content: '';
    width: 2.97rem;
    height: 6.46rem;
    background: url("../img/cont2_bg1.png") center center no-repeat;
    background-size: cover;
    position: absolute;
    left: -1.12rem;
    top: 2.29rem;
    z-index: 1;
}
.cont2::after {
    width: 3.68rem;
    height: 6.68rem;
    background-image: url("../img/cont2_bg2.png");
    left: auto;
    right: -1.32rem;
    top: 2.72rem;
}
.cont2 .inner {
    z-index: 2;
}
.cont2 .headline1 {
    margin-bottom: 0.43rem;
}
.cont2 p {
    width: 10.32rem;
    margin: 0 auto 0.5rem;
}
.cont2 .movie {
    width: 9rem;
    height: 5.0625rem;
    margin: 0 auto;
    position: relative;
}
.cont2 .movie iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
@media screen and (max-width:767px){
.cont2 {
    padding: 0.7rem 0;
}
.cont2::before,
.cont2::after {
    width: 1.94rem;
    height: 5.02rem;
    background-image: url("../img/cont2_bg1_sp.png");
    left: -1.41rem;
    top: auto;
    bottom: 0.27rem;
}
.cont2::after {
    width: 2.16rem;
    height: 4.94rem;
    background-image: url("../img/cont2_bg2_sp.png");
    left: auto;
    right: -1.72rem;
    top: auto;
    bottom: -0.1rem;
}
.cont2 p {
    width: 100%;
    font-size: 0.28rem;
    line-height: 1.6725;
}
.cont2 .movie {
    width: 6.74rem;
    height: 3.79125rem;
}
}


/* cont3
------------------------------------------------- */
.cont3 {
    background-color: #eff1f5;
    padding: 0.7rem 0 0.05rem;
    position: relative;
    z-index: 2;
    overflow: hidden;
}
.cont3::before,
.cont3::after {
    content: '';
    width: 3.21rem;
    height: 9.79rem;
    background: url("../img/cont3_bg1.png") center center no-repeat;
    background-size: cover;
    position: absolute;
    left: -1.37rem;
    top: 0.64rem;
    z-index: 1;
}
.cont3::after {
    width: 6.73rem;
    height: 10.72rem;
    background-image: url("../img/cont3_bg2.png");
    left: auto;
    right: -1.36rem;
    top: 0;
}
.cont3 .inner {
    max-width: 10.64rem;
    z-index: 2;
}
.cont3 .inner::before {
    content: '';
    width: 1.73rem;
    height: 1.73rem;
    background: url("../img/cont3_bg3.png") center center no-repeat;
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 4.27rem;
    margin-left: -0.865rem;
    z-index: 1;
}
.cont3 h4 {
    text-align: center;
    margin-bottom: 0.55rem;
}
.cont3 h4 span {
    display: inline-block;
    font-size: 0.32rem;
    font-weight: 700;
    line-height: 1.25;
    color: #af1f30;
    padding: 0 0.65rem;
    position: relative;
}
.cont3 h4 span::before,
.cont3 h4 span::after {
    content: '';
    width: 0.42rem;
    height: 0.59rem;
    background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2043.18%2061.3%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23af1f30%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20stroke-width%3A%202px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22contents%22%3E%20%3Cline%20class%3D%22cls-1%22%20x1%3D%2242.18%22%20y1%3D%2260.3%22%20x2%3D%221%22%20y2%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') center center no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -0.295rem;
}
.cont3 h4 span::after {
    transform: scale(-1, 1);
    left: auto;
    right: 0;
}
.cont3 ul li {
    width: 30%;
    margin: 0 5% 0.43rem 0;
}
.cont3 ul li:nth-child(3),
.cont3 ul li:nth-child(5) {
    margin-right: 0;
}
.cont3 ul li:nth-child(4) {
    margin-right: 40%;
}
.cont3 ul li a {
    display: block;
    width: 100%;
    height: 2.2rem;
    background-color: #fff;
    border: 0.01rem solid #af1e31;
    border-radius: 0.2rem;
    padding: 0.35rem 0.335rem 0;
    box-sizing: border-box;
}
.cont3 ul li a p {
    line-height: 1.4375;
    padding: 0.2rem 0 0.15rem;
}
.cont3 ul li a .btn {
    width: 1.96rem;
    height: 0.36rem;
    background: url("../img/icon1.png") 0.14rem center no-repeat #af1e31;
    background-size: 0.205rem auto;
    border: 0.01rem solid #af1e31;
    border-radius: 0.1rem;
    font-size: 0.14rem;
    color: #fff;
    text-align: center;
    padding: 0 0 0.025rem 0.24rem;
    margin-left: 0.68rem;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    transition: 0.3s;
}
.cont3 ul li:nth-child(7) a .btn {
    width: 1.7rem;
    margin-left: 0.94rem;
}
.cont3 h6 {
    font-size: 0.2rem;
    font-weight: 700;
    line-height: 1.6;
    color: #af1e31;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 4.7rem;
    transform: translateX(-50%);
    z-index: 2;
}
@media screen and (min-width:768px){
.cont3 ul li a:hover .btn {
    background-image: url("../img/icon2.png");
    background-color: #fff;
    color: #af1e31;
}
}
@media screen and (max-width:767px){
.cont3 {
    background: url("../img/cont3_bg_sp.jpg") center top repeat-y;
    background-size: 100% auto;
    padding: 1rem 0 0.6rem;
}
.cont3::before,
.cont3::after {
    display: none;
}
.cont3 .inner::before {
    content: '';
    width: 2.5rem;
    height: 2.5rem;
    top: 1.13rem;
    margin-left: -1.25rem;
}
.cont3 h4 {
    margin-bottom: 2.45rem;
    position: relative;
    z-index: 2;
}
.cont3 h4 span {
    font-size: 0.42rem;
    line-height: 1.38;
    padding: 0 0.65rem;
}
.cont3 h4 span::before,
.cont3 h4 span::after {
    content: '';
    width: 0.41rem;
    height: 1.36rem;
    background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2043.18%20138.3%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23af1f30%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20stroke-width%3A%202px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%22%20data-name%3D%22%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%22%3E%20%3Cline%20class%3D%22cls-1%22%20x1%3D%2242.18%22%20y1%3D%22137.3%22%20x2%3D%221%22%20y2%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
    top: 0.3rem;
    margin-top: 0;
}
.cont3 h4 span::after {
    transform: scale(-1, 1);
    left: auto;
    right: 0;
}
.cont3 h4 span .spon {
    display: inline;
}
.cont3 ul li {
    width: 100%;
    margin: 0 0 0.4rem;
}
.cont3 ul li:nth-child(3),
.cont3 ul li:nth-child(4),
.cont3 ul li:nth-child(5) {
    margin: 0 0 0.4rem;
}
.cont3 ul li a {
    height: 4.85rem;
    padding: 0.55rem 0.85rem 0;
}
.cont3 ul li a p {
    font-size: 0.28rem;
    line-height: 1.8;
    padding: 0.7rem 0 0.45rem;
}
.cont3 ul li a p.txt {
    padding-bottom: 0.954rem;
}
.cont3 ul li a .btn {
    width: 3.6rem;
    height: 0.68rem;
    background-position: 0.4rem;
    background-size: 0.3rem auto;
    font-size: 0.24rem;
    padding: 0 0 0.025rem 0.46rem;
    margin-left: 2.3rem;
}
.cont3 ul li:nth-child(7) a .btn {
    width: 3.2rem;
    margin-left: 2.7rem;
}
.cont3 h6 {
    display: none;
}
}


/*  modal  */
.none {
    display: none;
}
#cboxContent {
    background-color: rgba(0,0,0,0);
}
.modalbox h3 {
    height: 0.65rem;
    font-size: 0.24rem;
    font-weight: 700;
    color: #fff;
}
.modalbox ul {
    display: flex;
    flex-wrap: wrap;
    position: relative;
}
.modalbox ul li {
    width: 33.333%;
    height: 2rem;
    background-color: #af1e31;
    border-right: 0.01rem solid #fff;
    border-bottom: 0.01rem solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
.modalbox ul li:nth-child(3n) {
    border-right: none;
}
.modalbox ul li:nth-child(7),
.modalbox ul li:nth-child(8),
.modalbox ul li:nth-child(9) {
    border-bottom: none;
}
.modalbox ul li p {
    font-size: 0.18rem;
    font-weight: 700;
    line-height: 1.6;
    color: #fff;
    text-align: center;
}
.modalbox ul li p span {
    display: block;
    font-size: 0.15rem;
    font-weight: 700;
    line-height: 1.35;
    padding-top: 0.05rem;
}
.modalbox ul li:nth-child(5) {
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}  
.modalbox ul li:nth-child(5) img {
    display: block;
    width: 2.5rem;
}
#cboxClose {
    background: url("../img/close.png") right center no-repeat;
    background-size: 0.4rem auto;
    font-size: 0.18rem;
    font-weight: 700;
    color: #fff;
    border: none;
    border-radius: 0;
    margin: 0;
    padding: 0.1rem 0.64rem 0.1rem 0;
    position: absolute;
    right: 0.15rem;
    top: 0.025rem;
    cursor: pointer;
    transition: 0.3s;
}
@media only screen and (min-width:768px){
#cboxClose:hover {
    opacity: 0.7;
}
}
@media only screen and (max-width:767px){
.modalbox h3 {
    height: 2.15rem;
    font-size: 0.32rem;
    padding-top: 1.4rem;
    box-sizing: border-box;
}
.modalbox ul {
    justify-content: space-between;
}
.modalbox ul li {
    width: 50%;
    height: 2.7rem;
}
.modalbox ul li:nth-child(3),
.modalbox ul li:nth-child(6) {
    border-right: 0.01rem solid #fff;
}
.modalbox ul li:nth-child(7) {
    border-bottom: 0.01rem solid #fff;
}
.modalbox ul li:nth-child(2),
.modalbox ul li:nth-child(4),
.modalbox ul li:nth-child(7) {
    border-right: none;
}
.modalbox ul li p {
    font-size: 0.28rem;
    line-height: 1.7;
}
.modalbox ul li p span {
    font-size: 0.22rem;
}
.modalbox ul li:nth-child(5) {
    width: 100%;
    height: 2.7rem;
}  
.modalbox ul li:nth-child(5) img {
    width: 5.35rem;
}
#cboxClose {
    background-size: 0.72rem auto;
    font-size: 0.3rem;
    padding: 0.15rem 0.84rem 0.15rem 0;
    right: 0;
    top: 0;
}
}


/* -------------------------------------------------
	colorbox
------------------------------------------------- */
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; -webkit-transform: translate3d(0,0,0);}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box;}
#cboxOverlay{ background: rgba(0,0,0,0.6); }
#colorbox{outline:0;}
#cboxContent{overflow:visible;}
#cboxLoadingGraphic{background:url("../img/loader.gif") no-repeat center center;}
#cboxTitle, #cboxCurrent { display: none !important; }


/* cont4
------------------------------------------------- */
.cont4 {
    padding: 0.75rem 0 1.1rem;
}
.cont4 .headline1 {
    font-size: 0.28rem;
    padding-bottom: 0.2rem;
    margin: 0 0 0.3rem 0.5rem;
}
.cont4 .copy {
    padding: 0 0 0.4rem 0.92rem; 
}
.cont4 .sec {
    width: 10rem;
    margin: 0 auto;
    border-bottom: 0.01rem solid #af1e31;
    padding-bottom: 0.7rem;
    margin-bottom: 0.4rem;
}
.cont4 .sec.last {
    border-bottom: none;
    padding-bottom: 0.3rem;
    margin-bottom: 0;
}
.cont4 .sec .con {
    width: 54.5%;
}
.cont4 .sec .con .no {
    font-size: 0.27rem;
    line-height: 1;
    color: #91999e;
}
.cont4 .sec .con .no span {
    font-size: 0.5rem;
    padding-left: 0.05rem;
}
.cont4 .sec .con h5 {
    margin: 0.1rem 0 0.18rem;
}
.cont4 .sec .con h5 span {
    display: inline-block;
    background-color: #af1f30;
    font-size: 0.2rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    padding: 0 0.1rem;
}
.cont4 .sec .con h6 {
    background: url("../img/icon3.png") left top no-repeat;
    background-size: 0.2rem auto;
    font-weight: 700;
    line-height: 1.2;
    color: #af1f30;
    padding: 0.1rem 0 0.3rem 0.17rem;
    margin: 0 0.1rem;
}
.cont4 .sec .con p {
    margin: 0 0.3rem 0 0.1rem;
}
.cont4 .sec .con .btn {
    text-align: right;
    margin: 0.25rem 0.3rem 0 0;
}
.cont4 .sec .con .btn a {
    background: url("../img/icon2.png") left center no-repeat;
    background-size: 0.2rem auto;
    padding: 0 0 0.025rem 0.25rem;
    font-weight: 700;
    color: #af1e31;
}
.cont4 .sec picture {
    width: 42%;
    margin-top: 0.275rem;
}
.cont4 .coming {
    font-size: 0.24rem;
    font-weight: 500;
    color: #af1e31;
    text-align: center;
}
@media screen and (min-width:768px){
.cont4 .sec .con .btn a:hover {
    text-decoration: underline;
}
}
@media only screen and (max-width:767px){
.cont4 {
    padding: 0.75rem 0 1.2rem;
}
.cont4 .headline1 {
    font-size: 0.42rem;
    padding-bottom: 0.1rem;
    margin: 0 0 0.6rem;
}
.cont4 .copy {
    font-size: 0.28rem;
    line-height: 1.4285;
    padding: 0 0 0.4rem; 
}
.cont4 .sec {
    width: 100%;
    margin-bottom: 0.5rem;
}
.cont4 .sec.last {
    border-bottom: none;
    padding-bottom: 0.5rem;
    margin-bottom: 0;
}
.cont4 .sec .con {
    width: 100%;
}
.cont4 .sec .con .no {
    font-size: 0.36rem;
}
.cont4 .sec .con .no span {
    font-size: 0.72rem;
}
.cont4 .sec .con h5 {
    margin: 0.2rem 0 0.25rem;
}
.cont4 .sec .con h5 span {
    font-size: 0.36rem;
    line-height: 1.45;
    padding: 0.125rem 0.2rem;
}
.cont4 .sec .con h6 {
    background-size: 0.46rem auto;
    padding: 0.3rem 0 0.3rem 0.4rem;
    margin: 0;
}
.cont4 .sec .con p {
    font-size: 0.28rem;
    line-height: 1.57;
    margin: 0;
}
.cont4 .sec .con .btn {
    margin: 0.2rem 0 0;
}
.cont4 .sec .con .btn a {
    font-size: 0.24rem;
    background-size: 0.4rem auto;
    padding: 0.025rem 0 0.05rem 0.6rem;
}
.cont4 .sec picture {
    width: 100%;
    margin: 0 0 0.65rem;
}
.cont4 .coming {
    font-size: 0.36rem;
    margin-bottom: 0.5rem;
}
}


/* cont5
------------------------------------------------- */
.cont5 {
    background-color: #af1e31;
    padding: 0.9rem 0 0.75rem;
    position: relative;
}
.cont5::before,
.cont5::after {
    content: '';
    width: 14.08rem;
    height: 7.92rem;
    background: url("../img/cont4_bg.png") right top no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
    mix-blend-mode: multiply;
    opacity: 0.8;
    z-index: 1;
}
.cont5::after {
    transform: scale(-1, -1);
    right: auto;
    left: 0;
    top: auto;
    bottom: 0;
}
.cont5 .inner {
    z-index: 2;
}
.cont5 .headline1 {
    font-size: 0.28rem;
    padding-bottom: 0.2rem;
    margin: 0 0 0.725rem 0.5rem;
    color: #fff;
}
.cont5 .headline1::after,
.cont5 .headline2::after {
    background-color: #fff;
}
.cont5 .headline2 {
    color: #fff;
}
.cont5 .box {
    width: 10rem;
    background-color: #fff;
    border-radius: 0.2rem;
    margin: 0 auto 0.2rem;
    overflow: hidden;
}
.cont5 .box .acc {
    height: 1.16rem;
    padding: 0 1.4rem 0 0.7rem;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    position: relative;
    cursor: pointer;
}
.cont5 .box .acc h5 {
    width: 2.5rem;
    margin-right: 0.85rem;
}
.cont5 .box .acc p {
    line-height: 1.75;
}
.cont5 .box .acc span {
    width: 0.4rem;
    height: 0.4rem;
    background-color: #af1e31;
    border-radius: 50%;
    position: absolute;
    right: 0.5rem;
    top: 50%;
    margin-top: -0.2rem;
    transition: 0.3s;
}
.cont5 .box .acc span::before,
.cont5 .box .acc span::after {
    content: '';
    width: 0.18rem;
    height: 0.01rem;
    background-color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -0.005rem 0 0 -0.09rem;
}
.cont5 .box .acc span::after {
    width: 0.01rem;
    height: 0.18rem;
    margin: -0.09rem 0 0 -0.005rem;
}
.cont5 .box .acc.open span {
    transform: rotate(360deg);
}
.cont5 .box .acc.open span::after {
    width: 0;
    height: 0;
}
.cont5 .box .accbox {
    display: none;
    background-color: #edf0f4;
}
.cont5 .box .accbox .sec {
    padding: 0.45rem 0.55rem 0.4rem;
}
.cont5 .box .accbox .sec picture {
    width: 4rem;
}
.cont5 .box .accbox .sec .con {
    width: 4.7rem;
}
.cont5 .box .accbox .sec .con ul {
    padding-bottom: 0.35rem;
}
.cont5 .box .accbox .sec .con ul li {
    font-weight: 500;
    line-height: 1.75;
    padding-left: 1em;
    text-indent: -1em;
}
.cont5 .box .accbox .sec .con ul li::before {
    content: '・';
}
.cont5 .box .accbox .sec .con p {
    font-size: 0.18rem;
    font-weight: 700;
    line-height: 1.75;
    color: #af1e31;
    padding-left: 0.5em;
}
.cont5 .box .accbox .sec .con dl {
    display: flex;
    line-height: 1.75;
}
.cont5 .box .accbox .sec .con dl dt {
    font-weight: 700;
    color: #af1e31;
    white-space: nowrap;
}
.cont5 .box .accbox .sec .con .btn {
    margin: 0.2rem 0.1rem 0;
}
.cont5 .box .accbox .sec .con .btn a {
    background: url("../img/icon2.png") left center no-repeat;
    background-size: 0.2rem auto;
    padding: 0 0 0.025rem 0.25rem;
    font-weight: 500;
    color: #af1e31;
}
@media screen and (min-width:768px){
.cont5 .box .acc:hover span {
    opacity: 0.7;
}
.cont5 .box .accbox .sec .con .btn a:hover {
    text-decoration: underline;
}
}
@media only screen and (max-width:767px){
.cont5 {
    padding: 0.8rem 0 1.4rem;
}
.cont5 .headline1 {
    font-size: 0.42rem;
    padding-bottom: 0.15rem;
    margin: 0 0 0.8rem;
}
.cont5 .box {
    width: 100%;
    margin: 0 auto 0.4rem;
}
.cont5 .box .acc {
    height: 4.07rem;
    padding: 0.35rem 0.35rem 0;
    display: block;
}
.cont5 .box .acc h5 {
    width: 5.65rem;
    margin: 0 auto 0.35rem;
}
.cont5 .box .acc p {
    font-size: 0.28rem;
    line-height: 1.3867;
}
.cont5 .box .acc span {
    width: 0.72rem;
    height: 0.72rem;
    right: 0.35rem;
    top: auto;
    bottom: 0.3rem;
    margin-top: 0;
}
.cont5 .box .acc span::before,
.cont5 .box .acc span::after {
    width: 0.38rem;
    height: 0.02rem;
    margin: -0.01rem 0 0 -0.19rem;
}
.cont5 .box .acc span::after {
    width: 0.02rem;
    height: 0.38rem;
    margin: -0.19rem 0 0 -0.01rem;
}
.cont5 .box .accbox .sec {
    padding: 0.7rem 0.25rem 0.6rem;
}
.cont5 .box .accbox .sec picture {
    width: 100%;
    margin-bottom: 0.35rem;
}
.cont5 .box .accbox .sec .con {
    width: 100%;
}
.cont5 .box .accbox .sec .con ul {
    padding-bottom: 0.5rem;
}
.cont5 .box .accbox .sec .con ul li {
    font-size: 0.28rem;
    line-height: 1.785;
}
.cont5 .box .accbox .sec .con p {
    font-size: 0.32rem;
    line-height: 1.785;
    padding-left: 0;
    margin-bottom: 0.05rem;
}
.cont5 .box .accbox .sec .con dl {
    display: block;
    font-size: 0.28rem;
    line-height: 1.785;
    margin-bottom: 0.2rem;
}
.cont5 .box .accbox .sec .con .btn {
    margin: 0;
}
.cont5 .box .accbox .sec .con .btn a {
    font-size: 0.24rem;
    background-size: 0.4rem auto;
    padding: 0.025rem 0 0.05rem 0.6rem;
}
}


/* contact
------------------------------------------------- */
#contact {
    width: 100%;
    height: 4.15rem;
    background: url("../img/contact_bg.jpg") center center no-repeat;
    background-size: cover;
    padding-top: 1.08rem;
    text-align: center;
    box-sizing: border-box;
}
#contact h4 {
    display: inline-block;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin-bottom: 0.2rem;
}
#contact h4 .txt {
    display: inline-block;
    font-size: 0.22rem;
    font-weight: 700;
    line-height: 2.27;
    color: #af1e31;
    padding: 0 0.275rem;
    position: relative;
    z-index: 2;
}
#contact h4 .bg {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}
#contact p {
    display: block;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin-bottom: 0.14rem;
}
#contact p a {
    display: inline-block;
    background-color: #fff;
    font-size: 0.31rem;
    font-weight: 700;
    line-height: 1.935;
    color: #af1e31;
    padding: 0 0.275rem;
    position: relative;
}
@media only screen and (max-width:767px){
#contact {
    height: 5.65rem;
    background-image: url("../img/contact_bg_sp.jpg");
    padding-top: 0.75rem;
}
#contact h4 {
    display: inline-block;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin-bottom: 0.2rem;
}
#contact h4 .txt {
    font-size: 0.2572rem;
    padding: 0 0.275rem;
}
#contact p {
    display: block;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin-bottom: 0.14rem;
}
#contact p a {
    font-size: 0.36rem;
}
}



/* footer
------------------------------------------------- */
#footer {
    height: 0.65rem;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
#footer small {
    display: block;
    font-size: 0.15rem;
}
@media only screen and (max-width:767px){
#footer {
    height: 0.92rem;
}
#footer small {
    font-size: 0.22rem;
    line-height: 1.45;
}
}


/* pagetop
------------------------------------------------- */
#pagetop {
    display: none;
    width: 0.7rem;
    position: fixed;
    right: 0.1rem;
    bottom: 0.1rem;
    z-index: 20;
}
@media only screen and (max-width:767px){
#pagetop {
    width: 1rem;
    right: 0.2rem;
    bottom: 0.2rem;
}
}


/* animation
------------------------------------------------- */
.fadeIn {
    opacity: 0;
}
.fadeIn.isAnimate {
    animation: fadeIn 0.7s ease 0.1s 1 forwards;
}
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(35px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


