@charset "utf-8";

* {
	padding: 0;
	margin: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	letter-spacing: 0px;
}

@font-face {
font-family: 'RiftBold';
	src:url("fonts/rift-bold.woff2") format("woff2"),
	    url("fonts/rift-bold.woff") format("woff");
}
@font-face {
font-family: 'din-2014';
	src:url("fonts/din-2014.woff2") format("woff2"),
	    url("fonts/din-2014.woff") format("woff");
}

html {
	height: 100%;
	font-size: 16px;
	font-weight: 400;
}

body {
	font-family: "Roboto", "Noto Sans JP", sans-serif;
	color: #231815;
	padding-top: 100px;
}
a {
	text-decoration: none;
}
.p_clear {
	display: block;
	height: 0;
	margin: 0;
}
.img-fluid {
	max-width: 100%;
	height: auto;
}

section {
	width: 100%;
	padding: 0 1em;
}
section > .contents {
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
	line-height: 1.9;
}
h1 {
	font-family: "RiftBold";
	font-weight: 500;
	font-size: 77px;
	line-height: 77px;
}
h1 .sub_title {
	font-family: "Roboto", "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 16px;
	padding-top: 3px;
}
h2 {
	font-size: 29px;
	line-height: 1.5;
	font-weight: 500;
}
h3 {
	font-size: 18px;
	line-height: 1.7;
	font-weight: 500;
}
h4 {
	font-weight: 500;
}

.index_top h1 {
	font-size: 104px;
    margin-bottom: 33px;
    color: #fff;
}
.index_top h2 {
	font-size: 18px;
	color: #fff;
	margin-left: 8px;
}
.index_top {
	padding: 100px 0 0 2px;
	position: relative;
	height: 777px;
    line-height: normal !important;
}

section > .contents.main h1 {
	display: inline-block;
	position: relative;
	margin-bottom: 50px;
}
section > .contents.main h1::before {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 6px #c8c9ca;
	bottom: 58px;
	width: 100%;
}
section > .contents.main h1::after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 6px #fff;
	bottom: 58px;
	width: 140px;
}
section > .contents.main {
	color: #fff;
}
section > .contents.main h2 {
	font-size: 32px;
	color: #fff;
}
section > .contents.main h2.description {
	font-family: "RiftBold";
	font-weight: 500;
	font-size: 26px;
	line-height: 27px;
	display: inline-block;
	background: linear-gradient(40deg, #ddddde 0%, #fff 17%, #ddddde 38%, #fff 47%, #fff 65%, #9d9d9e 78%, #fff 90%);
	background: -webkit-linear-gradient(50deg, #ddddde 0%, #fff 17%, #ddddde 38%, #fff 47%, #fff 65%, #9d9d9e 78%, #fff 90%);
	color: #9d9d9e;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
section > .contents .top_line_R {
	max-width: 207px;
	min-width: 100px;
	width: 16%;
	background-image: url('images/top_line_R.png');
	background-repeat: no-repeat;
	background-position: top left;
	background-size: cover;
	position: absolute;
	top: 0;
	right: 0;
	height: 494px;
}
section > .contents .top_line_L {
	max-width: 207px;
	min-width: 100px;
	width: 16%;
	background-image: url('images/top_line_L.png');
	background-repeat: no-repeat;
	background-position: top right;
	background-size: cover;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 494px;
}
.sec_bk_wh {
	background-color: #fff;
}
.sec_bk_blue {
	background-color: #2053c1;
}
.sec_bk_black {
	background-color: #000;
}
.sec_bk_gray {
	background-color: #c8c9ca;
}

.sec01 {
	padding: 37px 0 112px 0;
}
.sec01 .text {
	padding-left: 22%;
	position: relative;
	color: #231815;
}

.sec02 {
	padding: 110px 0 95px 0;
}
.sec02 .kenma {
	width: 100%;
	position: relative;
}
.sec02 .kenma .title {
	position: absolute;
	right: 0;
	top: -13%;
	max-width: 571px;
	width: 44%;
	z-index: 1;
}
.sec02 .kenma .detail01 {
	max-width: 694px;
/*	width: 54%;*/
}
.sec02 .kenma .images {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	position: relative;
}
.sec02 .kenma img {
	margin-bottom: 10px;
}
.sec02 .kenma .images .img01 {
	flex-basis: 67%;
}
.sec02 .kenma .images .img02 {
	flex-basis: 31%;
}
.sec02 .kenma .images .img03 {
	flex-basis: 49%;
}
.sec02 .kenma .images .img04 {
	flex-basis: 49%;
}
.sec02 .kenma .images .img07 {
	flex-basis: 49%;
}
.sec02 .kenma .images .img08 {
	flex-basis: 49%;
}
.sec02 .detail02 { 
	width: 100%;
	display: flex;
	flex-direction: row;
}
.sec02 .detail02 h3 { 
	font-size: 23px;
	margin-bottom: 3px;
}
.main .pos_right {
	justify-content: flex-end !important;
}
.main .pos_left {
	justify-content: flex-start !important;
}
.main .pos_center {
	justify-content: center !important;
}
.sec02 .detail02 .kiji01 {
	flex-basis: 57%;
}
.sec02 .detail02 .kiji02 {
	flex-basis: 57%;
}
.sec02 .detail02 .tbl {
	line-height: 1.2;
}
.sec02 .detail02 .tbl .caption {
	padding-top: 10px;
}
.sec02 .shotblast {
	max-width: 860px;
	background-color: #000;
	padding: 60px 102px;
	margin: 0 auto;
	line-height: 1.7;
}
.sec02 .shotblast h4 {
	font-family: "RiftBold", "Noto Sans JP", sans-serif;
	font-size: 56px;
	font-weight: 500;
	line-height: 42px;
}
.sec02 .shotblast h4 .sub_title {
	font-size: 21px;
	margin-left: 30px;
	vertical-align: middle;
}

.sec03 {
	padding: 100px 0 150px 0;
}
.sec03 .film {
	width: 100%;
	position: relative;
}
.sec03 .film .title {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0%, -50%);
	max-width: 58%;
	z-index: 1;
}
.sec03 .film .images {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
}
.sec03 .film img {
	margin-bottom: 10px;
}
.sec03 .film .images .img01 {
	flex-basis: 86%;
}
.sec03 .film .images .img02 {
	flex-basis: 56%;
}
.sec03 .film .images .img03 {
	flex-basis: 19%;
}
.sec03 .film .detail01 {
	max-width: 676px;
}
.sec03 .film .detail02 {
	width: 100%;
	background-image: url('images/sec03-02.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	padding: 80px 0;
}
.sec03 .film .detail03 .kiji01, .sec03 .film .detail03 .kiji02 {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.sec03 .film .detail03 .kiji01 .text {
	flex-basis: 44%;
}
.sec03 .film .detail03 .kiji02 .text {
	flex-basis: 42%;
}
.sec03 .film .kiji01 .img04, .sec03 .film .kiji02 .img05 {
	flex-basis: 53%;
}
.sec03 .film .detail03 .kiji01 .text h3, .sec03 .film .detail03 .kiji02 .text h3 {
	font-size: 25px;
}

.sec04 {
	padding: 0 0 100px 0;
}
.sec04 {
	width: 100%;
	position: relative;
}
.sec04 .kakaku {
	padding: 50px 0;
	border-top: #c7c8c9 solid 1px;
	border-bottom: #c7c8c9 solid 1px;
}
.sec04 .kakaku::before {
	top: 0;
	left: 0;
	width: 100vw;
	border-top: #c7c8c9 solid 1px;
}
.sec04 .kakaku::after {
	bottom: 0;
	left: 0;
	width: 100vw;
	border-bottom: #c7c8c9 solid 1px;
}
.sec04 .kakaku .images {
	max-width: 1300px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	margin-left: auto;
	margin-right: auto;
}
.sec04 .kakaku .caption {
	display: block;
	width: 100%;
	text-align: center;
	color: #fff;
	margin-top: 10px;
	font-size: 14px;
}

.sec05 {
	padding: 100px 0 50px 0;
}
.sec05 .kensa, .sec05 .images {
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.sec05 .kensa .title {
	flex-basis: 44%;
	max-width: 565px;
	z-index: 1;
}
.sec05 .kensa .text {
	max-width: 675px;
	flex-basis: 52%;
}
.sec05 .images .img01 {
	flex-basis: 32%;
}
.sec05 .images .img01 .caption {
	display: block;
	text-align: center;
	color: #fff;
	margin-top: 5px;
	font-size: 14px;
}

.sec06 {
	padding: 100px 0 100px 0;
}
.sec06 .sales, .sec06 .images {
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.sec06 .sales .title {
	flex-basis: 21%;
	max-width: 282px;
	z-index: 1;
}
.sec06 .sales .text {
	flex-basis: 73%;
	max-width: 958px;
}
.sec06 .sales .text h2 {
}
.sec06 .sales .text h2 .sub_title {
	font-size: 16px;
	line-height: 1;
}
.sec06 .sales_A {
	max-width: 805px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.sec06 .sales_A .img01 {
	flex-basis: 43%;
	max-width: 350px;
}
.sec06 .sales_A .text {
	flex-basis: 52%;
	max-width: 422px;
}
.sec06 .sales_A .img02 {
	flex-basis: 100%;
}
.sec06 .sales_B {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.sec06 .sales_B .img01 {
	flex-basis: 32%;
}
.sec06 .sales_B .caption, .sec06 .sales_C .caption {
	width: 100%;
	margin-top: 10px;
}
.sec06 .sales_C {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 60px;
}
.sec06 .sales_C .img01 {
	flex-basis: 28%;
}
.sec06 .sales_C .text {
	flex-basis: 50%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}
.sec06 .sales_C .text .text01 {
	flex-basis: 50%;
	margin-right: 60px;
}
.sec06 .sales_C .text .text01 h4 {
	font-size: 25px;
	line-height: 1.4;
}
.sec06 .sales_C .text .text01 .kakaku {
}
.sec06 .sales_C .text .text01 .kakaku .col {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.sec06 .sales_C .text .text01 .kakaku .col p {
}
.sec06 .sales_C .text .img02 {
	flex-basis: 33%;
}
.sec06 .sales_C .text .text02 {
	flex-basis: 100%;
	margin-top: 10px;
}

.sec07 {
	padding: 100px 0 50px 58px;
	color: #231815 !important;
	position: relative;
}
.sec07 h1 {
	line-height: 1.1;
	border: none;
	margin-bottom: 30px !important;
}
.sec07 h1 .sub_title {
	padding-top: 5px;
}
.sec07 h1::before {
	border: none !important;
	width: 6px !important;
	height: 90px;
	top: 20px;
	left: -58px;
	background-color: #c8c9ca;
	z-index: 2;
}
.sec07 h1::after {
	border: none !important;
	width: 6px !important;
	height: 320px;
	top: 20px;
	left: -58px;
	background-color: #646464;
	z-index: 1;
}
.sec07 .profile {
	max-width: 787px;
	width: 60%;
}
.sec07 .tbl_profile {
	width: 100%;
	font-size: 15px;
	line-height: 1.75;
}
.sec07 .tbl_profile th {
	font-weight: normal;
	text-align: left;
	white-space: nowrap;
	padding-right: 3.5em;
}
.sec07 .tbl_profile td {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.sec07 .tbl_profile td p {
	white-space: nowrap;
	padding-right: 2em;
}
.sec07 table th, .sec07 table td {
	vertical-align: top;
}
.sec07 .map {
	width: 100%;
	height: 360px;
}
.sec07 .images {
	position: absolute;
	top: 100px;
	right: 0;
	max-width: 373px;
	width: 28%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}

.sec08 h2, .sec09 h2 {
	font-family: "RiftBold";
	font-size: 58px !important;
	line-height: 47px;
	position: relative;
	padding-bottom: 10px;
}
.sec08 h2 .sub_title, .sec09 h2 .sub_title {
	font-family: "Roboto", "Noto Sans JP", sans-serif;
	font-size: 16px;
	padding-top: 3px;
}
.sec08 h2::before, .sec09 h2::before {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 6px #b3b3b4;
	bottom: 0;
	width: 100%;
}
.sec08 h2::after, .sec09 h2::after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 6px #d1d1d1;
	bottom: 0;
	width: 80px;
}
.sec08 {
	padding: 100px 0 80px 0;
}
.sec08 .history {
	max-width: 570px;
}
.sec08 .tbl_enkaku {
	width: 100%;
	font-size: 15px;
	line-height: 1.75;
}
.sec08 .tbl_enkaku th {
	font-weight: normal;
	text-align: left;
	white-space: nowrap;
	padding-right: 3.5em;
	vertical-align: top;
}
.sec08 .tbl_enkaku td {
	vertical-align: top;
}

.sec08 .images {
	max-width: 876px;
	width: 67%;
}
.sec09 {
	padding: 50px 0 150px 0;
}
.sec09 .partner {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.sec09 .partner .img01 {
	flex-basis: 58%;
	max-width: 750px;

}
.sec09 .partner .text {
	flex-basis: 40%;
	max-width: 510px;
}
.sec09 h5 {
	font-size: 18px;
	line-height: 1.4;
}
.sec09 .shop {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.sec09 .shop_l {
	margin-right: 3em;
}
.sec09 .shop_r {
}
.footer {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	font-size: 15px;
	color: #231815;
	height: 182px;
}
.footer .menu {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding-top: 10px;
	gap: 30px;
}
.footer .copyright {
	padding-top: 10px;
}
.footer a {
	color: #000;
	text-decoration: none;
}

.mb-5 {
	margin-bottom: 5px;
}
.mb-10 {
	margin-bottom: 10px;
}
.mb-20 {
	margin-bottom: 15px;
}
.mb-30 {
	margin-bottom: 24px;
}
.mt-30 {
	margin-top: 24px;
}
.mb-40 {
	margin-bottom: 44px;
}
.mb-50 {
	margin-bottom: 70px;
}
.mb-50_pc {
	margin-bottom: 70px;
}
.mb-70 {
	margin-bottom: 90px;
}
.mb-100 {
	margin-bottom: 110px;
}
.mb-250 {
	margin-bottom: 250px;
}

br.br_pc {
	display: none;
}
.view_pc {
	display: block;
}
.view_sp {
	display: none;
}

/*
トップへ戻るボタン
-------------------------------------------*/
.to_top {
	position: fixed;
	bottom: 0px;
	right: 0px;
	z-index: 800;
}
.to_top a {
	text-decoration: none;
	text-align: center;
	display: block;
	width: 50px;
	height: 50px;
	background-color: #c8c9ca;
	color: #333;
	text-align: center;
	font-size: 32px;
	line-height: 50px
}
.to_top a:hover {
	background-color: #f3891c;
	color: #FFF;
}

/*
ヘッダー
-------------------------------------------*/
header {
	width: 100%;
	background-color: #fff;
	padding: 0 1em;
}
header > .contents {
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

header {
	height: 100px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
}

header .logo {
	line-height: 105px;
}
header .logo h1 a img {
	margin-left: 3px;
}
header .logo .sub_title {
/*	font-weight: 200;*/
	font-size: 10px;
	position: absolute;
	top: 70%;
	left: 290px;
	transform: translate(0%, -50%);
	width: auto;
}

.sm-slider, .sm-slider::after {
	max-height: 777px !important;
	overflow: hidden !important;
	top: 100px !important;
}
.sm-slider::before {
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
	position: absolute;
	content: " ";
	top: 0;
	left: 0;
	z-index: 1;
}
.sm-slider li span {
    background-position: 50% 70%
}

.no_sp {
	display: none;
}


@media screen and (min-width:1000px){

.menu_btn,
.btn_close {
	display: none;
}

/*
PCグローバルナビ
-------------------------------------------*/

#g_navi {
	position: absolute;
	right: 0;
	top: 70%;
	transform: translate(0%, -50%);
	width: auto;
	display: block !important;
	z-index: 1000;
}

#g_navi ul li{
	display: inline;
	line-height: 24px;
}

#g_navi a li, #g_navi li.modal_link {
	width: auto;
	padding: 0 0 0 30px;
	display: block;
	color: #231815;
	text-decoration: none;
	text-align: center;
	position: relative;
	float: left;
	letter-spacing: 0px;
	font-size: 14px;
	font-weight: bold;
}

#g_navi a li.tel {
	font-size: 22px;
	font-weight: 700;
}
#g_navi a li.tel i {
	font-size: 18px;
}

#g_navi a li::before {
}

#g_navi a li:hover::before, #g_navi a li.active::before, #g_navi li.modal_link::before {
	background-color: rgba(243,137,28,1);
	top:0px;
	width: 80%;
	left: 10%;
}

#g_navi a li:hover, #g_navi a li.active, #g_navi li.modal_link:hover {
	color: #f3891c !important;
}

#g_navi.txt_w a li {
	color: #FFF;
}

#g_navi li.sp {
	display: none;
}

header.fixed #g_navi.txt_w a li {
	color: #111;
}
header.fixed #g_navi {
	background-color: unset;
}

} /*-- /1000px～ --*/

@media screen and (max-width:1200px){
.sec06 .sales, .sec06 .images {
	flex-direction: column;
}
.sec06 .sales .title {
	width: 30%;
	max-width: 249px;
}
.sec06 .sales .text {
	width: 100%;
	max-width: unset;
}
.sec06 .sales_A {
	margin-left: auto;
	margin-right: auto;
}
.sec06 .sales_C {
	flex-direction: column;
}
.sec06 .sales_C .text {
	justify-content: center;
}
.sec06 .sales_C .text .img02 {
	flex-basis: unset;
}
.sec06 .sales_C .text .text01 {
	max-width: 350px;
}
.sec06 .sales_C .text .text02 {
	flex-basis: unset;
}

}


@media screen and (max-width:999px){

body {
	padding-top: 79px;
}
body {
	font-size: 16px;
}
body.fixed {
	overflow: hidden;
}

.sm-slider, .sm-slider::after {
	top: 79px !important;
}

/*
ヘッダー
-------------------------------------------*/
header {
	height: 79px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
}

header .logo {
	line-height: unset;
	width: 200px;
}
header .logo h1 {
	font-size: 50px;
}
header .logo h1 a img {
	margin-left: 3px;
}
header .logo .sub_title {
	top: 57%;
	left: 230px;
	transform: translate(0%, -50%);
	width: auto;
}

.index_top h1 {
	width: 50%;
	line-height: 1.1;
}

.sec02 .kenma .title {
	width: 50%;
	top: -10%;
}
.sec02 .shotblast {
	padding: 60px 11%;
}

.sec06 .sales_B {
	flex-direction: column;
	align-items: center;
}
.sec06 .sales_B .img01 {
	margin-bottom: 30px;
}
.sec06 .sales_C .text {
	flex-basis: 70%;
}
/*
メニューボタン
-------------------------------------------*/

.menu_btn {
	display: block;
	height: 60px;
	width: 60px;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	position: fixed;
	z-index: 5000;
	top: 5px;
	right: 5px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	cursor: pointer;
    transition: all 0.3s;
}
.menu_btn:hover {
	cursor: pointer;
}

.menu_btn span {
	width: 40px;
	height: 2px;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -19px;
	background-color: #231815;
}
.menu_btn span {
    transition: all 0.3s;
    transform: rotate(0deg);
	-webkit-transform: rotate(0deg);  
    -moz-transform: rotate(0deg);    
  }
.menu_btn span.top {
    transform: translateY(-12px);
	-webkit-transform: translateY(-12px);  
    -moz-transform: translateY(-12px);    
  }
.menu_btn span.bottom {
    transform: translateY(12px);
	-webkit-transform: translateY(12px);  
    -moz-transform: translateY(12px);    
}


.menu_btn:hover {
	background-color: #2053c1;
}
.menu_btn:hover span {
	background-color: #fff;
}

.menu_btn.opened span {
	background-color: #2053c1;
}
.menu_btn.opened:hover span {
	background-color: #fff;
}

.menu_btn.opened span.middle {
    background: rgba(255, 255, 255, 0);
	 transform: translateX(30px);
	 -webkit-transform: translateX(30px);  
    -moz-transform: translateX(30px);    
}
.menu_btn.opened span.top {
    transform: rotate(-45deg) translateY(0px);
	-webkit-transform: rotate(-45deg) translateY(0px);  
    -moz-transform: rotate(-45deg) translateY(0px);    
}
.menu_btn.opened span.bottom {
    transform: rotate(45deg) translateY(0px);
	-webkit-transform: rotate(45deg) translateY(0px);  
    -moz-transform: rotate(45deg) translateY(0px);    
}

/*
グローバルナビ
-------------------------------------------*/
#g_navi {
	position: fixed;
	min-width: 50%;
	height: 100%;
	top: 0px;
	right: 0px;
	overflow: auto;
	z-index: 3000;
	background-color: #F2F6F7;
	background-color: rgba(242,246,247,0.75);
	display: none;
	padding-left: 10%;
	backdrop-filter: blur(4px);
}
#g_navi ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column;
    flex-flow: column;
    -webkit-justify-content: center;
    justify-content: center;
    min-height: 100%;
}


#g_navi ul li {
	display: block;
	padding: 20px 10px;
	line-height: 22px;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 1px;
	border-bottom: 1px dotted #999;
	width: 90%;
	margin-bottom: 2px;
}
#g_navi ul li, #g_navi ul a li {
	color: #111;
}
#g_navi ul li:hover, #g_navi ul a li:hover {
	color: #f3891c;
}

#g_navi ul a li.contact {
	text-align: center;
	background-color: #f3891c;
	color: #FFF;
	width: 90%;
}

#g_navi ul a li.contact:hover {
	background-color: #FFF;
	color: #f3891c;
}

#g_navi li.sp {
	display: block;
}
#g_navi .menu_background {
	display: none;
    background: rgba(50, 50, 50, 0.5);
    vertical-align: middle;
	width: 100vw;
    height: 100vh;
    backdrop-filter: blur(5px);
    z-index: -1;
    position: fixed;
    top: 0;
    left: 0;
}


/*
メニューシャドウ
-------------------------------------------*/
.bg_bl {
	background-color: #FFF;
	height: 100%;
	width: 100%;
	opacity: 0.80;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	display: block;
	position: fixed;
	z-index: 2000;
}

br.br_pc {
	display: block;
}


} /*-- /～999px --*/
@media screen and (max-width:670px){
	.index_top h1 {
		line-height: 1;
	}
}
@media screen and (max-width:600px){
	.index_top h1 {
		line-height: 1.1;
	}
}

@media screen and (max-width:670px){
.view_pc {
	display: none;
}
.view_sp {
	display: block;
}
.mb-50_pc {
	margin-bottom: 0;
}
.sec01 {
	padding: 37px 0 90px 0;
}
.sec02 {
	padding: 80px 0 95px 0;
}
body {
	padding-top: 50px;
}
body {
	font-size: 14px;
}
header {
	height: 50px;
}

header .logo {
	line-height: unset;
	width: 140px;
}
header .logo .sub_title {
	top: 70%;
	left: 160px;
	transform: translate(0%, -50%);
	width: auto;
}
header .logo h1 {
	line-height: 40px;
}

.sm-slider, .sm-slider::after {
	top: 50px !important;
	height: 500px !important;
}
.index_top {
	height: 500px;
	padding: 20px 0 0 2px;
}
.index_top h2 {
	margin-left: 0;
}
.menu_btn {
	height: 50px;
	width: 50px;
	padding-top: 0px;
	top: 0px;
}

h2 {
	font-size: 22px;
	line-height: 1.25;
}
h3 {
	line-height: 1.25;
}

section > .contents {
	line-height: 1.25;
}
section > .contents.main {
	line-height: 1.5;
}
section > .contents.main h1 {
	line-height: 60px;
}
section > .contents.main h1::before, section > .contents.main h1::after {
	bottom: 50px;
}
section > .contents.main:not(.history, .partner) h2 {
	font-size: 22px;
	line-height: 1.25;
}
section > .contents.main h3 {
	font-size: 18px !important;
	line-height: 1.25;
}
section > .contents .top_line_R {
	top: -30px;
}
section > .contents .top_line_R, section > .contents .top_line_L {
	min-width: 80px;
	height: 420px;
}

.sec01 .text {
	padding-left: 28%;
}
.sec02 .kenma .title {
	width: 52%;
	top: -10%;
}
.sec02 .shotblast {
	padding: 60px 9%;
}
.sec02 .shotblast h4 .sub_title {
	display: block;
	font-size: 20px;
	margin-left: 0 !important;
}
.sec03 .film .detail02 {
	margin-bottom: 0px !important;
}
.sec03 .film .images {
	justify-content: center;
	gap: 5px;
}
.sec03 .film .images .img02 {
	flex-basis: 100%;
}
.sec03 .film .images .img03 {
	flex-basis: 32%;
}
.sec03 .film .detail03 .kiji01 {
	flex-direction: column;
	margin-bottom: 60px !important;
}
.sec03 .film .detail03 .kiji02 {
	flex-direction: column-reverse;
}
.sec03 .film .detail03 .kiji01 .text, .sec03 .film .detail03 .kiji02 .text {
	margin-bottom: 30px;
}
.sec03 .film .kiji01 .img04, .sec03 .film .kiji02 .img05 {
	width: 80%;
}
.sec03 {
	padding: 100px 0 40px 0;
}

.sec05 .kensa .title {
	width: 60%;
}
.sec05 .kensa, .sec05 .images {
	flex-direction: column;
}
.sec05 .images {
	align-items: center;
}
.sec05 .images .img01 {
	margin-bottom: 30px;
	width: 80%;
	text-align: center;
}

.sec06 .sales_A .img01 {
    flex-basis: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: unset;
}
.sec06 .sales_A .img01 img {
	max-width: 49%;
}
.sec06 .sales .text {
    flex-basis: 100%;
}
.sec06 .sales .text h2 .sub_title {
	margin-top: 5px;
}
.sec06 .sales_B .img01 {
	width: 80%;
}
.sec06 .sales_C .text .text01 {
	max-width: unset;
    flex-basis: 100%;
	margin-right: 0;
}
.sec06 .sales_C .text .text01 .kakaku {
    flex-basis: 80%;
	margin-bottom: 20px;
}
.sec06 .sales_C .text .text01 .kakaku .col {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.sec07 {
	padding: 100px 0 50px 30px;
}
.sec07 h1::before, .sec07 h1::after {
	left: -30px;
}

.sec07 .profile {
	width: 100%;
}
.sec07 .images {
	display: none;
}
.sec07_images_sp {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
	background-color: #fff;
}
.sec07_images_sp .img01 {
	flex-basis: 33%;
}
.sec07 .tbl_profile th, .sec07 .tbl_profile td {
	display: block;
	width: 100%;
}
.sec07 .tbl_profile th {
	background-color: #c8c9ca;
	padding: 2px 10px;
}
.sec07 .tbl_profile td {
	padding: 10px 10px 20px 10px;
}
.sec08 .tbl_enkaku th {
	padding-right: 2em;
}
.sec07 .tbl_profile td, .sec08 .tbl_enkaku td {
	line-height: 1.5;
}

.sec08 {
	padding: 100px 0 0 0;
}
.sec08 .images {
	width: 100%;
}
.sec08 .history h2, .sec09 .partner h2 {
	font-size: 40px !important;
	line-height: 1.25;
}
.sec08 h2::before, .sec09 h2::before, .sec08 h2::after, .sec09 h2::after {
	bottom: -5px;
}

.sec09 {
	padding: 100px 0 100px 0;
}
.sec09 .partner {
	flex-direction: column-reverse;
}
.sec09 .partner .text {
	max-width: unset;
	width: 100%;
	margin-bottom: 60px;
	position: relative;
}
.sec09 .shop {
	justify-content: space-between;
}
.sec09 .shop_l {
	margin-right: unset;
}
.sec09 .shop_r {
    position: absolute;
    right: 0;
    bottom: -10px;
}
#g_navi {
	min-width: 80%;
}
.footer {
	height: unset;
	padding-top: 20px;
	padding-bottom: 10px;
}
.footer .copyright {
    padding-top: 10px;
    font-size: 12px;
}
.footer .logo {
	width: 50%;
}
.footer .menu {
	display: none;
}

br.br_sp {
	display: none;
}

.mb-50 {
	margin-bottom: 60px;
}
.mb-70 {
	margin-bottom: 60px;
}
.mb-100 {
	margin-bottom: 60px;
}
.mb-250 {
	margin-bottom: 100px;
}

} /*-- /～670px --*/




/*
共通
-------------------------------------------*/

/* 003 */
.button003 a {
	border-radius: 20px;
	position: relative;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	max-width: 190px;
	padding: 4px 2em 4px 1em;
	color: #fff;
	transition: 0.3s ease-in-out;
	font-weight: 500;
	border: 1px solid #fff;
	text-decoration: none;
	font-size: 15px;
}
@media screen and (max-width:999px){
	.button003 {
		margin-bottom: 30px;
	}
}

@media screen and (max-width:670px){
	.button003 {
		margin-bottom: 0px;
	}
}

.button003 a:hover {
    background: #313131;
    color: #FFF;
}
.button003 a:after {
	content: '';
	width: 5px;
	height: 5px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
	right: 20px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}
.button003 a:hover:after {
    border-color: #FFF;
}

.text_ul {
  border-bottom: solid 3px #87CEFA;
}


.title-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.img-mask-kenma {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-mask-image: url('images/kenma.svg'); mask-image: url('images/kenma.svg');
  -webkit-mask-size: 100% auto; mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: left top; mask-position: left top;
}
.img-hikari{
  position: absolute;
  top: -2%;
  left: -60%;
  width: 60%;
  padding: 60% 0 0;
  background-image: radial-gradient(circle, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 75%);
  transform: skewX(30deg);
  animation-name: img_kirari;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@keyframes img_kirari{
  100%{
    left: 100%;
  }
}
.kiran {
	height:100%;
	width:30px;
	position:absolute;
	top:-180px;
	left:0;
	background-color: #fff;
	opacity:0;
	transform: rotate(45deg);
	animation: reflection 2s ease-in-out infinite;
	-webkit-mask-image: url('images/kenma.svg'); mask-image: url('images/kenma.svg');
	-webkit-mask-size: 100% auto; mask-size: 100% auto;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-position: left top; mask-position: left top;

	-webkit-transform: rotate(45deg);
	-webkit-animation: reflection 2s ease-in-out infinite;
	-moz-transform: rotate(45deg);
	-moz-animation: reflection 2s ease-in-out infinite;
	-ms-transform: rotate(45deg);
	-ms-animation: reflection 2s ease-in-out infinite;
	-o-transform: rotate(45deg);
	-o-animation: reflection 2s ease-in-out infinite;
}
@keyframes reflection {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	30% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	31% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	30% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	31% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
	0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
	30% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
	31% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}

.neon {
  animation: neon1 1.5s ease-in-out infinite alternate;
}
@keyframes neon1 {
  from {
    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #ff1177,
      0 0 70px #ff1177, 0 0 80px #ff1177, 0 0 100px #ff1177, 0 0 150px #ff1177;
  }
  to {
    text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #ff1177,
      0 0 35px #ff1177, 0 0 40px #ff1177, 0 0 50px #ff1177, 0 0 75px #ff1177;
  }
}

html.modal-active, body.modal-active {
	overflow: hidden;
}
.modal_link:hover, #modal-container .modal-background .modal .close {
	cursor: pointer;
}
#modal-container {
	position: fixed;
	display: table;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	transform: scale(0);
	z-index: 1;
}
#modal-container.one, #modal-container.two {
	transform: scaleY(0.01) scaleX(0);
	animation: unfoldIn 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
#modal-container.one .modal-background .modal, #modal-container.two .modal-background .modal {
	transform: scale(0);
	animation: zoomIn 0.5s 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
#modal-container.one.out, #modal-container.two.out {
	transform: scale(1);
	animation: unfoldOut 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
#modal-container.one.out .modal-background .modal, #modal-container.two.out .modal-background .modal {
	animation: zoomOut 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
#modal-container .modal-background {
	display: table-cell;
	background: rgba(0, 0, 0, 0.3);
	vertical-align: middle;
	height: 100vh;
	text-align: center;
	backdrop-filter: blur(4px);
}
#modal-container .modal-background .modal {
	background: white;
	padding: 50px;
	display: inline-block;
	border-radius: 3px;
	position: relative;
	max-width: 800px;
	width: 80%;
	text-align: left;
	overflow-y: scroll;
	overflow-x: unset;
}
#modal-container.contact .modal-background .modal {
}
#modal-container .modal-background .modal iframe {
	width: 100%;
	overflow: hidden;
	border: unset;
}
#modal-container .modal-background .modal h2 {
	margin-bottom: 30px;
	position: relative;
}
#modal-container .modal-background .modal h2::before {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 6px #c8c9ca;
	bottom: -5px;
	width: 100%;
}
#modal-container .modal-background .modal h2::after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 6px #2053c1;
	bottom: -5px;
	width: 140px;
}
#modal-container .modal-background .modal h3 {
	margin-top: 15px;
	padding-left: 15px;
	position: relative;
}
#modal-container .modal-background .modal h3::before {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 25px #2053c1;
	bottom: 3px;
	width: 5px;
	left: 0;
}
#modal-container .modal-background .modal h4 {
	font-size: 16px;
	margin-top: 15px;
}
#modal-container .modal-background .modal h5 {
	font-size: 16px;
	margin-top: 15px;
}
#modal-container .modal-background .modal p {
	font-size: 16px;
	padding-left: 1em;
}
#modal-container .modal-background .modal ul {
	padding-left: 2em;
}
#modal-container .modal-background .modal ul li {
	margin-left: 1em;
}
#modal-container .modal-background .modal .modal-svg {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	border-radius: 3px;
}
#modal-container .modal-background .modal .modal-svg rect {
	stroke: #fff;
	stroke-width: 2px;
	stroke-dasharray: 778;
	stroke-dashoffset: 778;
}
#modal-container .modal-background .modal .close {
	position: fixed;
	top: 10px;
	right: 10px;
}
.round_btn {
	display: block;
	position: relative;
	width: 30px;
	height: 30px;
	border: 2px solid #333; /* 枠の調整 */
	border-radius: 50%;  /* 丸みの度合い */
	background: #fff; /* ボタンの背景色 */
	transition: 0.3s ease-in-out;
}
.round_btn:hover {
	background: #333; /* ボタンの背景色 */
}

.round_btn::before, .round_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px; /* 棒の幅（太さ） */
	height: 22px; /* 棒の高さ */
	background: #333; /* バツ印の色 */
	transition: 0.3s ease-in-out;
}
.round_btn:hover::before, .round_btn:hover::after {
	background: #fff; /* バツ印の色 */
}
.round_btn::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
.round_btn::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

@keyframes unfoldIn {
	0% {
		transform: scaleY(0.005) scaleX(0);
	}
	50% {
		transform: scaleY(0.005) scaleX(1);
	}
	100% {
		transform: scaleY(1) scaleX(1);
	}
}
@keyframes unfoldOut {
	0% {
		transform: scaleY(1) scaleX(1);
	}
	50% {
		transform: scaleY(0.005) scaleX(1);
	}
	100% {
		transform: scaleY(0.005) scaleX(0);
	}
}
@keyframes zoomIn {
	0% {
		transform: scale(0);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes zoomOut {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(0);
	}
}

@media screen and (max-width:670px){
	#modal-container .modal-background .modal {
		padding: 20px;
		width: 90%;
	}
	#modal-container .modal-background .modal p {
		font-size: 14px;
		margin-top: 15px;
	}
}
