@charset "utf-8";
/* -------------------------------
HEADER
------------------------------- */
header.fixed {
    position: fixed;
    top: 0;
    height: 105px;
	/*
	position: absolute;
    top: 27px;
	*/
}
header #gnav.top ul li.nav01 a {
	padding: 23px 0 20px;
	margin-top:0;
}
/*----------------------------------
MAIN AREA
------------------------------------*/
#mainArea {
	position: relative;
}
#mainArea .pic {
	text-align: center;
	position: relative;
	height: 650px;
}
@keyframes ball-spin-fade-loader {
50% {
    opacity: 0.3;
    transform: scale(0.4);
}
100% {
    opacity: 1;
    transform: scale(1);
}
}
.ball-spin-fade-loader {
    position: absolute;
	z-index: 100;
	left: 50%;
	top: 50%;
}
.ball-spin-fade-loader > div {
    animation-fill-mode: both;
    position: absolute;
}
.ball-spin-fade-loader > div {
    background-color: #ededed;
    border-radius: 100%;
    height: 15px;
    margin: 0;
    width: 15px;
}
.ball-spin-fade-loader > div:nth-child(1) {
    animation: 1s linear 0s normal none infinite running ball-spin-fade-loader;
    left: 0;
    top: 25px;
}
.ball-spin-fade-loader > div:nth-child(2) {
    animation: 1s linear 0.12s normal none infinite running ball-spin-fade-loader;
    left: 17.05px;
    top: 17.05px;
}
.ball-spin-fade-loader > div:nth-child(3) {
    animation: 1s linear 0.24s normal none infinite running ball-spin-fade-loader;
    left: 25px;
    top: 0;
}
.ball-spin-fade-loader > div:nth-child(4) {
    animation: 1s linear 0.36s normal none infinite running ball-spin-fade-loader;
    left: 17.05px;
    top: -17.05px;
}
.ball-spin-fade-loader > div:nth-child(5) {
    animation: 1s linear 0.48s normal none infinite running ball-spin-fade-loader;
    left: 0;
    top: -25px;
}
.ball-spin-fade-loader > div:nth-child(6) {
    animation: 1s linear 0.6s normal none infinite running ball-spin-fade-loader;
    left: -17.05px;
    top: -17.05px;
}
.ball-spin-fade-loader > div:nth-child(7) {
    animation: 1s linear 0.72s normal none infinite running ball-spin-fade-loader;
    left: -25px;
    top: 0;
}
.ball-spin-fade-loader > div:nth-child(8) {
    animation: 1s linear 0.84s normal none infinite running ball-spin-fade-loader;
    left: -17.05px;
    top: 17.05px;
}
.ball-spin-fade-loader > div {
    animation-fill-mode: both;
    position: absolute;
}
#mainArea .pic ul {
	display: inline-block;
	width: 100%;
	min-width: 1200px;
	margin: 0 -100%;
	text-align: center;
}
#mainArea .pic ul li {
	display: inline-block;
	display: none;
}
#mainArea .pic img {
}
#mainArea .logo {
	position: absolute;
	left: 72px;
	top: 440px;
	z-index: 8;
}
#mainArea .logo50 {
	position: absolute;
	left: 107px;
    top: 274px;
	z-index: 9;
}
#mainArea .txt {
	padding: 34px 30px 30px 345px;
}
#mainArea .txt h1 {
	font-size: 30px;
	font-size: 3.0rem;
	line-height: 1.6;
}
#mainArea .txt p {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 2.1;
	margin-top: 30px;
}
#mainArea div.txt_gray {
	margin: 30px 60px;
    padding: 30px 40px;
    background-color: #ededed;
}
#mainArea div.txt_gray h1 + div {
    display:flex;
    justify-content: space-between;
    align-items: flex-start;
	margin-top: 30px;
}
#mainArea div.txt_gray h1 {
	font-size: 28px;
	font-size: 3.0rem;
	line-height: 1.6;
   border-bottom: 1px solid;
}
#mainArea div.txt_gray p {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 2.1;
}
#mainArea div.txt_gray div a{
	padding-top: 10px;
    display: block;
	font-size: 16px;
	font-size: 1.6rem;
    line-height: 1.4;
}
@media screen and (min-width: 768px){
#mainArea .logo50_sp {
	display:none;
}
#mainArea div.txt_gray div p{
	margin-right: 20px;
}
}
@media screen and (max-width: 768px){
#mainArea div.txt_gray {
	margin: 50px 0px;
    padding: 30px;
}
#mainArea div.txt_gray h1 + div {
    display:block;
}
#mainArea div.txt_gray h1 {
    font-size: 2.6rem;
}
#mainArea div.txt_gray p,#mainArea div.txt_gray div a{
    font-size: 1.4rem;
}
#mainArea div.txt_gray div img,#mainArea div.txt_gray div a {
	margin-top:10px;
}
}
/*----------------------------------
SECONDARY AREA
------------------------------------*/
#secondaryArea {
	position: relative;
}
#secondaryArea .pic {
	text-align: center;
}
#secondaryArea .pic img {
	min-width: 1200px;
	margin: 0 -100%;
}
#secondaryArea .txt{
	position: absolute;
	top: 0;
	left: 72px;
	width: 250px;
	height: 390px;
	background: url(../images/bg_hemp01.png) repeat center center;
	text-align: center;
	padding: 70px 24px 25px;
}
#secondaryArea .txt h1 {
	width: 152px;
	margin: 0 auto;
	background: url(../images/bg_hr01.png) repeat-x left bottom;
	background-size: auto 9px;
	padding-bottom: 13px;
	font-size: 28px;
	font-size: 2.8rem;
	position: relative;
}
#secondaryArea .txt h1::before {
	content: "";
	display: inline-block;
	background: url(../images/ico_products01.png) no-repeat 0 0;
	background-size: contain;
	width: 18px;
	height: 32px;
	margin-right: 12px;
	vertical-align: text-bottom;
}
#secondaryArea .txt p {
	margin-top: 40px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.6;
}
#secondaryArea .txt a {
	display: inline-block;
	border: 1px solid #5B5852;
	width: 200px;
	height: 50px;
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 2.4;
	margin-top: 35px;
}
/*----------------------------------
OTHER CONTENTS
------------------------------------*/
#otherContents {
	padding: 50px 60px;
}
#otherContents ul {
	text-align: center;
}
#otherContents ul li {
	float: left;
	width : 33.33333% ;
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	text-align: center;
}
#otherContents ul li a {
	display: inline-block;
	width: 75.6%;
	position: relative;
	padding-bottom: 75.6%;
	background-color:#E4E7E7;
	border-radius: 50%;
	text-decoration: none;
	transition: all 0.3s ease;
	min-width: 272px;
	min-height: 272px;
}
#otherContents ul li a .inn {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}
#otherContents ul li a:hover {
	opacity: 0.7;
}
#otherContents ul li a .tit {
	background: url(../images/bg_hr01.png) repeat-x left bottom;
	background-size: auto 9px;
	padding: 40.7% 0 4.5%;
	font-size: 22px;
	font-size: 2.2rem;
	margin: 0 auto;
	position: relative;
}
#otherContents ul li.cont01 a .tit { width: 67.6%;}
#otherContents ul li.cont02 a .tit { width: 73.5%;}
#otherContents ul li.cont03 a .tit { width: 85.7%;}
#otherContents ul li a .tit::before {
	content: "";
	display: block;
	position: absolute;
}
#otherContents ul li.cont01 a .tit::before {
	width: 40.2%;
	height: 70.3%;
	background: url(../images/top/ico_concept02.png) no-repeat 0 0;
	background-size: contain;
	top: 22%;
	left: 50%;
	margin-left: -20.1%;
}
#otherContents ul li.cont02 a .tit::before {
	width: 43.5%;
	height: 70.1%;
	background: url(../images/ico_history01.png) no-repeat 0 0;
	background-size: contain;
	top: 18%;
	left: 50%;
	margin-left: -21.8%;
}
#otherContents ul li.cont03 a .tit::before {
	width: 52.8%;
	height: 48%;
	background: url(../images/ico_environment01.png) no-repeat 0 0;
	background-size: contain;
	top: 20%;
	left: 50%;
	margin-left: -26.4%;
}
#otherContents ul li a p {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.7;
	color: #0C0A06;
	margin-top: 4.5%;
}
/*----------------------------------
BANNER AREA
------------------------------------*/
#bnrArea {
	padding: 30px 60px;
	background: url(../images/bg_sandwall01.png) repeat center center;
}
#bnrArea ul li {
	float: left;
	width : 33.33333% ;
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	text-align: center;
}
#bnrArea ul li a {
	display: inline-block;
	background: #fff;
	width: 94.4%;
}
#bnrArea ul li a img {
	width: 100%;
}

/*----------------------------------
お知らせ
------------------------------------*/
#oshirase {
	padding: 45px 60px 50px;
}
#oshirase h1 {
	background: url(../images/bg_hr01.png) repeat-x left bottom;
	background-size: auto 9px;
	padding: 0 0 12px;
	font-size: 30px;
	font-size: 2.8rem;
	margin: 0 auto;
	position: relative;
	width: 120px;
	text-align: center;
}
#oshirase .oshirase_title {
	font-size: 22px;
	font-size: 2.2rem;
	margin-top: 30px;
}
#oshirase .oshirase_title_red {
	font-size: 22px;
	font-size: 2.2rem;
	margin-top: 30px;
	color: #ff0000;
}
#oshirase p {
	font-size: 15px;
	font-size: 1.5rem;
	margin-top: 20px;
	line-height: 1.8;
	margin-right: 15px;
	margin-left: 15px;
	text-align: justify;
	text-justify: auto;
}
p.link a {
	color: #1983C7;
}
/*----------------------------------
SPONSORED
------------------------------------*/
#sponsored { padding: 10px 60px 50px; }
#sponsored h1 {
	background: url(../images/bg_hr01.png) repeat-x left bottom;
	background-size: auto 9px;
	padding: 0 0 12px;
	font-size: 28px;
	font-size: 2.8rem;
	margin: 0 auto;
	position: relative;
	width: 120px;
	text-align: center;
}
#sponsored ul {
	margin-top: 10px;
}
#sponsored ul li {
	float: left;
	width : 20% ;
	text-align: center;
	margin-top: 30px;
}
#sponsored ul li a {
	display: inline-block;
	transition: all 0.3s ease;
	text-decoration: none;
}
#sponsored ul li a:hover {
	opacity: 0.8;
}
#sponsored ul li dl {
	border: 1px solid #ccc;
	width: 200px;
	height: 160px;
	font-family: Arial;
}
#sponsored ul li dl .channel {
	height: 65px;
}
#sponsored ul li dl .channel::before {
	content: "";
    height: 100%;
    vertical-align: middle;
    width: 0px;
    display: inline-block;
}
#sponsored ul li dl .channel img {
	vertical-align: middle;
}
#sponsored ul li dl .program {
	display: inline-block;
	background: #3C3A37;
	width: 180px;
	height: 24px;
	vertical-align: middle;
	font-weight: bold;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 2;
}
#sponsored ul li dl .program::before {
	content: "";
    height: 100%;
    vertical-align: middle;
    width: 0px;
    display: inline-block;
}
#sponsored ul li dl .airtime {
	margin-top: 10px;
	font-size: 14px;
	font-size: 1.4rem;
}
#sponsored ul li dl .segment {
	margin-top: 10px;
	font-size: 16px;
	font-size: 1.6rem;
}
@media screen and (max-width: 1199px){
#otherContents ul li a .tit {
	background-size: auto 8px;
	font-size: 19px;
	font-size: 1.9rem;
}
#otherContents ul li a p {
	font-size: 13px;
	font-size: 1.3rem;
}
}
@media screen and (max-width: 1124px){
#sponsored ul {
	margin-top: 5px;
}
#sponsored ul li {
	width : 25% ;
}
}
@media screen and (max-width: 1079px){
#otherContents ul li a {
	min-width: 240px;
	min-height: 240px;
}
#otherContents ul li a .tit {
	background-size: auto 7px;
	font-size: 16px;
	font-size: 1.6rem;
}
#otherContents ul li a p {
	font-size: 12px;
	font-size: 1.2rem;
}
}
@media screen and (max-width: 959px){
#otherContents ul li a {
	min-width: 180px;
	min-height: 180px;
}
#otherContents ul li a .tit {
	background-size: auto 6px;
	font-size: 13px;
	font-size: 1.3rem;
}
#otherContents ul li a p {
	font-size: 10px;
	font-size: 1.0rem;
}
}
@media screen and (max-width: 924px){
#sponsored ul li {
	width : 33% ;
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
}
}
@media screen and (max-width: 767px){
header,
header.fixed {
	height: 48px;
	top: 0;
	width: 100%;
	background: #fff;
	position: fixed;
}
#mainArea .pic {
	height:0;
	padding-bottom: 55.3%;
}
#mainArea .pic ul {
	min-width: 100%;
	margin: 0;
}
#mainArea .pic img {
	min-width: 100%;
	margin: 0;
}
#mainArea .logo {
	position: relative;
	top: 0;
	left: 0;
	text-align: center;
	margin-top: -50px;
}
#mainArea .logo50 {
	display:none;
}
#mainArea .logo50_sp {	
    position: absolute;
    top: calc((100vw/1.846) - (49vw/1.846));
    left: 17.5vw;
    z-index: 9;
}
#mainArea .logo50_sp img {	
	width: 35%;
}
#mainArea .logo img {
	width: 30%;
}
#mainArea .txt {
	padding: 30px 30px 30px 30px;
}
#mainArea .txt h1 {
	font-size: 2.8rem;
}
#mainArea .txt p {
	font-size: 1.4rem;
}
/*----------------------------------
SECONDARY AREA
------------------------------------*/
#secondaryArea .pic img {
	min-width: 100%;
	margin: 0;
}
#secondaryArea .txt{
	position: relative;
	top: auto;
	left: auto;
	width: 100%;
	height: auto;
	background: url(../images/bg_hemp01.png) repeat center center;
	text-align: center;
	padding: 25px;
}
#secondaryArea .txt h1 {
	width: 152px;
	margin: 0 auto;
	background: url(../images/bg_hr01.png) repeat-x left bottom;
	background-size: auto 9px;
	padding-bottom: 13px;
	font-size: 28px;
	font-size: 2.8rem;
	position: relative;
}
#secondaryArea .txt h1::before {
	content: "";
	display: inline-block;
	background: url(../images/ico_products01.png) no-repeat 0 0;
	background-size: contain;
	width: 18px;
	height: 32px;
	margin-right: 12px;
	vertical-align: text-bottom;
}
#secondaryArea .txt p {
	margin-top: 20px;
	font-size: 14px;
	font-size: 1.4rem;
}
#secondaryArea .txt a {
	display: inline-block;
	border: 1px solid #5B5852;
	width: 200px;
	height: 50px;
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 2.4;
	margin-top: 35px;
}
/*----------------------------------
OTHER CONTENTS
------------------------------------*/
#otherContents {
	padding: 50px 0px;
}
#otherContents ul li a {
	width: 90%;
	padding-bottom: 90%;
	text-decoration: none;
	transition: none;
	min-width: 90%;
	min-height: 90%;
}
#otherContents ul li a .inn::after {
	content: "";
	display: inline-block;
	height: 0;
	padding-bottom: 100%;
	vertical-align: middle;
}
#otherContents ul li a .tit {
	background: none;
	font-size: 15px;
	font-size: 1.5rem;
	margin: 0 auto;
	position: relative;
	display: inline-block;
	vertical-align: middle;
}
#otherContents ul li.cont01 a .tit { width: 67.6%;}
#otherContents ul li.cont02 a .tit { width: 73.5%;}
#otherContents ul li.cont03 a .tit { width: 85.7%;}
#otherContents ul li a p {
	display: none;
}
/*----------------------------------
お知らせ
------------------------------------*/
#oshirase { padding: 45px 20px 50px; }

/*----------------------------------
BANNER AREA
------------------------------------*/
#bnrArea {
	padding: 40px 20px;
}
#bnrArea ul {
flex-direction: column;
}
#bnrArea ul li:first-child {
	margin-top: 0;
}
#sponsored {
	padding: 45px 30px 50px;
}
#sponsored ul li {
	width : 50% ;
}
}

@media screen and (max-width: 619px){
/*----------------------------------
BANNER AREA
------------------------------------*/
#bnrArea ul li {
	float: none;
	width : 100% ;
	margin-top: 20px;
}
#bnrArea ul li:first-child {
	margin-top: 0;
}
}
@media screen and (max-width: 484px){
#sponsored {
	padding: 25px 20px 50px;
}
#sponsored ul li {
	width : 100% ;
}
}


/*----------------------------------
230623 バナーエリア
------------------------------------*/
/*----------------------------------
BANNER AREA
------------------------------------*/
#bnrArea {
	margin: 0 0 48px;
}

#bnrArea ul li:last-child {
	margin-top: 24px;
}
#bnrArea ul li:nth-child(4) {
	margin-top: 24px;
}
#bnrArea ul li:nth-child(5) {
	margin-top: 24px;
}



/*----------------------------------
230623　キャンペーンバナー
------------------------------------*/
.bnr_cp_area {
	padding: 0 60px;
}
.bnr_cp {
	display: block;
	justify-content: space-around;
	width: 100%;
	max-width: 1060px;
	margin: 0 auto 55px;
}
.bnr_cp_img {
	max-width: 510px;
}
.bnr_cp_img_large {
	max-width: 1060px;
	margin-bottom: 40px;
}
.bnr_cp_sp {
	display: none;
}

@media screen and (max-width: 767px) {
	.bnr_cp_area {
		padding: 0 20px;
	}
}

@media screen and (max-width: 619px){
	.bnr_cp_area {
		padding: 0 32px;
	}
	.bnr_cp {
		display: none;
	}
	.bnr_cp_sp {
		display: block;
		width: 100%;
		max-width: 1060px;
		margin: 0 auto 48px;
	}
}

@media screen and (max-width: 484px){
		.bnr_cp_area {
			padding: 0 20px;
		}
		.bnr_cp {
			display: none;
		}
		.bnr_cp_sp {
			display: block;
			width: 100%;
			max-width: 1060px;
			margin: 0 auto 48px;
		}
		.bnr_cp_sp_img {
			margin: 0 0 24px;
		}
}