/*  CSS Document  */
@charset "utf-8";
/*================================================================================================

	メディアクエリ設定（全て統一）

================================================================================================*/
/* ▼ PC CSS Start ▼ */
@media(min-width:769px){
/*================================================================================================

	ドロップダウンメニュー

================================================================================================*/
    
#headerWrap {
  z-index: 2;
}
#videoWrap {
  z-index: 1;
  position: relative;
}
.gnavi__list {
  position: relative;
}
.dropdown__lists {
    display: none;/*デフォルトでは非表示の状態にしておく*/
    width: 100%;
    position: absolute;
    top: 90px;
    left: 0;
}
.gnavi__list:hover .dropdown__lists {
    display: block;/*Gナビメニューにホバーしたら表示*/
}
.dropdown__list {
    background-color: #00a9de;
    width: 300%;
    transition: all .3s;
    position: relative;
    margin-left: -100%;
}
.dropdown__list:not(:first-child)::before{
    content: "";
    width: 100%;
    height: 1px;
    background-color: #3492d1;
    position: absolute;
    top: 0;
    left: 0;
}
.dropdown__list:hover {
    background-color: #0276c6;
}
.dropdown__list a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    position: relative;
    padding: 0 !important;
    color: #fff !important;
}
.dropdown__list a::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    position: absolute;
    right: 15px;
    top: calc(50% - 5px);
}
    
/*================================================================================================

	基本設定【各コンテンツ共通】

================================================================================================*/
*{font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
body{
	font-size:80%;
	line-height:160%;
	color:#333333;
    letter-spacing:0.05em;
}
html>/**/body {font-size:14px; line-height:180%;}

html{width:100%; height:100%;}
body{width:100%; height:100%; background:#ffffff;}

div#all{
	position: relative;
    z-index: 0;
	min-height:100%;
	/* height:auto; */
    /* height:auto !important; */
	height:100%;
	margin:0 auto;
	width:100%;
	min-width: 1040px;
}

/* web font */
.wf-roundedmplus1c {
    font-family: "M PLUS Rounded 1c";
    font-family: "M PLUS Rounded 1c" !important;
    transform: rotate(0.03deg);         /* シャギーを防ぐ指定 */
    font-weight: 900;
}


/* body > #all{height:auto;} */

a:link, a:visited, a:active ,button:active{color:#0b94e3;}
a , button{color:#0b94e3; text-decoration:underline; overflow:hidden; outline:none;}
a:hover, button:hover{text-decoration:none; color:#0b94e3;}

input,textarea{
	margin:0;
	padding:0;
	border:0;
	font-size:120%;
	font-weight:normal;
	vertical-align:baseline;
	color:#555555;
}

/*i phoneのinput タグの装飾リセット*/
input[type="submit"], input[type="button"]{-webkit-appearance: none;}
input{position:relative; top:-1px;}
input[type="submit"]{cursor:pointer;}
textarea{resize:vertical;overflow:hidden;}
select{font-size:100%}
label{cursor:pointer;}
input[type="button"],input[type="text"],input[type="tel"],input[type="email"],input[type="url"],textarea{-webkit-appearance:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
input[type="button"],input[type="text"],input[type="tel"],input[type="email"],input[type="url"],textarea{outline:none;border:1px #f2f2f2 solid;background:#f2f2f2;-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;border-radius:6px;padding:14px 20px 16px;font-size:100%;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease}
input[type="button"]:hover,input[type="text"]:hover,input[type="tel"]:hover,input[type="email"]:hover,input[type="url"]:hover,textarea:hover{border:#0b94e3 1px solid;background:#fff;}
input[type="button"]:focus,input[type="text"]:focus,input[type="tel"]:focus,input[type="email"]:focus,input[type="url"]:focus,textarea:focus{border:#0b94e3 1px solid;background:#fff;}


/*スマホのみ改行*/
.br-sp {display: none; }

/*================================================================================================

	header【各コンテンツ共通】  layout ヘッダー

================================================================================================*/
#headerWrap{
	width: 100%;
    min-width: 1040px;
	height:auto;
    position: relative;
}

.header-pc{
    width: 100%;
    min-width: 1040px;
    height:auto;
    /*position: fixed;*/
    z-index: 95;
    background: #ffffff;
  -webkit-filter:drop-shadow(0px 1px 0px rgba(0, 0, 0, 0.1));
  -moz-filter:drop-shadow(0px 1px 0px rgba(0, 0, 0, 0.1));
  -ms-filter:drop-shadow(0px 1px 0px rgba(0, 0, 0, 0.1));
  filter:drop-shadow(0px 1px 0px rgba(0, 0, 0, 0.1));
}

.header-inner-top{
    width: 980px;
    margin: 0 auto;
    padding: 6px 0 0px;
    font-size: 14px;
    line-height: 22px;
}

.heder-inner-top-left{
    float: left;
    padding: 7px 0 0 0;
}

.heder-inner-top-right{
    float: right;
}
.heder-inner-top-right a {
    display: inline-block;
    color: #333333;
    padding-left: 10px;
}

.heder-inner-top-right .headerFacebook,
.heder-inner-top-right .headerYoutube{
    width: 38px;
    height: auto;
}

.heder-inner-top-right .headerFacebook img,
.heder-inner-top-right .headerYoutube img{
    width: 100%;
    height: auto;
}

.heder-inner-top-right .headerFacebook img:hover,
.heder-inner-top-right .headerYoutube img:hover{
    opacity: 0.8;
}

.header-inner{
    width: 980px;
    margin: 0 auto;
    padding: 0px 0 0px;
    position: relative;
    z-index: 9999;    
}

.header-inner .logo{
  width: 180px;
  height: 140px;
  background-color: #ffffff;
  border-radius: 50%;
  color: #fff;
  text-align: center;
    position: absolute;
    top:0px;
    left: 0px;
    z-index: 9999;
}

.header-inner .logo a img{
    width: 150px;
    height: auto;
    padding-top: 10px;
    display: block;
    padding-left: 15px;
}

.header-inner .nav-group{
    width: 700px;
    float: left;
    padding-top: 20px;
    padding-bottom: 0;/*hideo edit*/
    padding-left: 170px
}

.header-inner .nav-group__item{
    float: left;
    list-style: none;
    margin: 0 0 0 30px;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
    font-weight: bold;
    text-align: center;
}

.header-inner .nav-group__item01 a{
    width: 170px;
    background-image:url(../../img/common/icon_01.png);
    background-size: 50px auto;
    background-repeat: no-repeat;
    background-position: top center;
}
.header-inner .nav-group__item02 a{
    width: 160px;
    background-image:url(../../img/common/icon_02.png);    
    background-size: 56px auto;
    background-repeat: no-repeat;
    background-position: top center;    
}
.header-inner .nav-group__item03 > a{ /*hideo edit*/
    width: 100px;    
    background-image:url(../../img/common/icon_03.png);    
    background-size: 50px auto;
    background-repeat: no-repeat;
    background-position: top center;        
}
.header-inner .nav-group__item04 a{
    width: 130px;        
    background-image:url(../../img/common/icon_04.png);    
    background-size: 50px auto;
    background-repeat: no-repeat;
    background-position: top center;        
}

.header-inner .nav-group__item a {
    color: #333333;
    position: relative;
    display: block;
    text-decoration: none;
    line-height: 40px;
    z-index: 98;
    padding: 50px 0 0;
}

.header-inner .nav-group__item01 a::after {
    position: absolute;
    bottom: 0px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #fd7923;
    opacity: 0;
    visibility: hidden;
    transition: .4s;
}
.header-inner .nav-group__item02 a::after {
    position: absolute;
    bottom: 0px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #00a6df;
    opacity: 0;
    visibility: hidden;
    transition: .4s;
}
.header-inner .nav-group__item03 a::after {
    position: absolute;
    bottom: 0px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #66c104;
    opacity: 0;
    visibility: hidden;
    transition: .4s;
}
.header-inner .nav-group__item04 a::after {
    position: absolute;
    bottom: 0px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #fc3935;
    opacity: 0;
    visibility: hidden;
    transition: .4s;
}

.header-inner .nav-group__item a:hover::after {
    bottom: 4px;
    opacity: 1;
    visibility: visible;
}

.header_offer{
    width: 100px;
    position: absolute;
    top:5px;
    right: 0px;
}

.header_offer img{
    width: 100%;
}

.header_offer a:hover{
    opacity: 0.8;
}

/*================================================================================================

    スマホヘッダー（PCでは非表示） layout フッター

================================================================================================*/

.header-mobile{
    display: none !important;
    display: none;
}

/*================================================================================================

	footer layout【各コンテンツ共通】フッター

================================================================================================*/
#footerWrap{
	width: 100%;
    min-width: 1040px;
	padding: 30px 0 0px;
	margin:120px auto 0;
    background-image:url(../../img/common/com_footerBg-1.jpg);
    background-size: auto auto;
    background-repeat: repeat-x;
    background-position: top center;
    background-color: #c2deea;
}

.footerInner{
    width: 980px;
    margin: 0 auto;
    padding: 100px 0 0;
    position: relative;
}


.addressLogo{
    width: 160px;
    position: absolute;
    right:0px;
    bottom:20px;
}

.addressLogo img{
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.addressLogo2{
    width: 180px;
    position: absolute;
    right:163px;
    bottom:21px;
}

.addressLogo2 img{
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.addressInfo h1{
    font-size: 14px;
    line-height: 28px;
    text-align: center;
    margin: 12px auto 0;
    font-weight: 500;
}

.footerSns{
    width: 120px;
    position: absolute;
    bottom:210px;
    right: 12px;
}

.footerSns a{
    display: block;
}
.footerSns a:hover{
    opacity: 0.8;
}
.footerSns img{
    width: 100%;
    display: block;
}
.footerSns .footerFacebook{
    width: 50px;
    float: left;
}

.footerSns .footerYoutube{
    width: 50px;
    float: right;
}

.footerLink {
	width: 320px;
	text-align: left;
    padding-bottom: 20px;
}

.footerLink li{
    width: 320px;
	display: block;
	font-size: 16px;
	line-height: 18px;
	font-weight: 500;
    padding-top:20px; 
    padding-bottom:20px;     
}

.footerLinkWrap01{float:left;}
.footerLinkWrap02{float:left;}

.footerLink li:last-child{
    border-right:none;
}

.footerLink li a{
	text-decoration: none;
	color:#333333;
}

.footerLink li a:hover{
    text-decoration: underline;
}

.footerLink li.googleMapPrev{
    display: none;
}

.footerLink01{
    padding-left: 40px;
    background-image:url(../../img/common/icon_08.png);
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: 0px 10px;
}

.footerLink02{
    padding-left: 40px;
    background-image:url(../../img/common/icon_01.png);
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: 0px 10px;
}

.footerLink03,.footerLink04,.footerLink05,.footerLink06{
    padding-left: 40px;
}

.footerLink07{
    padding-left: 42px;
    background-image:url(../../img/common/icon_02.png);
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: 0px 10px;
}

.footerLink08{
    padding-left: 42px;
    background-image:url(../../img/common/icon_05.png);
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: 0px 10px;
}

.footerLink09{
    padding-left: 42px;
    background-image:url(../../img/common/icon_03.png);
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: 0px 10px;
}
.footerLink10{
    padding-left: 42px;
    background-image:url(../../img/common/icon_04.png);
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: 0px 10px;
}
.footerLink11{
    padding-left: 42px;
    background-image:url(../../img/common/icon_06.png);
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: 0px 10px;
}
.footerLink12{
    padding-left: 42px;
    background-image:url(../../img/common/icon_07.png);
    background-size: 30px auto;
    background-repeat: no-repeat;
    background-position: 0px 12px;
}
.copyright{
	font-size: 12px;
    line-height: 14px;
    padding: 6px 0 7px;
	margin:15px auto 0;
	text-align: center;
	color:#ffffff;
    background: #00a9de;
}
.top_bk_btn {
    position: fixed;
    bottom:10px;
    right: 10px;
    z-index: 10;
    width: 80px;
    height: auto;
}
.top_bk_btn a{
    display: block;
}
.top_bk_btn a:hover{
    opacity: 0.8;
}

.top_bk_btn img{
    width: 100%;
    display: block;
    height: auto;
}

/*================================================================================================

    お問い合わせOffer【各コンテンツ共通】 フッター

================================================================================================*/

#contact{
    padding: 130px 0 130px;
    min-width: 1040px;
    background: #333333;
}

/*================================================================================================

    カスタムgooglemap【各コンテンツ共通】  layout

================================================================================================*/
#map_canvas{
    width: 100%;
    height:500px;
    margin: 0px auto 0;
    background: #aaaaaa;
}

/*================================================================================================

    contents【各コンテンツ共通】 layout

================================================================================================*/

.secTit,
.secTitWht{
    width: 100%;
    height: auto;
    padding: 0 0 0 0;
}

.secTitWht{
    color: #ffffff;
}

.secTit h2,
.secTitWht h2{
    font-size: 36px;
    line-height: 48px;
    text-align: center;
}

.secTit span,
.secTitWht span{
    display: block;
    font-size: 12px;
    font-weight: normal;
    letter-spacing: normal;
    position: relative;
    padding: 15px 0 0 0;
}

.secTit span img,
.secTitWht span img{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 18px;
    margin: auto;
    padding-left: 0;
    color: #fff;
    -ms-transform: translateY(50%);
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
    background: transparent;
    font-size: 5px;
    letter-spacing: 0;
}

.secTit span::after,
.secTitWht span::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 50px;
    height: 1px;
    margin: 0 0 0 15px;
    background: #00a9de;
    content: '';
}

.secTit span::before,
.secTitWht span::before {
    position: absolute;
    bottom: 0;
    right: 50%;
    width: 50px;
    height: 1px;
    margin: 0 15px 0 0;
    background: #00a9de;
    content: '';
}

.secTitWht span::after,
.secTitWht span::before {
    background: #ffffff;
}

.btn01{
    width: 320px;
    margin: 60px auto 0;
}

a.parts__btn {
  position: relative;
  display: block;
  z-index: 2;
  width: 320px;
  height: 38px;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 38px;
  color: #333333;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  border: 1px solid #1f1f1f;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a.parts__btn:before {
    content: "→";
    font-size: 17px;
    margin-top: -8px;
    position: absolute;
    right: 12px;
    top: 50%;
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: "icon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transition-delay: 0;
            transition-delay: 0;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
a.parts__btn:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    opacity: 0;
    width: 50%;
    background-color: #333333;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: -1;
}
a.parts__btn:hover {
    color: #fff;
}
a.parts__btn:hover::before {
  right: 8px;
  -webkit-transition-duration: 0.4s;
          transition-duration: 0.4s;
}
a.parts__btn:hover::after {
  width: 100%;
  opacity: 1;
}

/*白ボタン*/

.btn02{
    width: 320px;
    margin: 50px auto 0;
}

.btn02 a.parts__btn {
  position: relative;
  display: block;
  z-index: 2;
  width: 320px;
  height: 38px;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 38px;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  border: 1px solid #ffffff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.btn02 a.parts__btn:before {
    content: "→";
    font-size: 17px;
    margin-top: -8px;
    position: absolute;
    right: 12px;
    top: 50%;
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: "icon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transition-delay: 0;
            transition-delay: 0;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.btn02 a.parts__btn:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    opacity: 0;
    width: 50%;
    background-color: #ffffff;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: -1;
}
.btn02 a.parts__btn:hover {
    color: #333333;
}
.btn02 a.parts__btn:hover::before {
  right: 8px;
  -webkit-transition-duration: 0.4s;
          transition-duration: 0.4s;
}
.btn02 a.parts__btn:hover::after {
  width: 100%;
  opacity: 1;
}

.sp_br{
    display: none;
}

.breadcrumb{
    margin: 0 auto 0;
    padding: 72px 0 0px;
    background: #333333;
}

.breadcrumbTit{
    width: 980px;
    margin: 0 auto;
    color: #ffffff;
    padding: 9px 0 7px;
    line-height: 21px;
}

.breadcrumbTit span{
    font-size: 20px;
    display: inline-block;
    font-weight: 700;
}

.breadcrumbTit h1{
    display: inline-block;
    font-size:14px;
    font-weight: 400;
}

/*================================================================================================

	mainImg【トップページメインビジュアル】 layout

================================================================================================*/

.videoWrap{
}

.mainImgTop{
	width: 100%;
    min-width: 1040px;
    margin: 0 auto;
    height: 460px;
    background-image:url(../../img/top/top_mainImgBg2.jpg);
    background-repeat: no-repeat;
    background-position: center top;
}

.masthead {
    position: relative;
	overflow: hidden;
    width: 100%;
    height: 460px;
} 

.masthead .masthead-tit {
    position: absolute;
    width: 100%;
    min-width: 1040px;
    font-weight: 900;
    text-align: center;
    height: auto;
    line-height: 1;
    top: 10px;
    bottom: 0;
    margin: auto;
    padding: 0px 0 0 0;
    color: #fff;
    animation-name: SlideUp;
    animation-duration: 2s;    
}
@keyframes SlideUp {
        0% {
            opacity: 0;
            transform: translateY(50px);
        }
        100% {
            opacity: 0.8;
            transform: translateY(0);
        }
}
.masthead .masthead-tit h1{
    font-size: 54px;
    line-height: 72px;
    font-weight: bold;
    width: 730px;
    margin: 0 auto;
    padding: 100px 250px 170px 0;
    background-image:url(../../img/top/catchCopy.png);
    background-size: 900px auto;
    background-repeat: no-repeat;
    background-position: center top;


}


.slider_css {
  height: 600px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.slider_css ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.slider_css ul li {
  background-size: cover;
  width: 100%;
  height: 600px;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  animation-iteration-count: infinite;
  animation-duration: 40s;
}
.slider_css ul li:nth-child(1) {
    background-position: 60% top;
    background-image:url(../../img/top/top_mainImgBg01.jpg);
  animation-name: slider-zoomin;
  animation-delay: -3s;
}
.slider_css ul li:nth-child(2) {
    background-image:url(../../img/top/top_mainImgBg02.jpg);
    background-position: 60% top;
  animation-name: slider-zoomout;
  opacity: 0;
  animation-delay: 5s;
}
.slider_css ul li:nth-child(3) {
    background-image:url(../../img/top/top_mainImgBg03.jpg);
    background-position: 60% top;
  animation-name: slider-zoomin;
  opacity: 0;
  animation-delay: 13s;
}

.slider_css ul li:nth-child(4) {
  background-image: url(../../img/top/top_mainImgBg01.jpg);
    background-position: 60% top;
  animation-name: slider-zoomin;
  opacity: 0;
  animation-delay: 21s;
}

.slider_css ul li:nth-child(5) {
  background-image: url(../../img/top/top_mainImgBg03.jpg);
    background-position: 60% top;
  animation-name: slider-zoomin;
  opacity: 0;
  animation-delay: 29s;
}

.slider_css ul li img {
  width: 130%;
}

@keyframes slider-zoomin {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  12.5% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  27.5% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: scale(1.3);
  }
}
@keyframes slider-zoomout {
  0% {
    opacity: 0;
    transform: scale(1.3);
  }
  12.5% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  27.5% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}


  .main-block__scroll {
    z-index: 5;
    position: absolute;
    left: 50%;
    bottom: 20px;
    width: 100px;
    height: 40px;
    margin-left: -50px;
    cursor: pointer;
    -webkit-transform: translate(0, 20px);
            transform: translate(0, 20px);
    -webkit-transition: all 0.6s 0.6s ease-out;
    transition: all 0.6s 0.6s ease-out; }
    .main-block__scroll-bar {
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 1px;
      height: 20px;
      margin: 0;
      overflow: hidden;
      -webkit-transition: all 0.5s 0.4s ease-out;
      transition: all 0.5s 0.4s ease-out; }
      .main-block__scroll-bar span {
        position: absolute;
        top: 0;
        left: 0;
        width: 1px;
        height: 20px;
        display: block;
        background-color: #fff;
        -webkit-transition: all 0.8s 0s ease-out;
        transition: all 0.8s 0s ease-out;
        -webkit-animation: load1 1s infinite ease-in-out;
                animation: load1 1s infinite ease-in-out;
        }

@-webkit-keyframes load1 {
  0% {
    top: 0;
    bottom: auto;
    height: 0; }
  40% {
    top: 0;
    bottom: auto;
    height: 20px; }
  80% {
    top: auto;
    bottom: 0;
    height: 20px; }
  100% {
    top: auto;
    bottom: -20px;
    height: 0; } }

@keyframes load1 {
  0% {
    top: 0;
    bottom: auto;
    height: 0; }
  40% {
    top: 0;
    bottom: auto;
    height: 20px; }
  80% {
    top: auto;
    bottom: 0;
    height: 20px; }
  100% {
    top: auto;
    bottom: -20px;
    height: 0; } }
.main-block__scroll-text{
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  height: 20px;
  margin: 0;
  color: #ffffff;
  text-align: center; }

.main-block__scroll-text a{
	text-decoration: none;
	color: #ffffff;
}

.sp-mainImg{
    display: none;
}

/*================================================================================================

    トップページ各ボタン layout

================================================================================================*/
.com_btn01,
.com_btn02,
.com_btn03,
.com_btn04,
.com_btn05{
    width: 440px;
    margin: 0 auto;
    background-color:#f7f2e9;
    background-size: 34px auto;
    background-repeat: no-repeat;
    background-position: 30px 16px;
    text-align: center;
    border-radius: 60px;
  -webkit-filter:drop-shadow(3px 3px 0px rgba(0, 0, 0, 0.2));
  -moz-filter:drop-shadow(3px 3px 0px rgba(0, 0, 0, 0.2));
  -ms-filter:drop-shadow(3px 3px 0px rgba(0, 0, 0, 0.2));
  filter:drop-shadow(3px 3px 0px rgba(0, 0, 0, 0.2));    
}
.com_btn01{background-image:url(../../img/common/icon_btn01.png); margin-top: 70px;}
.com_btn02{background-image:url(../../img/common/icon_btn02.png); margin-top: 40px;}
.com_btn03{background-image:url(../../img/common/icon_btn02.png); margin-top: 20px;}
.com_btn04{background-image:url(../../img/common/icon_btn03.png); margin-top: 60px;}
.com_btn05{background-image:url(../../img/common/icon_btn05.png); margin-top: 60px;}

.com_btn01 a,
.com_btn02 a,
.com_btn03 a,
.com_btn04 a,
.com_btn05 a{
    width: 100%;
    color: #333333;
    font-size: 28px;
    line-height: 34px;
    padding: 17px 0;
    display: block;
    text-decoration: none;
    position: relative;
}
.com_btn01 a::after ,
.com_btn02 a::after ,
.com_btn03 a::after ,
.com_btn04 a::after ,
.com_btn05 a::after {
    position: absolute;
    top:26px;
    right:24px;
    content: "";
    display: block;
    width: 12px;
    height: 13px;
    border-top: 4px solid #4a4a4a;
    border-right: 4px solid #4a4a4a;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.com_btn01 a:hover,
.com_btn02 a:hover,
.com_btn03 a:hover,
.com_btn04 a:hover,
.com_btn05 a:hover{
    opacity: 0.7;
}

.comTit01 h2,
.comTit02 h2,
.comTit03 h2,
.comTit04 h2,
.comTit06 h2,
.comTit07 h2,
.comTit08 h2,
.comTit09 h2,
.comTit10 h2,
.comTit11 h2,
.comTit12 h2,
.comTit13 h2,
.comTit14 h2
{
    text-align: center;
    font-size: 32px;
    line-height: 42px;
    background-size: 90px auto;
    background-repeat: no-repeat;
    background-position: center top;
    padding: 28px 0 0 0;
}
.comTit05 h2{
    text-align: center;
    font-size: 32px;
    line-height: 42px;
    background-size: 90px auto;
    background-repeat: no-repeat;
    background-position: center top;
    padding: 40px 0 0 0;    
}
.comTit09 h2{
    text-align: center;
    font-size: 32px;
    line-height: 42px;
    background-size: 90px auto;
    background-repeat: no-repeat;
    background-position: center top;
    padding: 40px 0 0 0;    
}


.comTit01 span,
.comTit02 span,
.comTit03 span,
.comTit04 span,
.comTit05 span,
.comTit06 span,
.comTit07 span,
.comTit08 span,
.comTit09 span,
.comTit10 span,
.comTit11 span,
.comTit12 span,
.comTit13 span,
.comTit14 span{
    margin: 10px 0 0 0;
    display: block;
    height: 20px;
    background-size: 50px auto;
    background-repeat: no-repeat;
    background-position: center top;
}

.comTit01 h2{background-image:url(../../img/common/comTit01.png);}
.comTit01 span{background-image:url(../../img/common/comTitUnderOrange.png);}

.comTit02 h2{background-image:url(../../img/common/comTit02.png);}
.comTit02 span{background-image:url(../../img/common/comTitUnderOrange.png);}

.comTit03 h2{background-image:url(../../img/common/comTit03.png); padding: 36px 0 0 0;}
.comTit03 span{background-image:url(../../img/common/comTitUnderYel.png);}

.comTit04 h2{background-image:url(../../img/common/comTit04.png);}
.comTit04 span{background-image:url(../../img/common/comTitUnderPup.png);}

.comTit09 h2{background-image:url(../../img/common/comTit09.png);}
.comTit09 span{background-image:url(../../img/common/comTitUnderBlue2.png);}

.com_btnOffer{
    width: 480px;
    margin: 25px auto 0;
    background-image:url(../../img/common/offerBtnBg.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    border-radius: 7px;
    text-align: center;
}
.com_btnOffer a{
    display: block;
    width: 100%;
    padding: 20px 0;
    color:#ffffff;
    text-decoration: none;
    font-size: 24px;
    line-height: 28px;
    position: relative;
}

.com_btnOffer a::after {
    position: absolute;
    top:26px;
    right:24px;
    content: "";
    display: block;
    width: 12px;
    height: 13px;
    border-top: 4px solid #ffffff;
    border-right: 4px solid #ffffff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.com_btnOffer:hover{
    opacity: 0.8;
}

/*================================================================================================

    トップページ各セクション layout

================================================================================================*/

.top_sec01{
    width: 100%;
    min-width: 1040px;
    background-image:url(../../img/top/top_sec01Bg.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center top;
}

.top_sec01Inner{
    width: 980px;
    margin: 0 auto;
    padding:100px 0 60px;
}

.top_sec01Tit{
    text-align: center;
    font-size: 38px;
    line-height: 64px;
}

.secReadTxt01{
    margin: 60px auto 0;
    font-weight: normal;
    font-size: 18px;
    line-height: 36px;
    text-align: left;
}

.theta_banner a{
    display: block;
    width: 980px;
    margin: 20px auto 0;

}
.theta_banner a:hover{
    opacity: 0.8;
}
.theta_banner a img{
    width: 100%;
}
.tontonbanner a{
    font-size: 18px;
    display: block;
    width: 980px;
    margin: 20px auto 0;
}
.tontonbanner a:hover{
    opacity: 0.8;
}
.tontonbanner img{
    width: 100%;
    margin-bottom: 5px;
}
.tontonbanner p{
    margin: 0;
}

.top_sec01Youtube{
    width: 980px;
    margin: 40px auto 0;
}

.addRightLink{
    text-align: right;
    margin:5px 0 0 0;
    font-size: 16px;
    line-height: 24px;
}

.top_sec02{
    width: 100%;
    min-width: 1040px;    
}

.top_sec02Inner{
    width: 820px;
    height: 650px;
    margin: 100px auto 0;
    padding: 150px 40px 0; 
    background-image:url(../../img/top/top_sec02Bg.png);
    background-size: 900px auto;
    background-repeat: no-repeat;
    background-position: center top;    
}

.top_sec02Tit{
    padding:0 0 0 460px;
    font-size: 30px;
    line-height: 50px;
}
.secReadTxt02{
    padding:30px 0 0px 460px;
    font-size: 18px;
    line-height: 36px;
}


/*================================================================================================

    Works layout

================================================================================================*/
.com_sec01{
    width: 100%;
    min-width: 1040px;
    margin: 0;    
}

.com_sec01TopWrap{
    width: 100%;
    min-width: 1040px;
    height: 74px;    
    background-image:url(../../img/common/com_JireiBg1.png);
    background-size: auto auto;
    background-repeat: repeat-x;
    background-position: top center;
}

.com_sec01InnerWrap{
    width: 100%;
    min-width: 1040px;
    background-image:url(../../img/common/com_JireiBg2.png);
    background-size: 100% auto;
    background-repeat: repeat-y;
    background-position: top center;
}

.com_sec01Inner{
    width: 980px;
    margin: 0 auto;
    padding: 0 0 80px;
}

.com_sec01-2{
    width: 100%;
    min-width: 1040px;
    margin: 0;    
}

.com_sec01-2TopWrap{
    width: 100%;
    min-width: 1040px;
    height: 74px;    
    background-image:url(../../img/common/com_JireiBg1-2.png);
    background-size: auto auto;
    background-repeat: repeat-x;
    background-position: top center;
}

.com_sec01-2InnerWrap{
    width: 100%;
    min-width: 1040px;
    background-image:url(../../img/common/com_JireiBg2.png);
    background-size: 100% auto;
    background-repeat: repeat-y;
    background-position: top center;
}

.com_sec01-2Inner{
    width: 980px;
    margin: 0 auto;
    padding: 0 0 80px;
}

.worksLi{
    width: 980px;
    margin: 20px auto 0;
}

.worksLi li{
    width: 230px;
    float: left;
    margin-right:20px;
    margin-bottom:20px;
}

.worksLi li:nth-child(4n){
    margin-right:0px;
}

.worksLi li a{
    text-decoration:none;
    display: block;
    color:#ffffff;
    background: #ff7900;
    width: 230px;
    height: 160px;
    position: relative;
}

.worksLi li a .worksLi_img{
    position: relative;
    width: 230px;
    height: 130px;
    overflow: hidden;
}

.worksLi li a .worksLi_img img{
    width: 100%;
    height: auto;
}

.worksLi li a .worksLi_tit{
    padding: 2px 20px 0;
    font-size: 12px;
    line-height: 28px;
    height: 3em;
    overflow: hidden;
}

.worksLi_cap{
    width: 280px;
    position: absolute;
    bottom: 12px;
    left: 20px;
}

.worksLi_cap span{
    color: #777777;
    font-size: 12px;
    line-height: 13px;
    font-weight: 500;
    display: block;
}
.worksLi_cap_day{
    float: left;
}

.worksLi_cap_cat{
    float: right;
}

.worksLi_img:before {
    opacity: 0;
    z-index: 1;
    content: "事例を見る";
    color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    padding-bottom: 30px;
    text-align: center;
    margin-top: -20px;
    -webkit-transform: translate(-10px, 0);
            transform: translate(-10px, 0);
    background: transparent url(../../img/common/arrow-right-short-wht.svg) no-repeat center 30px;
    background-size: 20px 20px;
    box-sizing: border-box;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.worksLi_img:after {
    content: "";
    opacity: 0;
    text-align: center;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 50%;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.7);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    overflow: hidden;
}

.worksLi li a:hover .worksLi_img:before {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
}

.worksLi li a:hover .worksLi_img:after {
    opacity: 1;
    width: 100%;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
}

.com_sec02{
    width: 100%;
    min-width: 1040px;
    margin: 0px 0 0 0;
    background-image:url(../../img/common/com_nagareBg.png);
    background-size: 100% auto;
    background-repeat: repeat-y;
    background-position: top center;
}

.com_sec02Inner{
    width: 980px;
    margin: 0 auto;
    padding: 60px 0 80px;
}

.com_sec02Li {
    margin-top: 45px;
}

.com_sec02Li li{
    width: 210px;
    height: auto;
    float: left;
    margin-right:30px;
    padding-top: 235px;
    padding-left: 5px;
}

.com_sec02Li li h3{
    font-size: 14px;
    line-height: 22px;
}

.com_sec02Li li p{
    font-size: 14px;
    line-height: 22px;
    padding: 15px 0 0 0;
}

.com_sec02Li01{
    background-image:url(../../img/common/icon_offer01.png);
    background-size: 215px auto;
    background-repeat: no-repeat;
    background-position: 0px 0px;    
}

.com_sec02Li02{
    background-image:url(../../img/common/icon_offer02.png);
    background-size: 215px auto;
    background-repeat: no-repeat;
    background-position: 0px 0px;    
}
.com_sec02Li03{
    background-image:url(../../img/common/icon_offer03.png);
    background-size: 215px auto;
    background-repeat: no-repeat;
    background-position: 0px 0px;
}

.com_sec02Li04{
    background-image:url(../../img/common/icon_offer04.png);
    background-size: 215px auto;
    background-repeat: no-repeat;
    background-position: top center;
    background-position: 0px 0px;
    margin-right: 0px;
}

.com_sec02_office{
    width: 100%;
    min-width: 1040px;
    margin: 0px 0 0 0;
    background-image:url(../../img/common/com_nagareBg.png);
    background-size: 100% auto;
    background-repeat: repeat-y;
    background-position: top center;
}
.com_sec02_officeInner{
    width: 980px;
    margin: 0 auto;
    padding: 60px 0 80px;
}
.com_sec02Li_office {
    margin-top: 45px;
}
.com_sec02Li_office li{
    width: 210px;
    height: auto;
    float: left;
    margin-right:30px;
    padding-top: 235px;
    padding-left: 5px;
}
.com_sec02Li_office li h3{
    font-size: 14px;
    line-height: 22px;
}
.com_sec02Li_office li p{
    font-size: 14px;
    line-height: 22px;
    padding: 15px 0 0 0;
}
.com_sec02Li01_office{
    background-image:url(../../img/common/icon_offer01.png) !important;
    background-size: 215px auto !important;
    background-repeat: no-repeat !important;
    background-position: 0px 0px !important;    
}
.com_sec02Li02_office{
    background-image:url(../../img/common/icon_office02.png) !important;
    background-size: 215px auto !important;
    background-repeat: no-repeat !important;
    background-position: 0px 0px !important;    
}
.com_sec02Li03_office{
    background-image:url(../../img/common/icon_offer03.png) !important;
    background-size: 215px auto !important;
    background-repeat: no-repeat !important;
    background-position: 0px 0px !important;
}
.com_sec02Li04_office{
    background-image:url(../../img/common/icon_office04.png) !important;
    background-size: 215px auto !important;
    background-repeat: no-repeat !important;
    background-position: top center !important;
    background-position: 0px 0px !important;
    margin-right: 0px !important;
}

.com_sec03{
    width: 900px;
    margin: 80px auto 0;
    background-image:url(../../img/common/com_offerBg.png);
    background-size: 900px auto;
    background-repeat: no-repeat;
    background-position: top center;
    background-position: 0px 0px;
}

.com_sec03Inner{
    padding: 70px 120px 70px 120px;
    min-height: 420px;
}

.com_sec03Box p{
    background-image:url(../../img/common/icon_logo01.png);    
    background-size: 110px auto;
    background-repeat: no-repeat;
    background-position: top center;
    background-position: 0px 0px;
    padding: 10px 0 0 120px;

}

.com_sec03Box h4{
    font-size: 20px;
    line-height: 26px;
    text-align: center;
    padding: 30px 0 0;
    border-top:3px dotted; 
    margin-top: 30px;
}

.com_sec04{
    width: 100%;
    background-image:url(../../img/common/com_newsBg.png);
    background-repeat: repeat-x;
    background-position: top center;
    margin: 100px auto 0;
    padding: 70px 0 0 0;
}

.newsLi{
    width: 980px;
    margin: 10px auto 0;
    font-size: 16px;
    line-height: 24px;    
}

.newsLi tr{
    border-bottom:2px dotted #dddddd; 
}

.newsLi tr td{
    color:#666666;
    width: 120px;
    padding: 20px 0 20px 50px;    
    text-align: left;
    vertical-align: top;    
}
.newsLi tr th{
    color:#666666;
    width: 730px;
    padding: 20px 50px 20px 30px;    
    text-align: left;
    vertical-align: top;
    font-weight: normal;
}

.newsLi tr th a{
    text-decoration: underline;
    color:#333333;
}

.newsLi tr th a:hover{
    text-decoration: none;    
}



/*================================================================================================

    contact用CSS【お問い合わせフォーム】 layout

================================================================================================*/



#introduction {
    position: absolute;
    z-index: 100;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    pointer-events: none;
}

.introWhite {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #fff;
}

.introLogo {
    position: absolute;
    width: 340px;
    height: 50px;
    left: 50%;
    top: 50%;
    fill: #fff;
    stroke: #333;
    stroke-width: .5;
    transform: translate(-50%, -50%);
}

.contactWrap{
    width: 100%;
    background-image:url(../../img/common/com_topImgContact.jpg);
    background-repeat: repeat-x;
    background-position: top center;
    margin: 0px auto 0;
    padding: 100px 0 0 0;
}

.contactInner{
    width: 960px;
    margin: 0px auto 0;
    padding: 0px 0 80px 0;
}

.contact_sec01{
    width: 900px;
    margin: 70px auto 0;
}
.contact_sec02{
    width: 820px;
    margin: 70px auto 0;
}

.contactAttTxt{
    padding: 8px 0 0 5px;
    font-size: 16px;
    line-height: 28px;
}

.contact_offer{
    background-color: #f8f5f0;
    padding: 1px 20px 60px;
    margin: 30px auto 0;
    border-radius: 10px;
}

.contact_offer h3{
    font-size: 22px;
    line-height: 28px;
    margin: 50px 0 -10px 0;
    text-align: center;
}

.contact_wp_wrap{
    width: 900px;
    margin: 30px auto 0;
}

.contact_wp_wrap table{
    width: 900px;
    margin: 0 auto;
}
.contact_wp_wrap table th{
    width: 320px;
    border-bottom: 1px dashed #cccccc;
    text-align: right;
    vertical-align: top;
    padding: 30px 0 30px 0;
    font-size: 18px;
    line-height: 26px;
}
.contact_wp_wrap table .th-sin{
    padding: 40px 0 30px 0;    
}

.contact_wp_wrap table td{
    width: 500px;
    border-bottom: 1px dashed #cccccc;    
    text-align: left;
    vertical-align: top;    
    padding: 30px 30px 30px 50px;     
    font-size: 16px;
    line-height: 26px;

}

.required{
    width: 35px;
    border: 1px solid #ff5b81;
    color: #ff5b81;
    font-size: 12px;
    line-height: 14px;
    padding: 2px 5px;
    border-radius: 5px;
    display: inline-block;
    font-weight: bold;
    text-align: center;
    margin-left:10px;     
}
.no-required{
    width: 35px;
    border: 1px solid #aaaaaa;
    background:#aaaaaa;
    color: #ffffff;
    font-size: 12px;
    line-height: 14px;
    padding: 2px 5px;
    border-radius: 5px;
    display: inline-block;
    font-weight: bold;
    text-align: center;
    margin-left:10px; 
}
.required2{
    display: block;
    font-size: 12px;
    line-height: 14px;
    padding: 15px 0 0;
    color:#ff5b81;
}

#formbtn{
    display: block;
    width: 480px;    
    margin: 50px auto 0;
}

#formbtn .wpcf7-submit{
    background-image:url(../../img/common/offerBtnBg.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    border-radius: 7px;
    text-align: center;    
}

#formbtn input[type="submit" i]{
    display: block;
    width: 100%;
    padding: 20px 0;
    color:#ffffff;
    text-decoration: none;
    font-size: 24px;
    line-height: 28px;
    position: relative;
    cursor: pointer;
}

.contact_wp_wrap table td input[type="text"],
.contact_wp_wrap table td input[type="tel"],
.contact_wp_wrap table td input[type="email"],
.contact_wp_wrap table td textarea{
    width:420px;
}

#formbtn input[type="submit"]:hover{
    opacity: 0.8;
}

.codedropz-upload-inner h3{
    font-size: 16px !important;
}


/*================================================================================================

    contactForm

================================================================================================*/
    
/*================================================================================================

    トップページ追加

================================================================================================*/
    
.kid-design-award {
  text-align: center;
  margin: 20px auto 80px;
}
.kid-design-award {
    max-width: 200px;
}

/*================================================================================================

	▼ End CSS ▼

================================================================================================*/
}
