@charset "utf-8";
/* CSS Document */
#wrapper {
/*font-family: -apple-system-body, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans Japanese", "游ゴシック  Medium", "Yu Gothic Medium", "メイリオ", meiryo, sans-serif;*/
	font-family: 'Noto Sans JP', sans-serif;
	
}
input[type=checkbox] {
  transform: scale(1.5);
}

#wrapper {
	max-width: 1000px;
	width:100%;
	margin:0 auto;
	font-feature-settings: "palt";
}


.wrapper_inner {
	max-width: 844px;
	margin:0 auto;
	font-size: 100%;
	overflow: hidden;
	width:90%;

}
.wrapper_inner div{
	width:100%;
}

header,footer{
	background:#fff;
}

#wrapper a {
	text-decoration: none;
}

#wrapper img {
	vertical-align:top;
}

#wrapper *{
	box-sizing:border-box;
}

#wrapper .img_area{
	max-width:1000px;
	text-align:center;
	margin:0 auto;
	width:100%;
}

#wrapper .img_area img{
	width:100%;
}

#wrapper a.black:link {
	color:#000;
}
#wrapper a.black:visited  {
	color:#000;
}

#wrapper a.red:link {
	color:#d32525;
}
#wrapper a.blue:link {
	color:#3391c4;
}
#wrapper a.red:visited  {
	color:#d32525;
}
#wrapper a.blue:visited  {
	color:#3391c4;
}
/*---------------------------------------*/
.head_logo{
	margin:0 auto;
	max-width:890px;
	padding-top:5%;
	font-family: "HelveticaLTPro-Bold";
	font-size: clamp(0.8rem, 0.235rem + 2.82vw, 2rem);
	width:90%;
}
.head{
	margin-top:4%;
	position: relative;
}
.head img{
	width:100%;
}
.head_in{
	position: absolute;
	right: 5%;
	top: 5%;
	box-sizing:  border-box;

}
.h_tx{
	line-height:1.5;
	font-family: "gothic_101pro_db";
	font-size: clamp(1.2rem, 0.071rem + 5.65vw, 3.6rem);
	writing-mode: vertical-rl;
	font-feature-settings: initial;
	color:#fff;

}
#title{
	margin-top:0;
	
	.logo_mark{
		max-width:323px;
		width:38.3%;
	}
	.logo_mark img{
		width:100%;
	}
	.t_tx_01{
		margin-top:3%;
		font-family: "HelveticaLTPro-Bold";
		font-size: clamp(0.8rem, 0.235rem + 2.82vw, 2rem);
	}
	.h1_tx{
		margin-top:3%;
		font-family: "impact";
		font-size: clamp(3rem, 0.235rem + 13.82vw, 8.875rem);
		font-weight:400;
	}
	.t_tx_02{
		margin-top:2%;
		font-family: "gothic_101pro_db";
		font-size: clamp(2rem, 0.588rem + 7.06vw, 5rem);
	}
	.t_tx_03{
		margin-top:3%;
		font-family: "HelveticaLTPro-Bold";
		font-size: clamp(1rem, 0.059rem + 4.71vw, 3rem);
	}
	.t_tx_03 span{
		font-size: clamp(0.8rem, 0.094rem + 3.53vw, 2.3rem);
	}
}
#c1_con{
	margin-top:4%;
	background:#3e3a39;
	color:#fff;
	padding-top:10%;
	padding-bottom:8%;
	text-align:center;
}
.c1_tx_01{
	font-family: "gothic_101pro_db";
	font-size: clamp(1.1rem, -0.171rem + 6.35vw, 3.8rem);
}

.c1_tx_02{
	margin-top:3%;
	padding-top:2%;
	padding-bottom:2%;
	border-top:1px solid;
	border-bottom:1px solid;
	font-family: "gothic_101pro_li";
	font-size: clamp(0.9rem, 0.171rem + 3.65vw, 2.45rem);
}
.c1_tx_03{
	margin-top:4%;
	font-family: "gothic_101pro_db";
	font-size: clamp(1.3rem, 0.086rem + 6.07vw, 3.88rem);
}
.c1_tx_04{
	margin-top:3%;
	font-family: "gothic_101pro_db";
	font-size: clamp(0.8rem, 0.188rem + 3.06vw, 2.1rem);
}
.c1_tx_05{
	margin-top:3%;
	font-family: "gothic_101pro_db";
	font-size: clamp(0.7rem, 0.147rem + 2.76vw, 1.875rem);
}
.c_img{
	margin-top:8%;
}
.c_img img{
	width:100%;
}
.tokuten{
	margin-top:8%;
	padding-top:3%;
	padding-bottom:4%;
	background:#000;
	border:1px solid #fff;
}
.to_tx_01{
	margin:0 auto;
	width:90%;
	border-bottom:1px solid;
	padding-bottom:2%;
	font-family: "gothic_101pro_db";
	font-size: clamp(1rem, -0.082rem + 5.41vw, 3.3rem);
}
.to_tx_02{
	margin-top:3%;
	font-family: "gothic_101pro_db";
	font-size: clamp(1.4rem, 0.059rem + 6.71vw, 4.25rem);
}
.to_tx_02 span{
	font-size: clamp(2.5rem, 0.006rem + 12.47vw, 7.8rem);
}
.to_tx_03{
	margin-top:3%;
	font-family: "gothic_101pro_db";
	font-size: clamp(0.7rem, 0.147rem + 2.76vw, 1.875rem);
}

#c2_con{
	margin-top:0;
	background:#920d1d;
	color:#fff;
	padding-top:10%;
	padding-bottom:8%;
	text-align:center;
}
.c2_tx_02{
	margin-top:3%;
	padding-top:2%;
	padding-bottom:2%;
	border-top:1px solid;
	border-bottom:1px solid;
	font-family: "gothic_101pro_li";
	font-size: clamp(0.9rem, 0.171rem + 3.65vw, 2.45rem);
}
.c2_tx_02_in{
	margin:0 auto;
	width:98%;
	text-align:left;
	width: fit-content;
	line-height:1.5;
	white-space: nowrap;
}
.c2_tx_02_in span{
	background:#e60012;
	text-align:center;
	padding:0.5% 1%;
	font-family: "gothic_101pro_db";
	font-size: clamp(0.55rem, 0.291rem + 1.29vw, 1.1rem);
	vertical-align:40%;
}
.c2_in{
	margin:4% auto 0;
	max-width:650px;
	width:90%;
	white-space: nowrap;
}
.c2_tx_03{
	font-family: "gothic_101pro_db";
	font-size: clamp(0.8rem, 0.165rem + 3.18vw, 2.15rem);
	line-height:1.2;
}
.c2_tx_04{
	margin-top:6%;
	text-align:left;
	font-family: "gothic_101pro_db";
	font-size: clamp(0.7rem, 0.147rem + 2.76vw, 1.875rem);
}
.c2_tx_05{
	margin-top:3%;
	text-align:right;
	font-family: "gothic_101pro_db";
	font-size: clamp(0.7rem, 0.147rem + 2.76vw, 1.875rem);
}
.u_bar{
	padding-bottom:6%;
	border-bottom:1px solid;
}
#c3_con{
	margin-top:0;
	margin-bottom:10%;
	background:#efefef;
	color:#000;
	padding-top:10%;
	padding-bottom:8%;
}
.c3_fl{
	display: flex;
	align-items: center;
}
.c3_fl_l{
	max-width:446px;
	width:52.85%;
}
.c3_fl_l img{
	width:100%;
}
.c3_fl_r{
	margin-left:2%;
}
.c3_tx_01{
	font-family: "gothic_101pro_re";
	font-size: clamp(0.8rem, 0.118rem + 3.41vw, 2.25rem);
	line-height:1.3;
}

.c3_tx_02{
	margin-top:4%;
	font-family: "gothic_101pro_db";
	font-size: clamp(1.1rem, 0.018rem + 5.41vw, 3.4rem);
}
.c3_tx_03{
	margin-top:8%;
	font-family: "gothic_101pro_re";
	font-size: clamp(1rem, 0.059rem + 4.71vw, 3rem);
}
.c3_tx_03 span{
	font-size: clamp(0.6rem, -0.012rem + 3.06vw, 1.9rem);
}
.att_tx{
	margin-bottom:4%;
	text-align:center;
	margin-top:8%;
	font-size: clamp(0.65rem, 0.132rem + 2.59vw, 1.75rem);
}

.raiten{
	text-align:center;
	background:#666767;
	color:#fff;
	padding:3%;
	font-size: clamp(0.6rem, 0.129rem + 2.35vw, 1.6rem);
	line-height:1.5;
}

#wrapper .margin_top10{
	margin-top:3%;
}
#wrapper .margin_top20{
	margin-top:6%;
}

#wrapper .margin_top30{
	margin-top:9%;
}

#wrapper .margin_top40{
	margin-top:12%;
}

#wrapper .margin_top50{
	margin-top:15%;
}

#wrapper .margin_top60{
	margin-top:18%;
}

#wrapper .margin_top70{
	margin-top:21%;
}
#wrapper .margin_top80{
	margin-top:24%;
}
#wrapper .margin_top90{
	margin-top:27%;
}
#wrapper .margin_top100{
	margin-top:30%;
}


/*ページトップスクロールボタン*/
#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0;
  bottom: 0;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #3f98ef;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'PAGE TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  color: #3f98ef;
}
/*---------------------------------------------------------------------------------*/


.footer_flex{
	display: flex;
	justify-content: space-between;
	border-top:0.5vw solid #000;
	margin:30px auto 0;
	width:100%;
	padding-top:50px;
}

.footer_flex .footer_flex_l{
	width:48%;
//	margin:60px 0 60px 20px;
	
}

.footer_flex .footer_flex_r{
	width:48%;
}

.footer_flex .footer_flex_l .foot_txt_01{
	font-size: clamp(1.6rem, 2.0vw, 2.0rem);
	font-feature-settings: "palt";
}

.footer_flex .footer_flex_l .foot_txt_02{
	font-size: clamp(0.8rem, 1.2vw, 1.2rem);
	line-height:150%;
	margin-top:16px;
	font-feature-settings: "palt";
}

.footer {
	font-size:10px;
	line-height:150%;
	padding:5px;
	max-width: 1025px;
	width:100%;
	margin:20px auto 10px;
	border-top:1px dotted #666;
	text-align:right;
}


/*----------*/

nav.globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background: #fff;
    color: #000;
    text-align: center;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
}

nav.globalMenuSp ul {
    background: #ccc;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

nav.globalMenuSp ul li {
    font-size: 1.1em;
    list-style-type: none;
    padding: 0;
    width: 100%;
    border-bottom: 1px dotted #333;
}

/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

nav.globalMenuSp ul li a {
    display: block;
    color: #000;
    padding: 1em 0;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active2 {
    transform: translateY(0%);
}


.navToggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right: 13px;
    top: 12px;
    width: 42px;
    height: 51px;
    cursor: pointer;
    z-index: 3;
    background: #666;
    text-align: center;
}

.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 30px;
    border-bottom: solid 3px #eee;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
}

.navToggle span:nth-child(1) {
    top: 9px;
}

.navToggle span:nth-child(2) {
    top: 18px;
}

.navToggle span:nth-child(3) {
    top: 27px;
}

.navToggle span:nth-child(4) {
    border: none;
    color: #eee;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
}


/* 最初のspanをマイナス45度に */
.navToggle.active2 span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active2 span:nth-child(2),
.navToggle.active2 span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.navToggle{
	display:none;
}


.bt_links{
	width:100%;
	margin:2% auto 0;
	text-align:center;
}
.bt_links img{
	width:100%;
	margin:20px auto;
}
.bt_links a {
	width:100%;
	margin:2% auto;
	color: #fff;
	font-family: "gothic_101pro_re";
	font-size: clamp(0.7rem, 0.088rem + 3.06vw, 2rem);
	background: #000;
	padding-top:2%;
	padding-bottom:3%;
	position: relative;
	z-index: 1;
	display: inline-block;
	transition: .3s;
	line-height:1;
}

.bt_links a::before {
	content: "";
	width: 90%;
	height: 10px;
	position: absolute;
	top: 100%;
	left: 5%;
	background: radial-gradient(ellipse at center, black  0%, white  80%);
	z-index: -1;
	opacity: 0;
	transition: .3s;
}
.bt_links a:hover {
	transform: translateY(-7px);
}
.bt_links a:hover::before {
	transform: translateY(7px);
	opacity: 1;
}






.sp_br{
	display: none;
}

/* ************************************************************************************************ */
@media screen and (max-width: 980px) {
.sp_br{
	display: block;
}

}
/* ************************************************************************************************ */
@media screen and (max-width: 768px) {


.footer_flex{
	display: block;
}
.footer_flex .footer_flex_l{
	width:90%;
	margin:10px auto;
}

.footer_flex .footer_flex_r{
	width:90%;
	margin:10px auto;
}

.footer_flex .footer_flex_r img{
	width:100%;
}
.resizeimage img {
	width: 100%;
	max-width: 30px;
}
}



@media screen and (max-width: 600px) {
.navToggle{
	display:block;
}
}
