﻿@import url('https://fonts.googleapis.com/css2?family=Pacifico&display=swap');
.font1,
.top_cms_title p,
.page_title p{
    font-family: 'Pacifico', cursive;
}

.linkStyle{
    color:#bf9d74;
}
.linkStyle:hover{
    transition:all 0.3s;
    opacity:0.7;
    text-decoration:underline;
}





/*--all page---------------------------
-------------------------------------*/
#body{
    overflow:hidden;
}
.bg_dot1{
    background-image   : none;
}
.bg_dot2 {
  background-image   : radial-gradient(rgba(255, 255, 255, 0.30) 5%, transparent 11%),
                       radial-gradient(rgba(255, 255, 255, 0.30) 5%, transparent 11%);
  background-position: 0 0, 35px 35px;
  background-size    : 70px 70px;
}
.logo img {
    max-width: 400px;
}
#info .info_txt p{
    color:#fff!important;
}
footer{
    background-color: #0C9463!important;
}
#menu_wrap .sns_links{
    background-color:transparent!important;
}

/*--top page---------------------------
-------------------------------------*/
#header nav li{
    border-right:0;
}
#header nav li a{
    font-weight:normal;
    color:#fff;
}
#main_img #slide{
    border-top-right-radius:20px;
    border-bottom-right-radius:20px;
}
#main_img  .filter{
    position:absolute;
    top:0;
    left:0;
    width:80%;
    height:90vh;
    min-height:800px;
    background-color:rgba(255,255,255,0.1);
    border-top-right-radius:20px;
    border-bottom-right-radius:20px;
    pointer-events:none;
    z-index:2;
}
#main_img .catch{
    margin-top:-200px;
}
#main_img .catch h2{
    text-shadow:none;
}
#main_img .catch h2::after{
    display:none;
}
#main_img .catch_sub_txt{
    font-size:8rem;
    line-height:1;
    transform:rotate(-8deg) translate(-100px,-30px);
    color:#edc944;
}
#contents .item1{
    bottom:-8%;
    right:8%;
    z-index:1;
    width:10vw;
}
#contents .item2{
    bottom:-14%;
    left:3%;
    width:18vw;
}
#contents .item3{
    bottom:-8%;
    right:7%;
    width:9vw;
}

.zoomIn{
  animation-name:zoomInAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
  from {
  transform: scale(0.6);
  opacity: 0;
  }

  to {
    transform: scale(1);
  opacity: 1;
  }
}
.zoomInTrigger{
    opacity: 0;
}
.contents_img figure{
    border-radius:10px;
}
.top_cms_title p{
    font-size:3rem;
    line-height:1.5;
    color: #0C9463;
    position:relative;
}
.top_cms_title p::before{
    content:'';
    position:absolute;
    display:block;
    width:74px;
    height:23px;
    background-image:url(./Dup/img/cms_item.png);
    background-repeat:no-repeat;
    top:-20px;
    left:0;
    right:0;
    margin:auto;
}
.ellipsis{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
   max-height: 15em;
  -webkit-line-clamp: 10;
  line-height: 1.5em;
}

/*--under page---------------------------
-------------------------------------*/
.page_title::before{
    content:'';
    position:absolute;
    display:block;
    width:15vw;
    height:20vh;
    background-image:url(./Dup/img/page_title.png);
    background-repeat:no-repeat;
    background-size:contain;
    right:-2%;
    bottom:-1%;
    z-index:1;
}
.page_title p{
    font-size:2rem;
    color: #0C9463;
    letter-spacing:0;
}


/*cms_5-c*/
.cms_5-c .box_title1,.cms_5-c .box_txt1,
#cms_5-c .box_title1,#cms_5-c .box_txt1 {
	position: relative;
	padding: 0.5em;
	box-shadow: 0px 1px 1px rgba(0,0,0,0.2);
	border-radius: 0.3em;
}
.cms_5-c .box_title1,
#cms_5-c .box_title1 {
	margin: 0 3em 1em 3em;
	background: #f9f1b7;
	color:#333;
}
.cms_5-c .box_txt1,
#cms_5-c .box_txt1 {
	margin: 0 3em 3em 3em;
	background: #0C9463;
	color:#fff;
}
/* 吹き出し▶︎ */
.cms_5-c .box_title1::before,.cms_5-c .box_txt1::before,
#cms_5-c .box_title1::before,#cms_5-c .box_txt1::before{
	position: absolute;
	z-index: 99;
	top: 1.5em;
	display: inline-block;
	width: 0;
	height: 0;
	content: '';
	border-style: solid;
}
/* 質問吹き出し▶︎ */
.cms_5-c .box_title1::before,
#cms_5-c .box_title1::before {
	left: -0.3em;
	border-width: 5px 8.7px 5px 0;
	border-color: transparent #f9f1b7 transparent transparent;
}
/* 答え吹き出し▶︎ */
.cms_5-c .box_txt1::before,
#cms_5-c .box_txt1::before {
    left:auto;
	right: -0.3em;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #0C9463;
}
/* ?!アイコン */
.cms_5-c .box_title1::after,.cms_5-c .box_txt1::after,
#cms_5-c .box_title1::after,#cms_5-c .box_txt1::after {
	content:'';
	position: absolute;
	top: 0;
	display: inline-block;
	width: 80px;
	height: 80px;
    background-repeat:no-repeat;
    background-size:100% 100%;
}
/* ?アイコン */
.cms_5-c .box_title1::after,
#cms_5-c .box_title1::after {
	left: -5.5em;
	margin: 0 0.5em 0 0;
	background-image:url(./Dup/img/q.png);
	
}
/* !アイコン */
.cms_5-c .box_txt1::after,
#cms_5-c .box_txt1::after {
	right: -6.5em;
	margin: 0 0 0 0.5em;
	background-image:url(./Dup/img/a.png);
}



/* ---------- responshive ---------- */
@media screen and (max-width: 1790px){
#main_img .catch_sub_txt{
    font-size:7rem;
}
}

@media screen and (max-width: 1580px){
#main_img .catch_sub_txt{
    font-size:6rem;
}
}

@media screen and (max-width: 1370px){
#main_img .catch_sub_txt{
    font-size:5rem;
}
}

@media screen and (max-width: 920px){
#main_img .catch_sub_txt{
    font-size:4rem;
}
}



/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
header{
    padding-top:10px!important;
    padding-bottom:0!important;
}
.logo img{
    width:350px;
    max-width:350px;
}
#main_img .filter{
    width:90%;
    top:30px;
    left:5%;
    height:60vh;
    min-height:500px;
    border-radius:20px;
}
#main_img .catch {
    margin-top: -145px;
}
#main_img .catch_sub_txt{
    transform:rotate(-8deg) translate(-160px,-30px);
}
#contents .contents_box .contents_txt .box{
    padding-right:50px;
}
#contents .contents_box:nth-of-type(2) .contents_txt .box{
    padding-left:50px;
}

#contents .item1{
    right:1%;
    width:18vw;
}
#contents .item2{
    left:-3%;
    width:30vw;
}
#contents .item3{
    width:15vw;
}
.cms_5-c .box_title1, #cms_5-c .box_title1{
    margin:0 4em 1em 4em;
}
.cms_5-c .box_txt1, #cms_5-c .box_txt1{
    margin:0 4em 3em 4em;
}
#menu_wrap .sns_links{
    margin-bottom:50px;
}
.page_title::before{
    width:25vw;
    height:14vh;
}
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
header{
    padding-left:10px!important;
}
.logo img{
    width:250px;
    max-width:250px;
}
#main_img .catch_sub_txt{
    font-size:2.5rem;
    transform:rotate(-8deg) translate(-25px,-8px);
}
#main_img .catch{
    margin-top:-10px;
}
#main_img .catch h2{
    margin-bottom:10px;
    text-align:center;
    color:white;
}
#main_img .filter{
    height:50vh;
    min-height:240px;
    border-radius:30px;
}
#main_img #slide{
    border-radius:30px;
}
.top_cms_title p{
    font-size:2rem;
}
#contents .item1{
    width:27vw;
}
#contents .item2{
    left:auto;
    right:0;
    width:42vw;
}
#contents .item3{
    width:21vw;
    right:1%;
}
.cms_5-c .box_title1::after, .cms_5-c .box_txt1::after,
#cms_5-c .box_title1::after, #cms_5-c .box_txt1::after{
    width:70px;
    height:70px;
}
.cms_5-c .box_title1::after, #cms_5-c .box_title1::after{
    left:-5em;
}
.cms_5-c .box_txt1::after, #cms_5-c .box_txt1::after{
    right:-5.5em;
}
#menu_wrap .sns_links{
    margin-bottom:20px;
}
.page_title::before{
    width:29vw;
    right:-7%;
    bottom:-20%;
}
.page_title p{
    font-size:1.2rem;
    padding-left:0;
}
}

/* ---------- IEの処理 ---------- */
@media all and (-ms-high-contrast: none){

}


