main {
	border-top-color: currentColor; border-top-width: medium; border-top-style: none;
}
#main_v {
	height: 35vw; overflow: hidden; position: relative;
}
#main_v .inner {
	left: 50%; top: 110px; width: 100%; height: 100%; position: absolute; transform: translate(-50%);
}
#main_v h1 {
/*	left: 0px; top: 15vw; width: 100%; text-align: center; position: absolute; z-index: 10;*/
	left: 0px; top: 8vw; width: 100%; text-align: right; position: absolute; z-index: 10;
}
#main_v h1 img {
	width: 42.1%;
}
#main_v h2 {
	left: 5%; top: -5vw; width: 100%; text-align: centor; position: absolute; z-index: 10; /* 20230720 change */
}
#main_v h2 img {
	width: 30%; /* 20230720 change */
}
#main_v h3 {
	left: 0px; bottom: 23%; width: 100%; text-align: left; position: absolute; z-index: 10;	/* 20230720 change */
/*	left: 0px; bottom: 11.5vw; width: 100%; text-align: left; position: absolute; z-index: 10;*/
}

#main_v h3 select {
//	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: #ffffff;
	background-image: none;
	box-shadow: none;
//	-webkit-appearance: none;
//	appearance: none;

}
#main_v h3 select {
	padding: 4px 4px 4px 4px;
	color: #666666;
}
#main_v h4 {
	right: 100px; top: -3vw; width: 100%; text-align: right; position: absolute; z-index: 10;
}
#main_v h4 img {
	width: 14%;
}
#main_v h5 {
	right: 50px; bottom: 25%; width: 100%; text-align: right; position: absolute; z-index: 10;
/*	right: 100px; bottom: 13.8vw; width: 100%; text-align: right; position: absolute; z-index: 10;*/
}
#main_v h5 img {
	width: 20%;
}
 /* 20230720 add start */
#main_v h6 {
	right: 0px;  top: -85px; width: 100%; text-align: right; position: absolute; z-index: 10;
/*	right: 0px;  top: -3vw; width: 100%; text-align: right; position: absolute; z-index: 10;*/
}
#main_v h6 img {
	width: 20%;
}
 /* 20230720 add end */

#button1 {
  appearance: none;
  border: 0;
  border-radius: 5px;
  background: #ffffff;
  color: #4676D7;
  padding: 4px 10px;
  font-size: 14px;
}
#button1:hover {
  color: #ffffff;
  background: #1d49aa;
}
 
#button1:focus {
  outline: none;
  box-shadow: 0 0 0 2px #cbd6ee;
}
#button2 {
  appearance: none;
  border: 0;
  border-radius: 5px;
  background: #ff0000;
  color: #ffffff;
  padding: 4px 10px;
  font-size: 14px;
}
#button2:hover {
  color: #ffffff;
  background: #1d49aa;
}
 
#button2:focus {
  outline: none;
  box-shadow: 0 0 0 2px #cbd6ee;
}
#main_v #video {
	width: 100%; height: 100%; position: relative;
}
#main_v .scroll {
	left: 50%; bottom: 2vw; font-size: 0px; position: absolute; z-index: 10; transform: translate(-50%);
}

#main_v #main_v_anchor {
	bottom: 0px; position: absolute;
}
#movie_controller {
	top: 31vw; right: 10px; position: absolute; z-index: 10;
}
#movie_controller a {
	color: rgb(255, 255, 255); letter-spacing: 1px; font-size: 1.4rem; font-weight: bold;
}
#movie_controller img {
	top: 6px; position: relative;
}
#main_v .movieBg-out {
	padding: 0px; margin-top: -20vw; pointer-events: none;
}
#main_v #fade_bg {
	display: none;
}
#main_v .btn_stop {
	display: none;
}
#main_v .btn_play {
	display: none;
}
#news {
	padding: 2rem 0px 0px;
}
#news .btn {
	padding: 0.3em 0px 0.3em 1.5em; width: 13em; right: auto; text-indent: 0px; position: relative;
}
#news .btn:hover {
	cursor: pointer; opacity: 0.7;
}
#news .btn::before {
	left: 4em; width: 1em; height: 1em; margin-top: -0.15em; border-top-color: rgb(60, 60, 60); border-top-width: 0.3em; border-top-style: solid;
}
#news .btn::after {
	left: 4em; width: 1em; height: 1em; margin-top: -0.15em; border-top-color: rgb(60, 60, 60); border-top-width: 0.3em; border-top-style: solid;
}
#news .btn.close::after {
	left: 3em; margin-top: -0.65em;
}
#news .inner {
	padding-bottom: 1rem; border-bottom-color: rgb(204, 201, 201); border-bottom-width: 1px; border-bottom-style: solid;
}
#recommend {
	padding: 3.7rem 0px 4.5rem;
}
#recommend h2 {
	text-align: center; color: rgb(255, 0, 0); font-size: 2rem; margin-bottom: 2rem;
}
#recommend ul li {
	outline: transparent solid 1px; border-radius: 1.3rem; width: 23.3%; overflow: hidden; position: relative; opacity: 1; box-shadow: 0.2em 0.2em 0.5em 0.2em rgba(0,0,0,0.2);
}
#recommend ul li img {
	vertical-align: bottom; position: relative;
}
#recommend ul li img.logo {
	left: 0%; top: 0%; width: 100%;  position: absolute; z-index: 11; opacity: 0; transition-duration: 0.3s;
/*	left: 50%; top: 14%; width: 66.04%; margin-left: -33%; position: absolute; z-index: 11; opacity: 0; transition-duration: 0.3s; */
}
#recommend ul li a:hover img.logo {
	opacity: 1;
}
#recommend ul li a {
	outline: transparent solid 1px; text-align: center; color: rgb(255, 255, 255); line-height: 1.2; padding-top: 13.5em; font-family: "Sawarabi Gothic", sans-serif; text-decoration: none; display: block; position: relative; box-sizing: border-box; opacity: 1; align-items: center;
}
#recommend ul li a::after {
	left: 0px; top: 0px; width: 100%; height: 100%; position: absolute; content: ""; opacity: 0; transition-duration: 0.3s; background-color: rgb(142, 87, 54);
}
#recommend ul li a:hover::after {
	z-index: 10; opacity: 0.7;
}
#recommend ul li a p {
	width: 100%; height: 5.8em; display: flex; position: relative; z-index: 12; flex-direction: column; justify-content: center; align-items: center; background-color: rgb(255, 255, 255);
}
#recommend ul li a span:nth-of-type(1) {
	color: rgb(255, 0, 0); display: block; position: relative;
}
#recommend ul li a span:nth-of-type(2) {
	text-align: center; color: rgb(60, 60, 60); padding-top: 0.3em; font-family: "Sawarabi Gothic", sans-serif; font-size: 2.1rem; font-weight: normal; display: block; text-shadow: none; transform: rotate(0.001deg);
}
#recommend ul li:nth-of-type(1) a {
	background: url("../image/recommned_fr_l_01.jpg") no-repeat top / contain;
}
#recommend ul li:nth-of-type(2) a {
	background: url("../image/recommned_fr_j_01.jpg") no-repeat top / contain;
}
#recommend ul li:nth-of-type(3) a {
	background: url("../image/recommned_fr_i_01.jpg") no-repeat top / contain;
}
#recommend ul li:nth-of-type(4) a {
	background: url("../image/recommned_fr_n_01.jpg") no-repeat top / contain;
}
#recommend ul li img {
	width: 100%;
}
#recommend1 {
	padding: 3.7rem 0px 4.5rem;
}
#recommend1 h2 {
	text-align: center; color: rgb(255, 0, 0); font-size: 2rem; margin-bottom: 2rem;
}
#recommend1 ul li {
	outline: transparent solid 1px; border-radius: 1.3rem; width: 23.3%; overflow: hidden; position: relative; opacity: 1; box-shadow: 0.2em 0.2em 0.5em 0.2em rgba(0,0,0,0.2);
}
#recommend1 ul li img {
	vertical-align: bottom; position: relative;
}
#recommend1 ul li img.logo {
	left: 0%; top: 0%; width: 100%;  position: absolute; z-index: 11; opacity: 0; transition-duration: 0.3s;
/*	left: 50%; top: 14%; width: 66.04%; margin-left: -33%; position: absolute; z-index: 11; opacity: 0; transition-duration: 0.3s; */
}
#recommend1 ul li a:hover img.logo {
	opacity: 1;
}
#recommend1 ul li a {
	outline: transparent solid 1px; text-align: center; color: rgb(255, 255, 255); line-height: 1.2; padding-top: 13.5em; font-family: "Sawarabi Gothic", sans-serif; text-decoration: none; display: block; position: relative; box-sizing: border-box; opacity: 1; align-items: center;
}
#recommend1 ul li a::after {
	left: 0px; top: 0px; width: 100%; height: 100%; position: absolute; content: ""; opacity: 0; transition-duration: 0.3s; background-color: rgb(142, 87, 54);
}
#recommend1 ul li a:hover::after {
	z-index: 10; opacity: 0.7;
}
#recommend1 ul li a p {
	width: 100%; height: 5.8em; display: flex; position: relative; z-index: 12; flex-direction: column; justify-content: center; align-items: center; background-color: rgb(255, 255, 255);
}
#recommend1 ul li a span:nth-of-type(1) {
	color: rgb(255, 0, 0); display: block; position: relative;
}
#recommend1 ul li a span:nth-of-type(2) {
	text-align: center; color: rgb(60, 60, 60); padding-top: 0.3em; font-family: "Sawarabi Gothic", sans-serif; font-size: 2.1rem; font-weight: normal; display: block; text-shadow: none; transform: rotate(0.001deg);
}
#recommend1 ul li:nth-of-type(1) a {
	background: url("../image/recommned_fr_k_01.jpg") no-repeat top / contain;
}
#recommend1 ul li:nth-of-type(2) a {
	background: url("../image/recommned_fr_b_01.jpg") no-repeat top / contain;
}
#recommend1 ul li:nth-of-type(3) a {
	background: url("../image/recommned_fr_g_01.jpg") no-repeat top / contain;
}
#recommend1 ul li:nth-of-type(4) a {
	background: url("../image/recommned_fr_h_01.jpg") no-repeat top / contain;
}
#recommend1 ul li img {
	width: 100%;
}

#campaign {
	padding: 4rem 0rem; background-color: rgb(241, 238, 233);
}
#campaign ul {
	justify-content: flex-start;
}
#campaign ul li {
	width: 23.21%; font-size: 0px; margin-right: 2.38%;
}
#campaign ul li img {
	width: 100%;
}
#campaign ul li:last-child {
	margin-right: 0px;
}
#campaign ul li a {
	border-radius: 0.6rem; overflow: hidden; display: block; position: relative;
}
#campaign ul li a span.icon_link {
	right: 5px; bottom: 5px; display: block; position: absolute;
}
.inner_product {
	padding: 4rem 0rem;
}
#product {
	width: 46%;
}
#product .package {
	height: 29.5rem; margin-bottom: 1.8rem; justify-content: space-around;
}
#product .package li {
	width: 23%; text-align: center;
}
#product .package li a {
	color: rgb(60, 60, 60); font-size: 1.5rem; text-decoration: none; margin-bottom: 2em; display: block; position: relative;
}
#product .package li.new a::after {
	background: url("/common/img/icon_new.png") no-repeat 0px 0px / contain; top: -1.7em; width: 4em; height: 4.2em; right: -0.8em; position: absolute; content: "";
}
#product .package li img {
	margin: 0px auto 0.5em; width: auto; display: block; max-height: 94px; transition-duration: 0s;
}
.inner_product .btn li {
	width: 48.5%; margin-bottom: 1.5rem;
}
.inner_product .btn li a {
	padding: 1em 0px; border-radius: 0.3em; border: 1px solid rgb(204, 201, 201); border-image: none; text-align: center; color: rgb(47, 47, 47); font-size: 1.8rem; text-decoration: none; display: block; position: relative;
}
.inner_product .btn li a::after {
	top: 50%; width: 0.35em; height: 0.35em; right: 0.7em; margin-top: -0.2em; vertical-align: middle; border-top-color: rgb(255, 0, 0); border-right-color: rgb(255, 0, 0); border-top-width: 0.15em; border-right-width: 0.15em; border-top-style: solid; border-right-style: solid; position: absolute; content: ""; transform: rotate(45deg); -webkit-transform: rotate(45deg);
}
.inner_product .btn li.search a::after {
	background: url("/common/img/icon_search_02.png") no-repeat 0px 0px / contain; top: 50%; width: 1em; height: 1em; right: 0.5em; margin-top: -0.5em; border-top-color: currentColor; border-right-color: currentColor; border-top-width: medium; border-right-width: medium; border-top-style: none; border-right-style: none; transform: rotate(0deg); -webkit-transform: rotate(0deg);
}
.inner_product .btn li a:hover {
	color: rgb(255, 0, 0);
}
#company_information {
	width: 46%;
}
#company_information .img {
	height: 29.5rem; margin-bottom: 1.8rem;
}
#company_information .img img {
	width: 100%;
}
#sns {
	padding: 4rem 0px 10rem; margin-bottom: 4rem; background-color: rgb(241, 238, 233);
}
#sns h2 {
	margin-bottom: 1rem;
}
#sns ul {
	text-align: center; font-size: 0px;
}
#sns ul li {
	margin: 0px 1rem; width: 25.5rem; display: inline-block;
}
#cm {
	padding: 0px 0px 8rem;
}
#cm li {
	width: 47.13%;
}
#cm li a {
	font-size: 0px; display: block; position: relative; transition-duration: 0.3s;
}
/*
#cm li a::after {
	background: url("../img/icon_play.png") no-repeat 0px 0px / contain; margin: -3.3rem 0px 0px -3.3rem; left: 50%; top: 50%; width: 6.6rem; height: 6.6rem; position: absolute; content: ""; transition-duration: 0.3s;
}
#cm li a:hover::after {
	background: url("../img/icon_play_hover.png") no-repeat 0px 0px / contain;
}
*/
#cm li img {
	width: 100%;
}
#modal {
	padding-top: 2.6rem; position: relative;
}
#modal img {
	width: 100%;
}
#modal .btn_close {
	background: url("../img/btn_close.png") no-repeat 0px 0px / contain; top: 0rem; width: 7.9rem; height: 1.8rem; right: 0px; position: absolute; cursor: pointer;
}
_:-ms-lang(x)::-ms-backdrop, #select_schedule {
  display: none;
}

_:-ms-lang(x)::-ms-backdrop, #img_schedule {
  display: none;
}

@media screen and (max-width:1150px) and (min-width:768px)
{
#recommend ul li a {
	padding-top: 18.5vw;
}
#recommend ul li a p {
	height: 5.5em;
}
#recommend ul li a span:nth-of-type(1) {
	font-size: 1.35vw;
}
#recommend ul li a span:nth-of-type(2) {
	font-size: 1.87vw;
}
#recommend1 ul li a {
	padding-top: 18.5vw;
}
#recommend1 ul li a p {
	height: 5.5em;
}
#recommend1 ul li a span:nth-of-type(1) {
	font-size: 1.35vw;
}
#recommend1 ul li a span:nth-of-type(2) {
	font-size: 1.87vw;
}
#product .package {
	height: 24.7vw;
}
#product .package li a {
	font-size: 1.19vw;
}
.inner_product {
	padding: 4rem 1.2rem;
}
.inner_product .btn li a {
	font-size: 1.53vw;
}
#company_information .img {
	height: 24.7vw;
}
#product .package li img {
	max-height: 8.5vw;
}
}
 /* 20230720 add start */
@media screen and (max-width:1400px)
{
#main_v h6 img {
	width: 18%;
}
}
 /* 20230720 add start */
@media screen and (max-width:1200px)
{
#main_v h3 {
	bottom: 27%;
}

#main_v h5 {
	right: 100px; bottom: 40%; width: 100%; text-align: right; position: absolute; z-index: 10;
}
#main_v h5 img {
	width: 15%;
}
#main_v h6 img {
	width: 15%;
}
}
 /* 20230720 add end */

@media screen and (max-width:767px)
{
#main_v {
	background: none; height: auto; position: relative;
}
#main_v h1 {
	top: 29vw;
}
#main_v h1 img {
	width: 90%;
}

#main_v .scroll {
	width: 6%; bottom: 4vw; margin-left: -3%;
}
#main_v #movieBg {
	display: none;
}
#main_v .movieBg-out {
	display: none;
}
#main_v #fade_bg {
	display: block;
}
#main_v .inner {
	position: static; transform: none;
}
#video {
	display: none;
}
#news {
	padding: 1rem 1.2rem 2rem;
}
#news .inner {
	padding: 0px;
}
#news dl {
	margin-top: 0.3em;
}
#news .btn {
	width: 100%;
}
#news .btn:hover {
	opacity: 1;
}
#news .btn::before {
	left: 9.5em; width: 1em; margin-top: -0.18em; border-top-color: currentColor; border-top-width: 0.3em; border-top-style: solid;
}
#news .btn::after {
	left: 9.5em; width: 1em; margin-top: -0.18em; border-top-color: currentColor; border-top-width: 0.3em; border-top-style: solid;
}
#news .btn.close::after {
	left: 8.48em; margin-top: -0.65em;
}
#recommend {
	padding: 1.5rem 0px 1rem;
}
#recommend h2 {
	margin-bottom: 1rem;
}
#recommend h2 img {
	width: auto; max-width: 100%;
}
#recommend ul li {
	width: 48.5%; margin-bottom: 1.5rem;
}
#recommend ul li a {
	background-position: center -2vw !important; padding-top: 32.8vw;
}
#recommend ul li a p {
	height: 4.3em;
}
#recommend ul li a span:nth-of-type(1) {
	font-size: 1.4rem;
}
#recommend ul li a span:nth-of-type(2) {
	font-size: 1.6rem;
}
#recommend1 {
	padding: 1.5rem 0px 1rem;
}
#recommend1 h2 {
	margin-bottom: 1rem;
}
#recommend1 h2 img {
	width: auto; max-width: 100%;
}
#recommend1 ul li {
	width: 48.5%; margin-bottom: 1.5rem;
}
#recommend1 ul li a {
	background-position: center -2vw !important; padding-top: 32.8vw;
}
#recommend1 ul li a p {
	height: 4.3em;
}
#recommend1 ul li a span:nth-of-type(1) {
	font-size: 1.4rem;
}
#recommend1 ul li a span:nth-of-type(2) {
	font-size: 1.6rem;
}
#campaign {
	padding: 2rem 0rem;
}
#campaign h2 {
	font-size: 2rem;
}
#campaign ul li {
	width: 48%; font-size: 0px; margin-right: 4%; margin-bottom: 1rem;
}
#campaign ul li:nth-of-type(2n) {
	margin-right: 0px;
}
#campaign ul li a span.icon_link {
	width: 4vw; right: 1vw; bottom: 0.8vw;
}
.inner_product {
	padding: 2rem 1.2rem;
}
#product {
	width: 100%; padding-bottom: 3rem;
}
#product .package li {
	width: 33%;
}
#product .package {
	height: auto; margin-bottom: 0px;
}
#product .package li img {
	max-height: 25vw;
}
#product .package li a {
	font-size: 1.6rem;
}
#product .package li.new a::after {
	width: 3.6em; height: 3.7em; right: -0.5em;
}
.inner_product .btn li {
	margin-bottom: 1rem;
}
.inner_product .btn li a {
	font-size: 1.6rem;
}
.inner_product .btn li.brand a {
	padding: 1.25em 0px; font-size: 1.4rem;
}
#company_information {
	width: 100%;
}
#company_information .img {
	height: auto; margin-bottom: 1rem;
}
#sns {
	padding: 2rem 0px;
}
#sns h2 {
	font-size: 2.5rem;
}
#sns ul li {
	margin: 0px 0.5rem; width: 22%;
}
#sns ul li:first-child {
	margin: 0px 0.5rem 0px 0px;
}
#sns ul li:last-child {
	margin: 0px 0px 0px 0.5rem;
}
#sns ul li img {
	width: 100%;
}
#cm {
	padding: 2rem 0px 3rem;
}
#cm .flex {
	margin: 0px auto; width: 90%;
}
#cm li {
	width: 100%; font-size: 0px; margin-bottom: 2rem;
}
#cm li:last-child {
	margin-bottom: 0px;
}
#cm li a::after {
	margin: -2rem 0px 0px -2rem; width: 4rem; height: 4rem;
}
}
