﻿/*facebook追加*/
#facebook_box{
    width: 500px;
    text-align: center;
    margin: 0 auto;
}
@media screen and (max-width: 667px){
    #facebook_box{
        width: 90%;
        margin-bottom: 30px;
    }
}

/*LINEバナー追加*/
.head_line img{
    width: 70%;
    margin-top: 20px;
}
.head_line a{
    background-color: #00b900;
    border-top: 2px solid #e8ffe8;
}
.head_line a:hover{
    background-color: #8edd62;
}

/* タブレット -----------------*/
@media screen and (max-width: 768px){
    .head_line img{
        width: 50%;
        margin: 0;
    }
    
    header .head_banner{
        width: 50%;
        margin: 0;
    }
    header .head_banner.head_line{
        left: auto;
        right: 0;
    }
    header .head_banner.head_line a{
        border:none;
    }
}
/* スマホ -----------------*/
@media screen and (max-width: 667px){
    .head_line img {
        position: absolute;
        width: 80%;
        margin: 0;
        bottom: 50px;
        right: 5px;
    }
}

/*修正対応*/
.program{
    display: block;
    background-color: #fff;
    border-radius: 10px;
    border: 2px solid #1b9bcc;
    margin: 0 auto 30px;
    width: calc(100% - 20px);
    text-align: center;
    padding: 10px;
}

.fa-envelope:before{content: "\f075";}
#contact_mail .fa-envelope:before{content: "\f0e0";}
.more a{border-radius: 25px;}
#main_menu ul li a::before{height: 2px;}
#page10 ul li a{box-shadow: 3px 5px 12px rgba(0, 127, 147, 0.3);border-radius: 5px;}
.footer_cms{
    background: rgba(255, 255, 255, .7);
    padding: 3%;
    border-radius: 15px;}

.cms_title h2:first-letter{
    font-size: 90px;
    transform: rotate(15deg);
}
.cms_title h2{
    background: url(./Dup/img/dec11.png) no-repeat;
    background-size: contain;
    background-position: center center;
    background-repeat:no-repeat;
}
.cate_list li a{
    box-shadow: 3px 3px 10px rgba(126, 186, 196, 0.4);
}
.cate_list li a:hover{
    background-color: #603813;
}
.pager li a:hover{background-color: #ff5850;}
#page7 .box {
    border-color: #f01e41;
}
#page9 h3{
    border-color: #ff802c;
}
header{position:relative;}
header:before {
    display: none;
    /*content: " ";*/
    /*position: absolute;*/
    /*display: inline-block;*/
    /*width: 104px;*/
    /*height: 140px;*/
    /*background: url(./Dup/img/menu01.png) no-repeat;*/
    /*background-size: cover;*/
    /*left: 55px;*/
    /*bottom: 85px;*/
    /*z-index: 0;*/
    /*opacity: 1;*/
}

/*メインイメージ --------------------------------*/
.scroll_bt{z-index: 10;}
#main_img img{min-height: auto;}
#main_img{
    background: url(./Dup/img/main02.png) no-repeat;
    background-size: cover;
    background-position: center top;
    background-repeat:no-repeat;
}
.main1{
    /*max-width: 350px;*/
    width: 100%;
    bottom: 0px;
    left: 0;
    z-index: 3;
}
.main3{
    max-width: 400px;
    width: 30%;
    bottom: 10px;
    z-index: 2;
    
	transform: translateX(-20%);
	transition: transform 3s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.main4{
    max-width: 230px;
    width: 22%;
    bottom: 0px;
    left: 26%;
    z-index: 2;
    
	transform: translate(30%, 30%);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.main5{
    max-width: 190px;
    width: 18%;
    bottom: 60px;
    left: 10%;
    z-index: 2;
    
    animation: ani_main5 3s infinite ease-in-out alternate;
}
.main6{
    max-width: 150px;
    width: 18%;
    bottom: 50%;
    right: 20%;
    z-index: 2;
    
    animation: ani_main5 3s infinite ease-in-out alternate;
}
.catch {
    z-index: 1;
    position: absolute;
    top: 50px;
    left: 50%;
    /*transform: translate(-50%, 50%);*/
    width: 75%;
    
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
	transform: translate(-50%, 50%) scale(0.3);
}
.main3.start_main1{
    transform: translateX(50%);
    opacity: 1;
}
.main4.start_main2{
    transform: translate(0%, 0%) rotate(-14deg);
    opacity: 1;
}
.catch.start_main3{
    transform: translate(-50%, 0) scale(1);
    opacity: 1;
}
.main5{
	transform: translateY(20px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.main5.start_main4{transform: translateY(0);opacity: 1;}
@keyframes ani_main5{
	0% {transform:translate(0, 0) rotate(-7deg);}
	50% {transform:translate(0, -7px) rotate(0deg);}
	100% {transform:translate(0, 0) rotate(7deg);}
}
/* メインのタブレット -----------------*/
    @media screen and (max-width: 768px){
        .main6{bottom: 45%;max-width: 130px;}
        .main5{bottom: 30px;}
}
/* メインのスマホ  -----------------*/
@media screen and (max-width: 667px){
    .catch{width: 95%;top: 30px;}
    .main6{bottom: 40%;}
}

/*下層ページタイトル --------------------------------*/
#page_title .title_img::before{display:none;}
#page_title h2{position:relative;z-index:2;}
#page_title h2{
    background: url(./Dup/img/dec11.png) no-repeat;
    background-size: contain;
    background-position: center center;
    background-repeat:no-repeat;
}
#page_title::before{
    content: "";
    background-image: url(./Dup/img/dec04.png);
    width: 220px;
    height: 220px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 60px;
    left: 280px;
    z-index: 1;
    
        animation: type2 3s infinite ease-in-out alternate;
}
#page_title::after{
    content: "";
    background-image: url(./Dup/img/dec03.png);
    width: 100px;
    height: 100px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 200px;
    right: 100px;
    z-index: 1;
    
    animation: ani_main5 3s infinite ease-in-out alternate;
}
#page_title .title_img{background-position: top center;opacity:0.6;}
/* 下層ページタイトルのタブレット -----------------*/
    @media screen and (max-width: 768px){
        #page_title::before{
            width: 200px;
            height: 200px;
            top: 100px;
            left: 30px;
        }
        #page_title::after{
            right: 60px;
        }
        #page_title .title_img{height: 290px;}
        #page_title .page_box{padding: 0;}
    }
/* 下層ページタイトルのスマホ  -----------------*/
@media screen and (max-width: 667px){
    #page_title::before{
        width: 100px;
        height: 100px;
        top: 80px;
    }
    #page_title::after{
        width: 80px;
        height: 80px;
        right: 25px;
    }
    #page_title .page_box{padding: 20px 0 0;}
    #page_title .title_img{height: 110px;}
}
/*TOPCMSのイラスト-------------------------------------*/
.dec9{
    max-width: 50px;
    width: 15%;
    top: 15px;
    left: 15%;
    z-index: 2;
    
    animation: type5 2.5s infinite ease-in-out alternate;
}

.dec10{
    max-width: 70px;
    width: 15%;
    top: 15px;
    right: 15%;
    z-index: 2;
    
    animation: type4 2.5s infinite ease-in-out alternate;
}

.dec8{
    max-width: 100px;
    width: 15%;
    top: 50px;
    z-index: 2;
    
    animation: type5 2.5s infinite ease-in-out alternate;
}
.in3{
    right: 0;
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.in3.start3{right:15%;opacity: 1;}

/*ひよこがひょっこり出てくる-----------------------------*/
.dec7{
    max-width: 140px;
    width: 100%;
    top: 90px;
    left: 0px;
}
.in2{
    transform: translateX(-140px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 1;
}
.in2.start2{transform: translateX(-60px);opacity: 1;}


/*contentsタイトル --------------------------------*/
.con_no::before{display:none;}
#contents3 .con_no{
    background: #fff;
    padding: 2% 20px;
    border-radius: 26px;
}

.txt3, #contents2 p{margin-top: 80px;}
.dec5{
    max-width: 60px;
    width: 100%;
    bottom: 20px;
    left: 3%;
    
    animation: type5 3s infinite ease-in-out alternate;
}
.dec6{
    max-width: 60px;
    width: 100%;
    bottom: 60px;
    right: 2%;
    
    animation-delay: 0.3s;
    animation: type4 3s infinite ease-in-out alternate;
}

.con1{
    max-width: 470px;
    width: 100%;
    top: 40px;
    left: 50%;
    transform: translate(-50%, 0)!important;
    z-index: 3;
    
    animation-delay: 1s;
    animation: type3 3s infinite ease-in-out alternate;
}
@keyframes type3 {
	0% {transform:translate(-50%, 0) rotate(0deg);}
	50% {transform:translate(-50%, 0px) rotate(0deg);}
	100% {transform:translate(-50%, 0) rotate(0deg);}
}

.con2{
    max-width: 470px;
    width: 100%;
    top: -70px;
    left: 0;
    
    animation: type4 3s infinite ease-in-out alternate;
}
@keyframes type4 {
	0% {transform:translate(0, 0) rotate(0deg);}
	50% {transform:translate(0, 7px) rotate(0deg);}
	100% {transform:translate(0, 0) rotate(0deg);}
}
@keyframes type5 {
	0% {transform:translate(0, 10px) rotate(0deg);}
	50% {transform:translate(0, 0px) rotate(0deg);}
	100% {transform:translate(0, 10px) rotate(0deg);}
}


/*アニメーション  --------------------------------*/

.dec3{ /*★*/
    max-width: 100px;
    width: 15%;
    top: 50px;
    right: 10%;
    z-index: 2;
}
.dec4{ /*太陽*/
    max-width: 130px;
    width: 15%;
    top: 30px;
    left: 10%;
    z-index: 2;
}
.in{
	transform: translateY(20px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.in.start{transform: translateY(0);opacity: 1;}


.anim_type1 {animation: type1 3s infinite ease-in-out alternate;}
@keyframes type1 {
	0% {transform: scale(1)rotate(0deg)translateY(0px);}
	25% {transform: scale(1)rotate(-10deg)translateY(7px);}
	50% {transform: scale(1)translateY(0px);}
	75% {transform: scale(1)rotate(10deg)translateY(7px);}
	100% {transform:scale(1)rotate(0deg)translateY(0px);}
}
.anim_type2 {animation: type2 3s infinite ease-in-out alternate;}
@keyframes type2 {
	0% {transform: scale(0.9)rotate(-10deg);}
	100% {transform:scale(1.1)rotate(10deg);}
}


#attach{position:relative;}
#attach::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url("../dup/img/dec01.png");
	background-size: auto 100%;
	background-position-y: 0;
	background-position-x: 0;
	background-repeat: repeat-x;
	animation: loop 40s linear infinite;
}
@keyframes loop {
	0% {background-position-x: 0;}
	100% {background-position-x: -1000px;}
}



/*アニメーション関連・タブレット ----------------------------------------------------------------*/
@media screen and (max-width: 768px){
    .dec3{max-width: 80px;right: 5%;}
    .dec4{max-width: 100px;left: 5%;}
    .dec5{max-width: 50px;bottom: 35px;}
    .dec6{max-width: 50px;}
    .dec9{max-width: 40px;left: 20%;}
    .dec10{max-width: 54px;right: 20%;}
}
/*アニメーション関連・スマホ --------------------------------------------------------------------*/
@media screen and (max-width: 667px){
    .txt3{margin-top: 150px;}
    #contents1{padding: 50px 10% 100px;}
    .con1{top: 70px;}
    .dec4{max-width: 120px;}
    .dec3{top: 140px;}
    .dec5{max-width: 40px;}
    .dec6{max-width: 40px;}
    #contents2{padding: 70px 0% 150px;}
    #contents2 p{margin-top: 30px;padding:0 10%;}
    .dec7{max-width: 110px;}
    .dec8{max-width: 130px;width: 20%;top: -15px;right: 5%;}
    .dec9{width: 11%;top: -55px;left: 5%;}
    .dec10{top: 70px;right: 4%;}
}


/*文字  --------------------------------*/
#contents1 h2, #contents2 h2, #contents3 h2{
    font-family: 'Kiwi Maru', serif;
}
.con_no,
.top_cms_box h2,
#main_menu ul li a,
#page_title h2,
#page10 ul li a{
    /*font-family: 'Cabin Sketch', cursive;*/
    /*font-family: 'Chelsea Market', cursive;*/
    /*font-family: 'Fredericka the Great', cursive;*/
    /*font-family: 'Fuzzy Bubbles', cursive;*/
    /*font-family: 'Love Ya Like A Sister', cursive;*/
    /*font-family: 'Nanum Pen Script', cursive;*/
    font-family: 'Single Day', cursive;
}
#page10 ul li a{
    font-size: 22px;
}
#main_menu ul li a{
    font-size: 28px;
}
.top_cms_box h2,
#page_title h2{
    font-size: 60px;
}
/* スマートフォン*/
@media screen and (max-width: 667px){
    #page_title h2{
        font-size: 35px;
    letter-spacing: 0.1em;
    }
}

/*配色 --------------------------------*/
.txt_color3{color: #a87d73;}
.border_color1{border-color: #65c13c;}
.border_color3{border-color: #603813;}
.border_color4{border-color: #48cde7;}
.bg_color1{background-color: #65c13c;}
.bg_color2{background-color: #fff;}
.bg_color3{background-color: #ff6658;}
.hvr_bg_color1:hover{background-color: #8edd62;}
.button:hover::after{box-shadow:inset 0 0 0 15em #239949;}

/*カラフルにする*/
.font1, #main_menu ul li a.font1, .top_cms_box h2.font1{color: #f01e41;}
.font2, #main_menu ul li a.font2, .top_cms_box h2.font2{color: #65c13c;}
.font3, #main_menu ul li a.font3, .top_cms_box h2.font3{color: #1ac9cc;}
.font4, #main_menu ul li a.font4, .top_cms_box h2.font4{color: #ff802c;}
.font5, #main_menu ul li a.font5, .top_cms_box h2.font5{color: #fd6ab6;}
#main_menu ul li a.font1::before{background-color: #f01e41;}
#main_menu ul li a.font2::before{background-color: #65c13c;}
#main_menu ul li a.font3::before{background-color: #1ac9cc;}
#main_menu ul li a.font4::before{background-color: #ff802c;}
#main_menu ul li a.font5::before{background-color: #fd6ab6;}

/*その他の色 -----*/
.cate_box, #cms_6-a .box_wrap,
#page7, #page8, #page9{
    background:#fff;}

/* 自動リンク設定 */
.linkStyle{
	color:#ee2245;
	text-decoration: underline;
	transition: all 0.5s;
}
.linkStyle:hover{
	color:#ee2245;
	opacity: 0.7;
	text-decoration: none;
}

/*サイトマップ ----------------------*/
#page10 li a:hover{
    background-color: #ff8fc9;
}

/*問い合わせ ------------------------*/
#contact_tel a,#contact_mail a,#contact_line a{
    color: #5883a7;
}
#contact_tel,#contact_mail{
    background-color: #c4f6ff;
    border-radius: 15px;
    border: none;
}
#contact_line{
    border: none;
}
#contact_line a{
    padding: 0px;
}
/* スマホ */
@media screen and (max-width: 667px){
    #contact_tel a i,#contact_mail a i,#contact_line a i{
        display: block;
    }
    #contact_mail a{font-size: 19px;}
}

/*ニュース ---------------------------*/
#cms_1-b .date{
    background-color: #ff5850;
    border-radius: 11px 11px 0px 0px;
}
#cms_1-b .cate_box{
    border: 2px solid #ff5850;
    border-radius: 15px;
}
#cms_1-b .box_title1{
    border-bottom: 2px dotted #ff5850;
}

/*アバウト ---------------------------*/
#cms_2-b .cate_box{
    border-radius: 15px;
    border: 2px solid #65c13c;
}
#cms_2-b .box_title1{
    border-bottom: 2px dotted #65c13c;
}

/*プログラム -------------------------*/
#cms_6-a .cate_title{background-color: #1b9bcc;}
#cms_6-a .box_wrap,#cms_6-a .cate_box{border-color: #1b9bcc;}
#cms_6-a .box_wrap{border-radius: 15px;}

.link_type2 .cate_box{
    background: transparent;
}
.link_type2 .cate_box a {
    color: #fff;
    border-radius: 15px;
    box-shadow: 10px 25px 30px rgb(0 0 0 / 8%);
    padding: 70px 20px;
    width: 98%!important;
}
.link_type2 .cate_box a:before, .link_type2 .cate_box a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(93,200,100,0.7);
    z-index: 1;
}
.link_type2 .cate_box a:after {
    top: 100%;
    background-color: #1ac9cc;
    transition: 0.5s;
	z-index: 3;
	
	background-image: url(./Dup/img/dec02.png);
	background-size: cover;
}
.link_type2 .cate_box a:hover:after {
    top: 0;
}
.link_type2 .cate_box .txt_wrap {
    z-index: 2;
}
.link_type2 .more {
	letter-spacing: 3px;
    box-sizing: border-box;
	opacity: 0;
	transition: opacity .8s;
	z-index: 4;
}

.link_type2 .cate_box a:hover .more {
    opacity: 1;
}

/*スタッフ-------------------------*/
.cms_6-b .cate_title,
#cms_6-b .cate_title{
    background-color: #ff6565;
}
.cms_6-b .box_txt1,
#cms_6-b .box_txt1{
    background-color: #ff9fcc;
}
.cms_6-b .box_txt1:nth-child(even),
#cms_6-b .box_txt1:nth-child(even){
    background-color: #1ac9cc;
}

.cms_6-b .cate_box, .cms_6-b .cate_box .box_txt1, .cms_6-b .cate_box .box_txt2, .cms_6-b .cate_box:first-of-type,
#cms_6-b .cate_box, #cms_6-b .cate_box .box_txt1, #cms_6-b .cate_box .box_txt2, #cms_6-b .cate_box:first-of-type{
    border-color: #d7f4fc;
}


.v_type3 .cate_title{
    background-color: #ffb42c;
}
.v_type3 .cate_box{
    border: 2px solid #ff802c;
    border-radius: 15px;
}
.v_type3 .box_title1{
    color: #ff802c;
    font-size: 22px;
}

/*スタッフTOP-------------------------*/
.topcms_about_type1 {counter-reset: box 0;padding-top: 35px;}
.topcms_about_type1 .cate_box {
	width: 31%!important;
	padding: 25px 25px;
	background-color: #fff;
	border-radius: 10px;
	box-sizing: border-box;
}
.topcms_about_type1 .number {
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 90px;
}
.topcms_about_type1 .box_img1{
    border-radius: 50%;
}
.topcms_about_type1 .cate_box .box_title1{font-size: 18px;line-height: 1.6;z-index: 1}

/*タブレット */
@media screen and (max-width: 768px){
.topcms_about_type1 .box_img1{margin:0 80px;}
.topcms_about_type1 .cate_box {
	margin: 0 auto 100px;
	width: 90%!important;
}
.topcms_about_type1 .cate_box:last-of-type {
	margin-bottom: 0;
}
}
/*スマートフォン */
@media screen and (max-width: 667px){
.topcms_about_type1 .box_img1{margin:auto;}
.topcms_about_type1 .cate_box {
	width: 90%!important;
	padding: 50px 25px 25px;
}
.topcms_about_type1 .number::before{
	font-size: 59px;
	top: -34px;
}
.topcms_about_type1 .number::after{
	width: 72%;
}
}

/*ブログ --------------------------*/
.topcms_news_type4 .box_img1{
    border-radius: 15px 15px 0px 0px;
}
.topcms_news_type4 .cate_box:hover{
    transform: translateY(-7px);
}
.topcms_news_type4 .cate_box{
    transition: all 0.5s;
	width: 30.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
}
.topcms_news_type4 .cate_box{
    border-radius: 15px;
	background-color: #fff;
	padding: 0;
	box-shadow: 10px 25px 30px rgb(0 0 0 / 8%);
	/*border-top: 2px solid #c68080;*/
}
.topcms_news_type4 .txt_height{
	height: 3em
}
.topcms_news_type4 .box_title1:empty{
	display: block!important;
}
/*  タブレット  */
@media screen and (max-width: 768px){
.topcms_news_type4 .cate_box {width: 30%!important;}
}
/* スマートフォン*/
@media screen and (max-width: 667px){
.topcms_news_type4 .cate_box {width: 90%!important;margin: 0 auto 30px;}
}



/*背景 ------*/
main::before {
    content: " ";
    position: fixed;
    display: inline-block;
    width: 100vw;
    height: 100%;
    background: url(./Dup/img/bg1.jpg) no-repeat;
    background-size: cover;
    left: 0px;
    top: 0px;
    z-index: -2;
}
footer{
    position:relative;
    border-top: 0px solid!important;
    padding: 200px 10% 30px;
}
footer::before {
    content: " ";
    position: absolute;
    display: inline-block;
    width: 100%;
    height: 100%;
    background: url(./Dup/img/bg2.png) no-repeat;
    background-size: cover;
    left: 0px;
    bottom: 0px;
    z-index: -1;
}
/* スマホ */
@media screen and (max-width: 667px){
    footer::before{
        bottom: auto;
        top: 0;
        height: 25%;
    }
    footer{background: linear-gradient(0deg, rgb(195 226 73) 75%, rgba(255, 153, 108, 0) 80%);}
}

/*  ------*/
/* CMSマージンパディング・文字調整 */
#page7, #page8, #page9{
    padding: 3%;
    border-radius: 15px;
}
/* タブレット */
    @media screen and (max-width: 768px){
    #page7 .box_item.grid_3{
        width: 30%!important;
    }
    #page7 .box_item.grid_9{
        width: 70%!important;
    }
    #top_cms > .box{
        padding: 50px 5%;
    }
    #main_img{
        height: 600px;
    }
    .main_box{
        padding-top: 59px!important;
    }
    .hamburger{top:10px;}
    footer{
        padding: 200px 10% 45px;
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    article.page_wrap{
        padding: 50px 5% 0px;
    }
    #page7 .box_item.grid_3,#page7 .box_item.grid_9{
        width: 100%!important;
    }
    footer{
        padding: 150px 10% 120px;
    }
    .main_box {
    padding-top: 48px!important;
    }
    #main_img {
        height: 350px;
    }
    #tel_txt{margin-top: 0px;}
    .hamburger{top: 4px;}
    

}
/*テンプレート ------*/
@media screen and (max-width: 667px){
    .more a{
        width: 250px;
    }
}