@import url(base.css);
a:hover {
  opacity: 1;}

img {
  display: inline-block;}

.pc {
  display: none !important;}

.fit {
  width: 100%;
  height: auto;}
.fit80 {
  width: 80%;
  height: auto;
  margin: 0 auto;
  text-align: center;}
.fit20 {
  width: 20%;
  height: auto;
  margin: 0 auto;
  text-align: center;}

html{ scroll-behavior: smooth;scroll-padding-top: 11vw;}

/*-------------------------------------------------
	++ BASE
-------------------------------------------------*/
body {
  font-size: 3.6vw;}

#container {
  margin: 0 auto;
  text-align: center;
  position: relative;
  overflow-x: hidden;}

.cInner,
.cInner2 {
  display: block;
  clear: both;
  padding: 7% 3vw;
  margin: 0 auto;
  text-align: left;
  position: relative;}

#contents {
  margin: 0 auto;
  text-align: center;
  background: #FFF;}

/*-------------------------------------------------
	++ HEAD
-------------------------------------------------*/
#header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  height: 11vw;}
.header {
  background: rgba(17, 139, 59, 0.9);
  transition: all 0.5s ease;}
.hidden {
  background: rgba(17, 139, 59, 1);
  transition: all 0.5s ease;} 
#header #logo {
  display: block;
  padding: 1vw;
  float: left;}
#header #logo img {
  display: block;
  height: 8vw;
  width: auto;}

#header #menu .menuBtn {
  position: absolute;
  top: 1.5vw;
  right: 1vw;
  width: 8vw;
  height: 8vw;}
#header #menu .menuBtn img {
  width: 100%;
  height: auto;}
#header #menu .menuContents {
  display: none;
  background: #07913b;
  position: fixed;
  top: 11vw;
  right: 0;
  width: 100%;
  text-align: left;}
#header #menu .menuContents ul li {
  display: block;
  line-height: 150%;
  font-size: 4.2vw;
  position: relative;
  border-bottom: 1px solid #ffffff;}
#header #menu .menuContents ul li a {
  display: block;
  text-decoration: none;
  padding: 2.5vw 10vw 2.5vw 7vw;
  position: relative;
  color: #FFF;
  font-weight: 500;}
#header #menu .menuContents ul li a:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 5vw;
  width: 2vw;
  height: 2vw;
  margin: -1.5vw 0 0 0;
  border-top: solid 1px #FFF;
  border-right: solid 1px #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);}

/*-------------------------------------------------
	++ MAIN
-------------------------------------------------*/
#main {
    position: relative;
    padding-top: 11vw;
    background-image: url(../img/main_bk.jpg);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0;}
#main .dairiten {
    width: 25%;
    position: absolute;
    top: 11vw;
    right: 0;
    z-index: 999;}

.mainInner {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 95%;
    margin: 0 auto;}
.mainImg {
    order: 2;
    width: 100%;
    margin: 5% auto;}
.mainTxt {
    order: 1;
    width: 100%;
    margin: 5% 0 0 0;
    text-align: left;}
.catch {
    font-size: 9vw;
    font-weight: bold;
    color: #118b3b;
    line-height: 1.3em;
    margin: 2% auto 0 auto;
    text-align: center;}
#main p {
    display: block;
    color: #FFFFFF;
    font-size: 4.2vw;
    font-weight: bold;
    padding: 0;}

.campaignBtn {
    float: left;
    width: 100%;
    margin: 10px 0;
    padding: 10px 0;
    background-color: #ffae00;
    border-radius: 10px;}
.campaignBtn a {
    display: block;
    color: #ffffff;
    font-weight: bold;
    font-size: 5vw;
    line-height: 1.5em;
    text-align: center;}
.campaignBtn a:link,.campaignBtn a:visited {color:#ffffff;text-decoration:none;}
.campaignBtn a:hover,.campaignBtn a:active {color:#ffffff;text-decoration:none;}

/*-------------------------------------------------
	++ BTN
-------------------------------------------------*/
.btnDownload {
    width: 80%;
    border-radius: 10px;
    margin: 5% auto 0 auto;
    background-color: #ffae00;}
.btnDownload a {
    display: block;
    color: #FFF;
    padding: 0;
    font-size: 4vw;
    line-height: 2.5em;
    text-align: center;
    font-weight: bold;
    text-decoration:none;}

.btnOrange {
  margin: 0 auto;
  text-align: center;
  padding: 0;
  margin: 2% 0 4% 0;}
.btnOrange a {
  display: inline-block;
  width: 100%;
  background-color: #FF9601;
  color: #FFF;
  padding: 2vw 0;
  border-radius: 25px;
  font-size: 4.6vw;
  font-weight: bold;}
.btnOrange a:hover {
  text-decoration: none;}
.btnOrange a:link,.btnOrange a:visited {color:#FFF;text-decoration:none;}
.btnOrange a:hover,.btnOrange a:active {color:#FFF;text-decoration:none;}

/*-------------------------------------------------
	++ TOP
-------------------------------------------------*/
.WhiteBg {
  padding: 30px 0 40px 0;
  background-color: #FFF;}
.BlueBg {
  padding: 30px 0 40px 0;
  background-color: #E3F1F2;}
.txtS {font-size: 3vw;}
.txtS2 {
    font-size: 3vw; text-align: center;}
.txtRed {
    font-size: 4vw;
    font-weight: bold;
    color: #FF0000;}
.txtRed2 {
    font-size: 5vw;
    font-weight: bold;
    color: #FF0000;
    text-align: center;}

h3 {
  font-size: 5vw;
  line-height: 1.3em;
  margin-bottom: 2vw;
  padding: 8px 0;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  border-radius: 50px;
  background-color: #118b3b;}
h4 {
    font-size: 4.5vw;
    line-height: 1.8em;
    color: #118b3b;
    font-weight: bold;
    text-align: left;
    padding: 5px;
    margin: 0 auto 10px auto;}
h5 {
    color: #ff0000;
    font-size: 4.5vw;
    font-weight: bold;
    text-align: center;
    margin: 0 auto;
    line-height: 1.5em;
    padding: 0 0 10px 0;}
h6 {
    color: #333;
    font-size: 3.8vw;
    font-weight: bold;
    text-align: center;
    margin: 0 auto;
    padding: 0;}

#flexbox {
	display:flex; 
	flex-wrap: wrap;
	width: 100%;
	height:auto;
	padding:0px;
	margin: 0px auto;}
.dx_packageGBox {
    width: 100%;
    border: 2px #118b3b solid;
    border-radius: 15px;
    text-align: center;
    font-size: 4vw;
    line-height: 1.5em;
    font-weight: bold;
    padding: 10px 0;
    margin-bottom: 10px;}

.RedBox,
.RedBox2,
.RedBox3 {
    display: flex;
    align-items: stretch;
    flex-direction: row;
    width: 100%;
    border: 1px #e50012 solid;
    margin-bottom: 20px;}
.RedBoxTtl,
.RedBox2Ttl,
.RedBox3Ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15%;
    background-color: #e50012;
    color: #FFFFFF;}
.OrangeBox,
.OrangeBox2 {
    display: flex;
    align-items: stretch;
    flex-direction: row;
    width: 100%;
    border: 1px #f5a900 solid;
    margin-bottom: 20px;}
.OrangeBoxTtl,
.OrangeBox2Ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15%;
    background-color: #f5a900;
    color: #FFFFFF;}
.OrangeBox3 {
    display: flex;
    align-items: stretch;
    flex-direction: row;
    width: 100%;
    border: 1px #ff8100 solid;
    margin-bottom: 20px;}
.OrangeBox3Ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 15%;
    background-color: #ff8100;
    color: #FFFFFF;}
.RedBoxTxt,
.RedBox2Txt,
.OrangeBoxTxt,
.RedBox3Txt,
.OrangeBox2Txt,
.OrangeBox3Txt {
    width: 85%;
    padding: 10px 5px;}

.itemL,
.itemR,
.itemL2 {width: 100%;}
.itemR2 {width: 100%;text-align: center;margin: 20px auto 0 auto;}
.itemL3 {width: 20%;margin-right: 2%;}
.itemR3 {width: 78%;}


.itemBoxTemplate {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    flex-direction: column;
    width: 100%;
    text-align: left;
    padding:0;
    margin: 10px 0;
    border: 2px #118b3b solid;
    border-radius: 15px;}
.itemBoxBTtl {
    background-color: #118b3b;
    text-align: center;
    color: #FFFFFF;
    font-size: 4vw;
    font-weight: bold;
    line-height: 2.5em;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;}
.itemBoxInner {
    padding: 15px 10px;}
.TemplateTxtL {
    font-size: 7vw;
    font-weight: bold;
    text-align: center;
    line-height: 1.8em;}
.TemplateTxtL span {
    font-size: 4vw;}
.TemplateTxtL span.red {
    font-size: 7vw;
    color: #FF0000;}
.TemplateTxtL span.delL {
    font-size: 7vw;
    text-decoration-line: line-through;
    text-decoration-style:solid;
    text-decoration-color: red;}
.TemplateTxtL span.delS {
    font-size: 4vw;
    text-decoration-line: line-through;
    text-decoration-style:solid;
    text-decoration-color: red;}

.privacyLinkTxt {
    text-align: center;
    font-size: 3.2vw;
    margin: 0 auto 5% auto;}

.listDisc {
	margin:0;}
.listDisc li {
	text-align: left;
	line-height: 1.5em;
	list-style-type:none;
	padding: 0 0 0 1.0em;
	text-indent: -1.0em;}
	
.youtubeBox, .pdfBox {
    width: 100%;}
.youtube {
    position: relative;
    padding-top: 56.25%;
    overflow: hidden;
    border: 5px #DBDBDB solid;
    margin: 10px 0px;}
.youtube iframe, .pdf iframe {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;}

.youtube_ph img {
	width:90%;
	margin:0px auto;
	text-align:center;}
.youtube_not_sp {
	display: none;}
.youtube_sp {
	display: block;}
	
.pdfBox {
	width:100%;}
.pdf {
	position:relative;
	overflow: hidden;
	border:5px #DBDBDB solid;
	margin:30px 0 5px 0;}
.pdf iframe {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;}

.BtnPDF {
    width: 100%;
    margin: 20px auto;
    text-align: center;}
.BtnPDF img {
    width: 100%;}

/*-------------------------------------------------
	++ FOOTER
-------------------------------------------------*/
#footer {
  background-color: #118b3b;
  color: #FFF;
  font-size: 3.5vw;
  padding: 3vw 0;}
#footer .copy {
  margin: 0px;}
#footer .copy a {
  color: #FFF;}

#pageTop {
    position: fixed;
    bottom: 5vw;
    right: 5vw;
    width: 14vw;
    height: 14vw;}
.spCover {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9996;}