﻿

@media screen and (max-width: 1000px){


/* PC版非表示*/
#pcwrapper {
	display: none;
}
.pcwrapper {
	display: none;
}
#page-top {
	display: none;
}


a{
     outline: none;
	text-decoration: underline;
     -webkit-tap-highlight-color:rgba(0,0,0,0);
     color: #000000;
     text-underline-offset: 5px;
}
a:hover{
     outline: none;
	text-decoration: none;
     -webkit-tap-highlight-color:rgba(0,0,0,0);
     color: #000000;

}
a:visited{
     outline: none;
	text-decoration: underline;
     color: #000000;
     text-underline-offset: 5px;
}


body {
	-webkit-text-size-adjust: 100%;
	text-align: center;
	overflow: visible;
	background-color: #ffffff;
     font-family: 'Noto Sans JP', sans-serif !important;
     text-shadow: none !important;
	font-feature-settings: "palt" 1;
}
img {
	width: 100%;
	height: auto;
     -webkit-touch-callout:none;
     -webkit-user-select:none;
     -moz-touch-callout:none;
     -moz-user-select:none;
     touch-callout:none;
     user-select:none;
     display: block;
}


.intros {
     display: none;
}


.pacifico-regular {
     font-family: "Pacifico", cursive;
     font-weight: 400;
     font-style: normal;
}



.next_001 {
     color: rgba(255,255,255,1.00);
     background-color: #408f35;
     padding-top: 4%;
     padding-bottom: 5.5%;
     text-align: center;
}
.next_002 {
     font-size: 110%;
     font-weight: 700;
     line-height: 170%;
     letter-spacing: 0.025em;
}
.next_002 a {
     color: #ffffff;
     text-decoration: underline;
     text-underline-offset: 6px;
}
.next_003 {
     font-size: 75%;
}
.next_004 {
     font-size: 125%;
}



.sample-slider{
     width: 100%;
}
.sample-slider img{
     width: 100%;
}
.swiper_000 {
	background-image: url("../images/cube_000.jpg?20170625-1200");
	background-repeat: no-repeat;
	background-position: center center;
     background-size: 100% auto;
}
.swiper_001 {
     padding-left: 22%;
     padding-right: 22%;
     padding-bottom: 7%;
}
    

.menupad01q {
     font-size: 150%;
     font-weight: 600;
     color: #ffffff;
     letter-spacing: 0.25em;
     padding-top: 25px;
}
.menupad01q_mini {
     font-size: 60%;
     font-weight: 600;
     color: #ffffff;
}



.pad_041 {
     padding-top: 45px;
     padding-left: 7%;
     padding-right: 7%;
}
.pad_042 {
     width: 100%;
     border-top: 1px #FFFFFF solid;
     border-left: 1px #FFFFFF solid;
}


.pad_043_000 {
     height: 42px;
     border-right: 1px #FFFFFF solid;
     border-bottom: 1px #FFFFFF solid;
}
.pad_043_000 a {
     display: flex;
     height: 100%;
     text-decoration: none;
     color: #ffffff;
     align-items: center;
     justify-content: center;
}
.pad_043_000 a:hover {
     display: flex;
     height: 100%;
     color: #68ba5d;
     background-color: #ffffff;
     text-decoration: none;
     align-items: center;
     justify-content: center;
}


.pad_043_001 {
     width: 16.66666%;
     height: 42px;
     border-right: 1px #FFFFFF solid;
     border-bottom: 1px #FFFFFF solid;
}
.pad_043_001 a {
     display: flex;
     height: 100%;
     text-decoration: none;
     color: #ffffff;
     align-items: center;
     justify-content: center;
}
.pad_043_001 a:hover {
     display: flex;
     height: 100%;
     color: #68ba5d;
     background-color: #ffffff;
     text-decoration: none;
     align-items: center;
     justify-content: center;
}


.pad_043_002 {
     height: 42px;
     border-right: 1px #FFFFFF solid;
     border-bottom: 1px #FFFFFF solid;
}
.pad_043_002 a {
     display: flex;
     height: 100%;
     text-decoration: none;
     color: #ffffff;
     align-items: center;
     justify-content: center;
}
.pad_043_002 a:hover {
     display: flex;
     height: 100%;
     color: #68ba5d;
     background-color: #ffffff;
     text-decoration: none;
     align-items: center;
     justify-content: center;
}


.pad_043_003 {
     width: 50%;
     height: 42px;
     border-right: 1px #FFFFFF solid;
     border-bottom: 1px #FFFFFF solid;
}
.pad_043_003 a {
     display: flex;
     height: 100%;
     text-decoration: none;
     color: #ffffff;
     align-items: center;
     justify-content: center;
}
.pad_043_003 a:hover {
     display: flex;
     height: 100%;
     color: #68ba5d;
     background-color: #ffffff;
     text-decoration: none;
     align-items: center;
     justify-content: center;
}


.pad_044 {
     font-size: 110%;
     line-height: 120%;
     font-weight: 600;
}
.pad_044_002 {
     font-size: 90%;
     line-height: 120%;
     font-weight: 600;
}
.pad_045 {
     font-size: 130%;
     font-weight: 600;
}
.pad_046 {
     font-size: 60%;
     font-weight: 600;
     margin-left: 5%;
}
.pad_047 {
     padding-top: 3%;
}
.pad_048 {
     width: 48%;
     float: left;
}
.pad_049 {
     width: 48%;
     float: left;
     margin-left: 4%;
}

.pad_050 {
     padding-top: 38%;
     padding-bottom: 40%;
     text-align: center;
}
.pad_051 {
     font-size: 200%;
     font-weight: 400;
}
.pad_052 {
     font-size: 80%;
     font-weight: 400;
     letter-spacing: 0.75em;
     padding-top: 5%;
}
.pad_053 {
     padding-bottom: 4%;
}
.pad_054 {
     padding-top: 12%;
     padding-bottom: 2%;
     padding-left: 4%;
     padding-right: 4%;
}
.pad_055 {
     font-size: 60%;
     font-weight: 400;
     letter-spacing: 0.1em;
     padding-top: 2%;
     padding-bottom: 8%;
}



.shutten_pad01 {
	margin-top: 7%;
	padding-top: 3%;
	border-top-color: #07913a;
	border-top-style: solid;
	border-top-width: 3px;
	width: 100%;
}
.shutten_pad01_000 {
	margin-top: 7%;
	margin-bottom: 7%;
	width: 100%;
}
.shutten_pad01_001 {
	margin-top: 11%;
	margin-bottom: 7%;
	width: 100%;
}
.shutten_pad01_002 {
	margin-top: 1%;
	margin-bottom: 7%;
	width: 100%;
}
.shutten_pad02 {
	color: #07913a;
	font-size: 160%;
	font-weight: 600;
	border-bottom-color: #07913a;
	border-bottom-style: dotted;
	border-bottom-width: 1px;
	padding-bottom: 4%;
	width: 100%;
     text-align: left;
}
.shutten_pad02 a[target="_blank"] {
	padding-right: 15px;
     background: url(../images/linkicon.jpg) no-repeat center right;
}
.shutten_pad02 a{
     outline: none;
	text-decoration: underline !important;
	color: #07913a !important;
     text-underline-offset: 0.2em;
}
.shutten_pad02 a:hover{
     outline: none;
	text-decoration: none !important;
	color: #07913a !important;
     text-underline-offset: 0.2em;
}

@media only screen and (min-width: 1000px) {
.shutten_pad03 {
	color: #000000;
	font-size: 110%;
	line-height: 200%;
	padding-top: 3%;
     text-align: left;
     letter-spacing: 0.05em;
}
.shutten_pad03_big {
	color: #000000;
	font-size: 120%;
	line-height: 200%;
	padding-top: 3%;
     letter-spacing: 0.05em;
}
}
@media only screen and (max-width: 500px) {
.shutten_pad03 {
	color: #000000;
	font-size: 100%;
	line-height: 195%;
	padding-top: 3%;
     text-align: left;
     letter-spacing: 0.05em;
}
.shutten_pad03_big {
	color: #000000;
	font-size: 100%;
	line-height: 195%;
	padding-top: 3%;
     letter-spacing: 0.05em;
}
}


.shutten_pad03_mini {
	font-size: 60%;
     vertical-align: 0.1em;
     letter-spacing: 0.1em;
}


.shutten_pad04 {
     width: 100%;
     float: left;
	padding-bottom: 5%;
}
.shutten_pad04_001 {
     width: 100%;
     float: left;
	padding-bottom: 5%;
}
.shutten_pad04_002 {
     width: 100%;
     float: left;
	padding-bottom: 4.5%;
}


.shutten_pad05 {
     width: 50%;
     float: left;
	padding-bottom: 2%;
}
.shutten_pad06 {
     width: 50%;
     float: left;
	padding-bottom: 2%;
}
.shutten_pad07 {
     width: 50%;
     float: left;
	padding-bottom: 6%;
}
.shutten_pad08 {
     width: 50%;
     float: left;
	padding-bottom: 6%;
}


.shutten_pad06_nologo {
     width: 50%;
     float: left;
	padding-bottom: 2%;
}
.shutten_pad07_nologo {
     width: 50%;
     float: left;
	padding-bottom: 2%;
}
.shutten_pad08_nologo {
     width: 50%;
     float: left;
	padding-bottom: 6%;
}


.shutten_pad09 {
     padding-right: 2%;
}
.shutten_pad10 {
     padding-left: 2%;
}
.shutten_pad11 {
     padding-right: 2%;
}
.shutten_pad12 {
     padding-left: 2%;
}


.shutten_pad10_nologo {
     padding-right: 2%;
}
.shutten_pad11_nologo {
     padding-left: 2%;
}
.shutten_pad12_nologo {
     padding-right: 2%;
}


.shutten_pad13 {
     font-size: 60%;
     line-height: 195%;
     vertical-align: 0.1em;
}
.shutten_pad14 {
     padding-top: 5%;
}



.pad_001 {
     background-color: #68ba5d;
	background-image: url("../images/forest_smp.jpg?20170625-1200");
	background-repeat: no-repeat;
	background-position: center bottom;
     background-size: contain;
     padding-bottom: 15%;
}
.pad_002 {
     padding-left: 7.5%;
     padding-right: 7.5%;
     padding-top: 3%;
     padding-bottom: 3%;
}
.pad_003 {
     font-size: 100%;
     line-height: 210%;
     font-weight: 400;
     text-align: center;
     padding-top: 2.5%;
     letter-spacing: 0.1em;
     padding-left: 8%;
     padding-right: 8%;
}
.pad_004 {
     font-size: 135%;
}
.pad_005 {
	background-image: url("../images/bg_001_smp.png?20170625-1201");
	background-repeat: no-repeat;
	background-position: center top;
     background-size: 100% auto;
}
.pad_006 {
     padding-top: 8%;
     padding-left: 8%;
     padding-right: 8%;
}
.pad_006_002 {
     padding-left: 8%;
     padding-right: 8%;
}


.pad_007 {
     padding-top: 20%;
     padding-bottom: 13%;
     padding-left: 5%;
     padding-right: 5%;
}
.pad_007_002 {
     padding-top: 15%;
     padding-bottom: 6%;
     padding-left: 5%;
     padding-right: 5%;
}
.pad_007_003 {
     padding-top: 20%;
     padding-left: 5%;
     padding-right: 5%;
}
.pad_007_004 {
     padding-bottom: 13%;
     padding-left: 5%;
     padding-right: 5%;
}


.pad_008 {
     font-size: 260%;
     line-height: 135%;
     font-weight: 700;
     text-align: center;
     padding-top: 1%;
}
.pad_009 {
     font-size: 100%;
     line-height: 210%;
     font-weight: 400;
     text-align: center;
     padding-top: 5%;
     letter-spacing: 0.1em;
     padding-left: 8%;
     padding-right: 8%;
}
.pad_009_002 {
     font-size: 100%;
     line-height: 210%;
     font-weight: 400;
     text-align: center;
     letter-spacing: 0.1em;
     padding-left: 8%;
     padding-right: 8%;
}
.pad_010 {
     font-size: 360%;
     line-height: 130%;
     text-align: center;
     padding-top: 8%;
}
.pad_010_002 {
     font-size: 360%;
     line-height: 130%;
     text-align: center;
     padding-top: 1%;
}
.pad_010_003 {
     font-size: 390%;
     line-height: 130%;
     text-align: center;
     padding-top: 6.5%;
     padding-right: 3%;
}
.pad_010_004 {
     font-size: 280%;
     line-height: 130%;
     text-align: center;
     padding-top: 8%;
}
.pad_010_005 {
     font-size: 450%;
     line-height: 130%;
     text-align: center;
     padding-top: 6.5%;
     padding-right: 3%;
}
.pad_011 {
     font-size: 80%;
     font-weight: 600;
     text-align: center;
     padding-top: 0.25%;
     letter-spacing: 0.5em;
}
.pad_011_002 {
     font-size: 80%;
     font-weight: 600;
     text-align: center;
     padding-top: 2%;
     letter-spacing: 0.5em;
}
.pad_011_003 {
     font-size: 85%;
     line-height: 185%;
     font-weight: 400;
     text-align: center;
     padding-top: 3%;
     padding-bottom: 8%;
     letter-spacing: 0.025em;
}
.pad_011_004 {
     font-size: 110%;
     font-weight: 600;
     text-align: center;
     padding-top: 10%;
     letter-spacing: 0.025em;
}
.pad_011_005 {
     font-size: 85%;
     line-height: 185%;
     font-weight: 400;
     text-align: center;
     padding-top: 3%;
     padding-bottom: 8%;
     letter-spacing: 0.025em;
}
.pad_011_006 {
     font-size: 80%;
     font-weight: 600;
     text-align: center;
     padding-top: 1%;
     padding-bottom: 8%;
     padding-left: 22%;
     letter-spacing: 0.5em;
}
.pad_011_007 {
     font-size: 80%;
     font-weight: 600;
     text-align: center;
     padding-top: 1%;
     padding-bottom: 8%;
     letter-spacing: 0.5em;
}
.pad_012 {
     padding-top: 5%;
     padding-left: 8%;
     padding-right: 8%;
}
.pad_013 {

}
.pad_014 {
     width: 100%;
     margin-top: 10%;
     margin-bottom: 7%;
}
.pad_015 {
     padding-top: 10%;
     padding-left: 10%;
     padding-right: 10%;
}
.pad_015_002 {
     padding-top: 10%;
     padding-left: 8%;
     padding-right: 8%;
}
.pad_016 {
     font-size: 60%;
     vertical-align: 0.2em;
}
.pad_017 {
     padding-top: 3%;
}
.pad_018 {
     padding-top: 8%;
     padding-left: 15%;
     padding-right: 15%;
}
.pad_019 {
     padding-top: 8%;
     padding-left: 10%;
     padding-right: 10%;
}
.pad_020 {
     padding-top: 2%;
     background-color: #c1e4ed;
}
.pad_021 {
     padding-top: 13%;
     padding-left: 6%;
     padding-right: 6%;
}
.pad_022 {
	background-image: url("../images/footer_smp.jpg?20170625-1200");
	background-repeat: no-repeat;
	background-position: center bottom;
     background-size: 100% auto;
}
.pad_023 {
     padding-bottom: 30%;
}
.pad_024 {
     padding-top: 4%;
     padding-bottom: 6%;
     padding-left: 5%;
     padding-right: 5%;
     margin-top: 12%;
     margin-bottom: 12%;
     margin-left: 10%;
     margin-right: 10%;
     border: 1px rgba(0,0,0,1) solid;
}
.pad_025 {

}
.pad_026 {
     text-align: center;
     font-size: 95%;
     line-height: 200%;
     font-weight: 400;
}


.pad_027 {
     padding-top: 4%;
     padding-bottom: 8%;
}
.pad_028 {
     float: left;
     width: 47.5%;
}
.pad_029 {
     float: right;
     width: 47.5%;
}


.pad_027_002 {
     padding-top: 4%;
     padding-bottom: 8%;
}
.pad_028_002 {
     float: left;
     width: 100%;
     padding-bottom: 5%;
}
.pad_029_002 {
     float: right;
     width: 100%;
}



.pad_030 {
     padding-top: 7%;
     text-align: center;
     font-size: 140%;
     font-weight: 600;
}
.pad_031 {
     padding-top: 1%;
     text-align: center;
     font-size: 125%;
     letter-spacing: 0.05em;
     font-weight: 600;
}
.pad_032 {
     padding-top: 3%;
     text-align: center;
     font-size: 95%;
     font-weight: 400;
     letter-spacing: 0.05em;
}
.pad_033 {
     padding-top: 2%;
     text-align: center;
     font-size: 70%;
     font-weight: 400;
     letter-spacing: 0.05em;
}
.pad_034 {
     padding-top: 3%;
     padding-bottom: 3%;
}
.pad_035 {
	background-image: url("../images/kasohead_smp.jpg?20170625-1200");
	background-repeat: no-repeat;
	background-position: center top;
     background-color: #68ba5d;
     background-size: 100% auto;
}
.pad_036 {
     padding-top: 10%;
}
.pad_036_002 {
     padding-top: 12%;
}
.pad_037 {
     background: linear-gradient(180deg, #68ba5d 0px, #68ba5d 15px, #ffffff 15px, #ffffff 100%);
     width: 100%;
     margin-top: 30px;
}
.pad_038_000 {

}
.pad_038_001 {
	background-image: url("../images/kaso_ornament_001.png?20170625-1200");
	background-repeat: no-repeat;
	background-position: center top;
     background-size: 97% auto;
}
.pad_038_002 {
	background-image: url("../images/kaso_ornament_002.png?20170625-1200");
	background-repeat: no-repeat;
	background-position: center top;
     background-size: 97% auto;
}
.pad_039 {
     padding-top: 8.5%;
     padding-bottom: 1%;
     padding-left: 6%;
     padding-right: 6%;
}
.pad_040 {
     padding-left: 5%;
     padding-right: 5%;
}



.con_07 {
     width: 100%;
}
.con_08 {
     display: block;
     border-top: 1px #000000 solid;
     border-bottom: 1px #000000 dotted;
     text-align: center;
     font-size: 105%;
     font-weight: 700;
     padding-top: 4.5%;
     padding-bottom: 4.5%;
}
.con_09 {
     display: block;
     font-size: 100%;
     line-height: 220%;
     font-weight: 400;
     padding-top: 4.5%;
     padding-bottom: 12%;
     padding-left: 5%;
     padding-right: 2%;
     text-align: center;
}
.con_09 a {
     color: #000000;
     text-decoration: underline;
}
.con_09 a:hover {
     color: #000000;
     text-decoration: none;
}
.con_09 a:visited {
     color: #000000;
     text-decoration: underline;
}
.con_09_001 {
     padding-top: 3%;
}
.con_10 {
     padding-left: 10%;
     padding-right: 10%;
}
.con_10_002 {
     padding-left: 10%;
     padding-right: 10%;
     padding-top: 22%;
     padding-bottom: 30%;
}
.con_11 {
     padding-top: 5%;
     padding-bottom: 2.5%;
}
.con_12 {
     border: 1px #5C5C5C dotted;
     font-size: 75%;
     line-height: 185%;
     padding-left: 5%;
     padding-right: 5%;
     padding-top: 4%;
     padding-bottom: 4%;
}
.pad10 {
     font-size: 80%;
}




.navi_001 {
     width: 100%;
     background-color: #ffffff;
}
.navi_002 {

}
.navi_003 {

}
.navi_003 ul {
     display: table;
     width: 100%;
     margin: 0; 
     padding: 0;
     background-color: #ffffff;
}


.navi_003 .li_001 {
     display: table-cell;
     width: 30%;
     padding: 0;
     vertical-align: middle;
     padding-top: 8px;
     padding-bottom: 10px;
     border-right: 1px rgba(0,0,0,0.3) solid;
     border-bottom: 1px rgba(0,0,0,0.3) solid;
}
.navi_003 .li_002 {
     display: table-cell;
     padding: 0;
     vertical-align: middle;
     padding-top: 8px;
     padding-bottom: 10px;
     border-bottom: 1px rgba(0,0,0,0.3) solid;
}
.navi_003 .li_003 {
     display: table-cell;
     width: 25%;
     padding: 0;
     vertical-align: middle;
     padding-top: 15px;
     padding-bottom: 10px;
     border-right: 1px rgba(0,0,0,0.3) solid;
     border-bottom: 1px rgba(0,0,0,0.3) solid;
}
.navi_003 .li_003_a {
     display: table-cell;
     width: 12.5%;
     padding: 0;
     vertical-align: middle;
     padding-top: 15px;
     padding-bottom: 10px;
     border-right: 1px rgba(0,0,0,0.3) solid;
     border-bottom: 1px rgba(0,0,0,0.3) solid;
}
.navi_003 .li_003_b {
     display: table-cell;
     padding: 0;
     vertical-align: middle;
     padding-top: 15px;
     padding-bottom: 10px;
     border-bottom: 1px rgba(0,0,0,0.3) solid;
}
.navi_003 .li_003_c {
     display: table-cell;
     width: 25%;
     padding: 0;
     vertical-align: middle;
     padding-top: 15px;
     padding-bottom: 10px;
     border-bottom: 1px rgba(0,0,0,0.3) solid;
}
.navi_003 .li_003_d {
     display: table-cell;
     width: 20%;
     padding: 0;
     vertical-align: middle;
     padding-top: 15px;
     padding-bottom: 10px;
     border-right: 1px rgba(0,0,0,0.3) solid;
     border-bottom: 1px rgba(0,0,0,0.3) solid;
}
.navi_003 .li_004 {
     display: table-cell;
     width: 30%;
     padding: 0;
     vertical-align: middle;
     padding-top: 8px;
     padding-bottom: 10px;
     border-right: 1px rgba(0,0,0,0.3) solid;
     border-bottom: 1px rgba(0,0,0,0.3) solid;
}


.navi_003 .li_a a {
     display: block;
     margin: 0 auto;
     text-decoration: none;
     color: #000000;
     text-align: center;
     transition: 1s;
}
.navi_003 .li_a a:hover {
     opacity: 0.4;
     transition: 1s;
}


.navi_004 {
     font-size: 150%;
     line-height: 150%;
}
.navi_005 {
     font-size: 50%;
     font-weight: 500;
     letter-spacing: 0.2em;
}
.navi_006 {
     font-size: 45%;
     font-weight: 500;
     letter-spacing: 0.05em;
     padding-top: 4px;
}
.navi_007 {
     font-size: 65%;
}



#smpwrapper {
     font-family: 'Zen Maru Gothic', sans-serif;
	text-shadow: none !important;
	font-feature-settings: "palt" 1;
}


.keyvisual_smp_001 {
	background-image: url("../images/pc_img_001_3000.jpg?20170627-1208");
	background-repeat: repeat-x;
	background-position: center top;
     background-size: auto 100%;
     animation-name: scroll-header-bg;
     animation-duration: 700s;                  /*3秒で画像1枚分スクロールする*/
     animation-timing-function: linear;       /*再生速度を一定にする*/
     animation-iteration-count: infinite;
}
@keyframes scroll-header-bg {
    0% {
        background-position: 0 0;            /*初期値を設定する*/
    }

    100% {
        background-position: -25000px 0;      /*画像サイズに合わせて変更する（負号で左スクロール）*/
    }
}



  .main_imgBox {
    width: 100%;
    height: 90vh;
    overflow: hidden;
    position: relative;
  }
  
  

@media only screen and (min-width: 750px) {
  .main_imgBox_002 {
    width: 100%;
    height: 1400px;
    overflow: hidden;
    position: relative;
  }
  .main_movie {
    z-index: 10;
    opacity: 0;
    width: 100%;
    height: 1400px;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime_movie 36s 0s infinite;
    animation: anime_movie 36s 0s infinite;
  }
  .main_movie video {
    width: 100%;  /* 明示的に幅を設定（必須） */
    height: 100%; /* 明示的に高さを設定（必須） */
    object-fit: cover; /* コンテンツボックスに収まるように拡大縮小 */
  }  
}
@media only screen and (min-width: 499px) and (max-width: 750px) {
  .main_imgBox_002 {
    width: 100%;
    height: 780px;
    overflow: hidden;
    position: relative;
  }
  .main_movie {
    z-index: 10;
    opacity: 0;
    width: 100%;
    height: 780px;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime_movie 36s 0s infinite;
    animation: anime_movie 36s 0s infinite;
  }
  .main_movie video {
    width: 100%;  /* 明示的に幅を設定（必須） */
    height: 100%; /* 明示的に高さを設定（必須） */
    object-fit: cover; /* コンテンツボックスに収まるように拡大縮小 */
  }  
}
@media only screen and (min-width: 375px) and (max-width: 499px) {
  .main_imgBox_002 {
    width: 100%;
    height: 680px;
    overflow: hidden;
    position: relative;
  }
  .main_movie {
    z-index: 10;
    opacity: 0;
    width: 100%;
    height: 680px;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime_movie 36s 0s infinite;
    animation: anime_movie 36s 0s infinite;
  }
  .main_movie video {
    width: 100%;  /* 明示的に幅を設定（必須） */
    height: 100%; /* 明示的に高さを設定（必須） */
    object-fit: cover; /* コンテンツボックスに収まるように拡大縮小 */
  }  
}
@media only screen and (max-width: 375px) {
  .main_imgBox_002 {
    width: 100%;
    height: 580px;
    overflow: hidden;
    position: relative;
  }
  .main_movie {
    z-index: 10;
    opacity: 0;
    width: 100%;
    height: 580px;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime_movie 36s 0s infinite;
    animation: anime_movie 36s 0s infinite;
  }
  .main_movie video {
    width: 100%;  /* 明示的に幅を設定（必須） */
    height: 100%; /* 明示的に高さを設定（必須） */
    object-fit: cover; /* コンテンツボックスに収まるように拡大縮小 */
  }  
}
  
  
  
  
  .main_log {
    z-index: 12;
    position: absolute;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: auto;
  }
  .main_bgb {
    z-index: 11;
    position: absolute;
    bottom: 0;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: auto;
  }
  .main_img {
    z-index:10;
    opacity: 0;
    width: 100%;
    height: 90vh;
    overflow: hidden;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime_movie 36s 0s infinite;
    animation: anime_movie 36s 0s infinite;
  }
  .main_img:nth-of-type(2) {
      -webkit-animation-delay: 6s;
      animation-delay: 6s;
  }
  .main_img:nth-of-type(3) {
      -webkit-animation-delay: 12s;
      animation-delay: 12s;
  }
  .main_img:nth-of-type(4) {
      -webkit-animation-delay: 18s;
      animation-delay: 18s;
  }
  .main_img:nth-of-type(5) {
      -webkit-animation-delay: 24s;
      animation-delay: 24s;
  }
  .main_img:nth-of-type(6) {
      -webkit-animation-delay: 30s;
      animation-delay: 30s;
  }


@keyframes anime {
    0% {
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    17% {
        opacity: 1;
    }
    25% {
        opacity: 0;
         transform: scale(1.2);
                    z-index:9;
    }
    100% { opacity: 0 }
}

@-webkit-keyframes anime {
    0% {
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    17% {
        opacity: 1;
    }
    25% {
        opacity: 0;
         -webkit-transform: scale(1.2);
            z-index:9;
    }
    100% { opacity: 0 }
}


@keyframes anime_movie {
    0% { opacity: 1 }
    100% { opacity: 1 }
}

@-webkit-keyframes anime_movie {
    0% { opacity: 1 }
    100% { opacity: 1 }
}



.button_001 {
    padding-top: 6%;
    padding-left: 9%;
    padding-right: 9%;
}
.button_001 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 100%;
    padding: 12px 8px;
    color: #000000;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    z-index:0;
    border: rgba(0,0,0,1) 2px solid;
    text-decoration: none;
    font-size: 130%;
    line-height: 170%;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.05em;
}


.button_002_001 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 100%;
    padding: 15px 8px;
    color: #000000;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    z-index:0;
    border: rgba(0,0,0,1) 2px solid;
    text-decoration: none;
    font-size: 120%;
    line-height: 170%;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.01em;
}
.button_002_002 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 100%;
    padding: 12px 8px;
    color: #000000;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    z-index:0;
    border: rgba(0,0,0,1) 1px solid;
    text-decoration: none;
    font-size: 130%;
    line-height: 170%;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.01em;
}


.button_003 {

}
.button_003 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 100%;
    padding: 12px 8px;
    color: #000000;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    z-index:0;
    border: rgba(0,0,0,1) 2px solid;
    text-decoration: none;
    font-size: 120%;
    line-height: 170%;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.01em;
}


.button_004 {
    padding-top: 9%;
    padding-left: 9%;
    padding-right: 9%;
}
.button_004 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 100%;
    padding: 9px 6px;
    color: #000000;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    z-index:0;
    border: rgba(0,0,0,1) 2px solid;
    text-decoration: none;
    font-size: 100%;
    line-height: 170%;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.01em;
}



.molkky_anime_smp_001 {
	background-image: url(../images/molkky_anime_smp_001.jpg?20170628-1202);
	background-repeat: no-repeat;
	background-position: center top;
     background-size: 100% auto;
	width: 100%;
	overflow: hidden;
}
.rolling {
     animation: star-rotate 6s infinite;
}
@keyframes star-rotate {
  0% {
     transform: rotate3d(0);
  } 
  50% {
     transform: rotate3d(0,1,0,1440deg);
  }
  100% {
     transform: rotate3d(0,1,0,1440deg);
  }
}
.molkky_001 {
     padding-top: 8.5%;
     padding-bottom: 7%;
     padding-left: 11%;
     padding-right: 11.5%;
}
.molkky_002 {
     padding-left: 2%;
     padding-right: 2%;
}
.molkky_003 {
     padding-top: 12%;
     padding-left: 1%;
     padding-right: 1%;
}
.molkky_004 {
     float: left;
     width: 49%;
     margin: 0.5%;
     color: #ffffff;
     background-color: #07913a;
     text-align: center;
     padding-top: 3%;
     padding-bottom: 3%;
     font-size: 110%;
     font-weight: 500;
     letter-spacing: 0.1em;
}
.molkky_004 a {
     color: #ffffff;
     text-decoration: none;
}
.molkky_004 a:hover {
     color: #ffffff;
     text-decoration: none;
}
.molkky_004 a:visited {
     color: #ffffff;
     text-decoration: none;
}
.molkky_005 {
     color: #07913a;
     text-align: center;
     margin-top: 10%;
     padding-top: 3%;
     padding-bottom: 3%;
     font-size: 135%;
     font-weight: 900;
     letter-spacing: 0.2em;
     border-top: 2px #07913a solid;
     border-bottom: 1px #07913a dotted;
}
.molkky_006 {
     padding-top: 8%;
     padding-bottom: 0.5%;
     text-align: left;
}
.molkky_006_002 {
     padding-top: 3%;
     padding-bottom: 3%;
}
.molkky_007 {
     width: 100%;
     float: left;
}
.molkky_007_002 {
     padding-top: 5.5%;
}
.molkky_008 {
     width: 100%;
     float: right;
}
.molkky_008_001 {
     width: 100%;
     float: right;
     padding-top: 5.5%;
     font-size: 105%;
     line-height: 195%;
     font-weight: 400;
     letter-spacing: 0.02em;
}
.molkky_008_002 {
     padding-top: 5.5%;
     font-size: 105%;
     line-height: 195%;
     font-weight: 400;
}
.molkky_009 {
     font-size: 110%;
     line-height: 195%;
     font-weight: 400;
     text-align: center;
}
.molkky_009_002 {
     padding-top: 6%;
     padding-left: 8%;
     padding-right: 8%;
}
.molkky_009_003 {
     font-size: 160%;
     line-height: 195%;
     font-weight: 800;
     text-align: center;
	color: #07913a;
     padding-top: 7%;
}
.molkky_009_004 {
     font-size: 90%;
     line-height: 195%;
     font-weight: 600;
     text-align: center;
	color: #07913a;
     padding-top: 1%;
     letter-spacing: 0.15em;
}
.molkky_009_005 {
     padding-top: 8%;
     padding-bottom: 4%;
     padding-left: 5%;
     padding-right: 5%;
}
.molkky_009_006 {
     font-size: 145%;
     line-height: 150%;
     font-weight: 800;
     text-align: center;
     letter-spacing: 0.05em;
     padding-top: 3.5%;
}
.molkky_009_007 {
     font-size: 120%;
     line-height: 195%;
     font-weight: 600;
     text-align: center;
     padding-top: 1%;
     letter-spacing: 0.05em;
	color: #07913a;
}
.molkky_009_008 {
     font-size: 90%;
     line-height: 200%;
     font-weight: 400;
     text-align: center;
     padding-top: 1%;
     padding-bottom: 5%;
     letter-spacing: 0.05em;
	color: #07913a;
}


.molkky_010 {
     padding-top: 3%;
}
.molkky_011 {
     width: 100%;
     border: 1px #000000 solid;
}
.molkky_012 {
     color: #ffffff;
     background-color: #000000;
     border-left: 1px #000000 solid;
     border-right: 1px #000000 solid;
     border-bottom: 1px #000000 solid;
     text-align: center;
     font-size: 105%;
     font-weight: 500;
     letter-spacing: 0.2em;
     padding-top: 2.3%;
     padding-bottom: 2.3%;
}
.molkky_013 {
     color: #000000;
     border-left: 1px #000000 solid;
     border-right: 1px #000000 solid;
     border-bottom: 1px #000000 solid;
     text-align: center;
     font-size: 105%;
     font-weight: 500;
     letter-spacing: 0.1em;
     padding-top: 2.3%;
     padding-bottom: 2.3%;
}
.molkky_013_001 {
     color: #000000;
     border-left: 1px #000000 solid;
     border-right: 1px #333333 dotted;
     border-bottom: 1px #000000 solid;
     text-align: center;
     font-size: 80%;
     font-weight: 500;
     letter-spacing: 0.1em;
     padding-top: 2.3%;
     padding-bottom: 2.3%;
     width: 50%;
}
.molkky_013_002 {
     color: #000000;
     border-right: 1px #333333 dotted;
     border-bottom: 1px #000000 solid;
     text-align: center;
     font-size: 80%;
     font-weight: 500;
     letter-spacing: 0.1em;
     padding-top: 2.3%;
     padding-bottom: 2.3%;
}
.molkky_013_003 {
     color: #000000;
     border-right: 1px #333333 dotted;
     border-bottom: 1px #000000 solid;
     text-align: center;
     font-size: 100%;
     font-weight: 500;
     letter-spacing: 0.1em;
     padding-top: 5%;
     padding-bottom: 7%;
}
.molkky_013_004 {
     padding-left: 6%;
     padding-right: 6%;
}
.molkky_013_005 {
     font-size: 120%;
}
.molkky_013_006 {
     font-size: 120%;
}
.molkky_013_007 {
     font-size: 70%;
     line-height: 180%;
     padding-top: 6%;
}
.molkky_013_008 {
     padding-top: 6%;
     padding-bottom: 3%;
     padding-left: 9%;
     padding-right: 9%;
}
.molkky_013_009 {
     color: #000000;
     border-left: 1px #000000 solid;
     border-right: 1px #333333 dotted;
     border-bottom: 1px #000000 solid;
     text-align: center;
     font-size: 80%;
     font-weight: 500;
     letter-spacing: 0.1em;
     padding-top: 2.8%;
     padding-bottom: 2.8%;
     width: 45%;
}
.molkky_013_010 {
     color: #000000;
     border-right: 1px #333333 dotted;
     border-bottom: 1px #000000 solid;
     text-align: left;
     font-size: 80%;
     font-weight: 400;
     letter-spacing: 0.1em;
     padding-top: 2.8%;
     padding-bottom: 2.8%;
     padding-left: 4.5%;
     padding-right: 2.3%;
}
.molkky_013_011 {
     padding-top: 7%;
     padding-bottom: 8%;
     padding-left: 15%;
     padding-right: 15%;
}


.molkky_014 {
     font-size: 60%;
     vertical-align: 0.2em;
}
.molkky_015 {
     font-size: 120%;
}
.molkky_016_001 {
     color: #000000;
     border-left: 1px #000000 solid;
     border-right: 1px #333333 dotted;
     border-bottom: 1px #000000 solid;
     text-align: center;
     font-size: 70%;
     font-weight: 500;
     letter-spacing: 0.1em;
     padding-top: 4.5%;
     padding-bottom: 4.5%;
     width: 22%;
}
.molkky_016_002 {
     color: #000000;
     border-right: 1px #333333 dotted;
     border-bottom: 1px #000000 solid;
     text-align: left;
     font-size: 70%;
     font-weight: 400;
     letter-spacing: 0.1em;
     padding-top: 4.5%;
     padding-bottom: 4.5%;
     padding-left: 4%;
     padding-right: 0.5%;
}
.molkky_017 {
     vertical-align: 0.1em;
     letter-spacing: 0.1em;
     padding-top: 5%;
     text-align: center;
     font-size: 50%;
}
.molkky_017_002 {
     vertical-align: 0.1em;
     letter-spacing: 0.05em;
     padding-top: 2.5%;
     text-align: center;
     font-size: 80%;
}
.molkky_018_sns_004 {
     padding-top: 5%;
     padding-bottom: 5%;
     padding-left: 6%;
     padding-right: 6%;
     background-color: #07913a;
     color: #ffffff;
}
.molkky_018_sns_004_002 {
     padding-top: 5%;
     padding-bottom: 5%;
     padding-left: 6%;
     padding-right: 6%;
     background-color: #07913a;
     color: #ffffff;
}
.molkky_018_sns_005 {
     font-size: 180%;
     margin-right: 4.2%;
}
.molkky_018_sns_006 {
     font-size: 125%;
     margin-right: 1%;
     vertical-align: 0.03em;
     letter-spacing: 0.05em;
     font-weight: 700;
}
.molkky_018_sns_007 {
     font-size: 80%;
     vertical-align: 0.3em;
     letter-spacing: 0.2em;
     font-weight: 600;
}
.molkky_018_sns_008 {
     width: 80%;
     float: left;
     text-align: left;
}
.molkky_018_sns_009 {
     width: 20%;
     float: right;
     text-align: right;
}
.molkky_018_sns_010 {
     padding-top: 18%;
}


.molkky_019 {
     padding-top: 8%;
}
.molkky_019_002 {
     padding-top: 8%;
}
.molkky_020 {
     padding-top: 2%;
}
.molkky_020_002 {
     padding-top: 8%;
}
.molkky_021 {
     padding-top: 8%;
}
.molkky_022 {
     padding-bottom: 10%;
}
.molkky_023 {
     padding-bottom: 3%;
}
.molkky_024 {
     padding-bottom: 6%;
}
.molkky_024_002 {
     padding-left: 6%;
     padding-right: 6%;
     padding-bottom: 1%;
}
.molkky_025 {
     font-size: 40%;
     vertical-align: 0.3em;
     letter-spacing: 0.1em;
}
.molkky_026 {
     padding-bottom: 12%;
     padding-left: 10%;
     padding-right: 10%;
     background: #6fba2c;
}
.molkky_027 {
     font-size: 70%;
     font-weight: 500;
     letter-spacing: 0.1em;
     padding-top: 6%;
     text-align: center;
}
.molkky_028 {

}
.molkky_029 {

}
.molkky_030 {
     padding-left: 2%;
     padding-right: 2%;
}
.molkky_031 {
     background-color: #6fba2c;
}
.molkky_032 {
	padding-left: 11%;
	padding-right: 11%;
	padding-bottom: 12%; 
}


.molkky_033 {
	padding-top: 5.5%;
}
.molkky_034 {
	padding-top: 5.5%;
	padding-bottom: 7%; 
	padding-left: 5%;
	padding-right: 5%;
}
.molkky_035 {
     font-size: 180%;
     line-height: 140%;
     font-weight: 600;
     letter-spacing: 0.05em;
     text-align: center;
}
.molkky_036 {
     font-size: 100%;
     line-height: 195%;
     font-weight: 400;
	padding-top: 3%;
}
.molkky_037 {
	padding-top: 6%;
}
.molkky_038 {
	padding: 1%;
     width: 48%;
     float: left;
}
.molkky_039 {
	padding-top: 1%;
	padding-bottom: 1%; 
	padding-left: 2.2%;
	padding-right: 1.7%;
     font-size: 40%;
     border: 1px #000000 solid;
     margin-right: 3%;
     vertical-align: 0.65em;
}



.speechBubble {
     position: relative;
     display: inline-block;
     margin-top: 10px;
     padding: 16px;
     border: 1px solid #000000;
     background-color: #ffffff;
     text-align: left;
     color: #000000;
}
.speechBubble::before {
     content: "";
     position: absolute;
     top: 0;
     left: 50%;
     border-style: solid;
     border-width: 0 7.5px 10px 7.5px;
     border-color: transparent transparent #000000;
     translate: -50% -100%;
}
.speechBubble::after {
     content: "";
     position: absolute;
     top: 0;
     left: 50%;
     border-style: solid;
     border-width: 0 6.3px 8.3px 6.3px;
     border-color: transparent transparent #ffffff;
     translate: -50% -100%;
}


.classpad10 {


}



.classpad11 {
	padding-left: 8%;
	padding-right: 8%;
	padding-top: 6%; 
	padding-bottom: 0.5%; 
}
.classpad11_02 {
	padding-left: 11%;
	padding-right: 11%;
	padding-bottom: 5%; 
}

.classpad12 {
	width: 100%;
	color: #ffffff;
	background-color: #07913a;
}
.classpad13 {
	padding-top: 4%;
	padding-bottom: 4%;
	padding-left: 4%;
	padding-right: 4%;
}
.classpad14 {
	font-size: 120%;
	font-weight: 700;
}
.classpad15 {
	font-size: 50%;
	font-weight: 400;
     vertical-align: 0.1em;
}



.bg_slide {
     width: 100%;
     padding-top: 120px;
     background: url("../images/slide_001.png?20170624-1233");
     background-size: 1500px 120px;
     animation: bg_slide2 30s linear infinite;
}
@keyframes bg_slide2 {
       0% { background-position: 0 0;}
     100% { background-position: -1500px 0;}
}


 
.movie {
	display: block;
	position: relative;
	width: 100%;
	padding-top: calc(9 / 16 * 100%);
	margin: auto;
	background-size: contain;
}
.movie .tvo-video {
	position: absolute;
	width: 100%;
	height: 100%;
	top:0 ;
	right: 0;
}


	
#______m01smp {
     display: block;
     padding-top: 152%;
	margin-top: -152%;
}
#______m02smp {
     display: block;
     padding-top: 19.5%;
	margin-top: -19.5%;
}
	

#pagetop_smp {
     position: fixed;
     bottom: 5px;
     right: 103px;
     width: 50px;
     height: 50px;
     z-index: 89;
}
#pagetop_smp_002 {
     position: fixed;
     bottom: 5px;
     right: 4px;
     width: 50px;
     height: 50px;
     z-index: 89;
}
#pagetop_003_smp {
     position: fixed;
     bottom: 5px;
     right: 5px;
     width: 100px;
     height: 87px;
     z-index: 89;
}


#entry_smp {
    position: fixed;
    bottom: 6px;
    right: 4px;
    width: 100px;
    height: 100px;
    z-index: 99;
}
#entry_smp img {
    width: 100%;
    height: auto;
    animation: anime1 0.6s ease 0s infinite alternate;
    transform-origin:center;
}
@keyframes anime1 {
    from {
       transform: scale(0.9,0.9);
    }
    to {
       transform: scale(1,1);
    }
}



.punipuni {
    animation: puning 0.6s ease 0s infinite alternate;
    transform-origin: center;
}
@keyframes puning {
    from {
       transform: scale(0.9,0.9);
    }
    to {
       transform: scale(1,1);
    }
}



.fixed {
	position: fixed;
	top: 0px;
}


.copy-guard {
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
    touch-callout:none;
    user-select:none;
}


.background-hack_001 {
    z-index                 : -2;
    background-image        : url('../images/smp_img_005.jpg?20190628-1426');
    background-repeat       : no-repeat;
    background-size         : 100% auto;
    position                : fixed;
    top                     : 0;
    left                    : 0;
    right                   : 0;
    bottom                  : 0;
}
.background-hack_002 {
    z-index                 : -1;
    background-image        : url('../images/smp_img_004.png?20190628-1426');
    background-repeat       : no-repeat;
    background-size         : 100% auto;
    position                : fixed;
    top                     : 0;
    left                    : 0;
    right                   : 0;
    bottom                  : 0;
}



@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 100;
  src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans JP';
   font-style: normal;
   font-weight: 300;
   src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-DemiLight.woff2) format('woff2'),

url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-DemiLight.woff) format('woff'),

url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-DemiLight.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans JP';
   font-style: normal;
   font-weight: 400;
   src: local('NotoSansJP-Regular.otf'),

url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),

url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),

url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans JP';
   font-style: normal;
   font-weight: 500;
   src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff2) format('woff2'),

url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans JP';
   font-style: normal;
   font-weight: 700;
   src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans JP';
   font-style: normal;
   font-weight: 900;
   src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.otf) format('opentype');
} 




}