@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
.header-container-in.hlt-top-menu {
    padding: 0 29px;
}
.header-container-in.hlt-top-menu .logo-header img {
	width: 123px;
}
.header-container {
	position: relative;
}
.header-container::after {
	height: 2px;
	bottom: 2px;
	content: "";
	display: block;
	background: rgb(51,111,201);
	background: linear-gradient(83deg, rgba(51,111,201,1) 0%, rgba(0,158,121,1) 100%);
}
.navi-in > ul li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    line-height: inherit;
    margin: 0 0px 0 0;
}
.navi-in > ul li  a {
    border-radius: 8px;
    padding: 6px 25px;
    font-size: 14px;
}
.navi-in > ul li:last-child a {
    background: #EF305E;
    color: #FFF;
    margin-left: 10px;
    margin-right: 0;
    font-weight: 700;
}
.navi-in > ul li:last-child a:hover {
	opacity: .7;
}
.menu-pc li:first-child {
	display: none;
} 


.page .breadcrumb {
  display: none;
}
.mv {
	background: url(images/mv_bg.jpg) no-repeat top center;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 590px;
	background-size: auto 590px;
	color: #FFF;
}

.mv h1 {
    font-weight: 700;
    font-size: 56px;
    text-align: center;
    line-height: 1.5;
    text-shadow: 1px 1px 4px #234c87;
}
.mv h1 span {
    font-size: 24px;
    display: block;
    margin: 0 0 40px;
    line-height: 1;
}
.page .article-header.entry-header {
	display: none;
}

.page .article-footer.entry-footer {
	display: none;
}

.content-bottom-in.wrap {
	width: auto;
}
.footer_cta {
	background: url(images/cta_bg.jpg) no-repeat top center;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 270px;
	background-size: auto 270px;
	color: #FFF;
	flex-direction: column;
}
.footer_cta {
    font-size: 18px;
    line-height: 2;
}
.footer_cta p {
	margin: 0 0 30px;
}
.footer_middle {
	background: url(images/footer_bg.jpg) no-repeat top center;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 230px;
	background-size: auto 230px;
	color: #FFF;
	flex-direction: column;
}
.footer_middle ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 40px;
}
.footer_middle ul li {
    line-height: 1;
    font-size: 14px;
}
.footer_middle ul li:not(:last-child) {
    border-right: solid 1px #FFF;
}
.footer_middle ul a {
text-decoration: none;
    color: #FFF;
    display: block;
    margin: 0 1em;
}
.footer_middle ul a:hover {
	text-decoration: underline;
}
.footer_middle .footer_logo p {
	width: 130px;
	height: 60px;
	margin: 0 auto;
	text-indent: -9999px;
	overflow: hidden;
	background: url(images/footer_logo.svg) no-repeat top center;
	background-size: 130px;
	transition: all 0.3s ease-in-out;
}
.footer_middle .footer_logo p a {
	display: block;
    height: 100%;
}
.footer_middle .footer_logo p:hover {
	opacity: .6;
}
.footer {
	margin-top: 0;
}
.footer-bottom {
	margin-top: 0;
}
.body .widget-content-bottom {
	margin-bottom: 0;
}
.content-bottom {
	margin-bottom: 0;
}
.copyright {
	margin-top: 0;
}

.btn.contact-btn {
	background-color: #EF305E;
    padding: 8px 15px;
    min-width: 205px;
}
.btnCenter {
	text-align: center;
}
.btn {
	min-width: 165px;
	position: relative;
}
.btn::after {
	content: "";
	width: 7px;
	height: 12px;
	background: url(images/arrow.svg) no-repeat top center;
	position: absolute;
	background-size: 100%;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.article .page_title {
	margin-top: 0;
	margin-bottom: 1.62em;
}

.article .section_title {
    text-align: center;
    background: transparent;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
}
.article .section_title .ttl_main{
    background: rgb(51,111,201);
    background: linear-gradient(83deg, rgba(51,111,201,1) 0%, rgba(0,158,121,1) 100%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   font-size: 26px;
   letter-spacing: .26em;
    position: relative;
    display: block;
    padding: 0 0 14px;
    margin: 0 0 10px;
    text-indent: 0.13em;
}
.article .section_title .ttl_main::before {
    content: "";
    width: 100%;
    height: 1px;
    background: linear-gradient(83deg, rgba(51,111,201,1) 0%, rgba(0,158,121,1) 100%);
    display: block;
    position: absolute;
    bottom: 0;
}
.article .section_title .ttl_main::after {
    content: "";
    border-style: solid;
    border-width: 4px 0 0 7px;
    border-color: transparent transparent transparent rgba(0,158,121,1);
    width: 0;
    height: 0;
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
} 
.article .section_title .ttl_sub{
    background: linear-gradient(83deg, rgba(51,111,201,1) 0%, rgba(0,158,121,1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 14px;
    letter-spacing: .26em;
    display: block;
}
.top_about_desc {
	font-size: 18px;
	line-height: 2;
}

.top_service_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.top_service_item {
width: 270px;
    margin: 0 30px 30px;

}

.top_service_item figure {
    vertical-align: bottom;
    display: flex;
    min-height: 190px;
    align-items: self-end;
}
.top_service_item figure img{
	width: 100%;

}
.top_service_item h3 {
text-align: center;
    color: #336FC9;
    font-size: 24px;
    border: none;
    margin: 19px 0 21px;
    padding: 0;
}
.top_service_item p {
font-size: 17px;
    line-height: 1.65;
}
.wp-block-latest-posts.wp-block-latest-posts__list {
	max-width: 760px;
	margin: 0 auto 60px;
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    padding: 16px 0;
 background-image : linear-gradient(to right, #000 2px, transparent 2px);
 background-size: 10px 2px;
 background-repeat: repeat-x;
 background-position: right bottom;
}

.wp-block-latest-posts.wp-block-latest-posts__list li a {
	font-size: 18px;
	text-decoration: none;
	color: #333;
}

.wp-block-latest-posts.wp-block-latest-posts__list li time {
	font-size: 18px;
	margin-right: 70px;

} 
.wp-block-latest-posts.wp-block-latest-posts__list li time::before {
	content: "【";
}
.wp-block-latest-posts.wp-block-latest-posts__list li time::after{
	content: "】";
}

.page_main_mv {
	max-width: 940px;
	margin: 0 auto;
	position: relative;
	padding: 0 0 3.5%;
	margin-bottom: 60px !important;

}
.page_main {
    width: fit-content;
	max-width: 65%;
}
.page_main_svg {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 390px;
    max-width: 42%;
	z-index: 2;
}
.shadow_box {
    position: relative;
    z-index: 1;
}
.shadow_box::after {
    content: "";
    display: block;
    position: absolute;
    background: linear-gradient(83deg, rgba(51,111,201,1) 0%, rgba(0,158,121,1) 100%);
    width: 100%;
    height: 100%;
    bottom: -10px;
    right: -10px;
    z-index: -1;
}
.company_table {
max-width: 940px;
    margin: 0 auto;
    display: flex;
    font-size: 14px;
    flex-wrap: wrap;
    border: solid 1px #e9e9e9;
    border-width: 1px 1px 0 1px;
}
.company_table dt {
    padding: 15px;
    background: #f5f5f5;
    border: solid 1px #e9e9e9;
    border-width: 0 1px 1px 0;
    flex-basis: 32%;
}
.company_table dd {
    margin: 0;
    padding: 15px;
    border: solid 1px #e9e9e9;
    border-width: 0 0 1px 0;
    flex-basis: 68%;
}
.middle_box {
    max-width: 610px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;

}
.middle_box > *{
	padding: 30px 0;
	width: 100%;
	background: rgb(249,250,253);
	background: linear-gradient(83deg, rgba(249,250,253,1) 0%, rgba(247,252,251,1) 100%);
}

.wide_box {
    max-width: 930px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;

}
.wide_box > *{
	padding: 30px;
	width: 100%;
	background: rgb(249,250,253);
	background: linear-gradient(83deg, rgba(249,250,253,1) 0%, rgba(247,252,251,1) 100%);
}

.column-2-3-1-2 .column-right {
	padding: 0 0 0 40px;
	text-align: left;
}
.page .article .column-wrap h1,
.page .article .column-wrap h2,
.page .article .column-wrap h3,
.page .article .column-wrap h4,
.page .article .column-wrap h5,
.page .article .column-wrap h6 {
   padding: 0;
}

.wide_box h3 {
    font-size: 20px;
    padding: 0;
    margin: 0;
    border: none;
    text-align: left;
    line-height: 2;
}
.pc-none {
	display: none;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
  .mobile-menu-buttons {
    min-height: 60px;
  }
  .mobile-menu-buttons .menu-caption {
      display: none;
  }
  .mobile-menu-buttons .menu-icon {
    background: url(images/ico-barger.svg) no-repeat top center;
    width: 32px;
    height: 26px;
    background-size: 32px;
  }
  .mobile-menu-buttons .menu-icon .fa {
    display: none;
  }
  .mobile-header-menu-buttons {
     justify-content: space-between;
     padding: 0 20px;
   }
  .has-logo-button .logo-menu-button {
     flex-grow: inherit;
  }
  .has-logo-button .menu-button {
    display: flex;
    align-items: center;
    width: auto;
   }
  .mobile-menu-buttons .menu-button > a {
    display: flex;
    align-items: center;
    height: 100%;
   }
  .logo-menu-button img {
       width: 80px;
  }
    .menu-content .menu-drawer {
   text-align: center;
 }
  .menu-content {
     background: rgba(255,255,255, .95);
  }
  .menu-drawer a {
      margin: 12px 0;
  }
  .menu-drawer li:last-child a {
    background-color: #EF305E;
    padding: 8px 15px;
    min-width: 150px;
    display: inline-block;
    color: #FFF;
    border-radius: 4px;
  }
  .navi-menu-close-button .fa{
    background: url(images/ico-close.svg) no-repeat top center;
    width: 24px;
    height: 24px;
    background-size: 24px;
  }
  .navi-menu-close-button .fa::before {
    display: none;
  }
  .menu-close-button {
      display: block;
      cursor: pointer;
      text-align: center;
      font-size: 2.5em;
      margin: 0 0 10px;
  }
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
  .header-container-in.hlt-top-menu {
    display: none;
  }


}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
   .main {
      overflow-x: hidden;
   }
  .mv {
     background: url(images/mv_bg_sp.jpg) no-repeat bottom center;
     height: 280px;
     background-size: cover;
	
  }

  .mv h1 {
    font-size: 30px;
  }
  .mv h1 span {
	font-size: 16px;
  }

  .top_about_desc.has-text-align-center {
    font-size: 14px;
    text-align: left;
  }
  .sp-none {
     display: none;
  }
  .top_service_item {
     margin: 0 30px 0;
   }
  .top_service_item h3 {
        margin: 14px 0 12px;
  }
  .wp-block-latest-posts.wp-block-latest-posts__list li {
    align-items: flex-start;
  }
  .wp-block-latest-posts.wp-block-latest-posts__list li time {
     font-size: 14px;
     margin-right: 20px;
  }
  .wp-block-latest-posts.wp-block-latest-posts__list li a {
     font-size: 14px;
  }
  .footer_cta p {
    font-size: 14px;
    text-align: center;
  }
  .copyright {
    font-size: 12px;
  }

  .page_main {
    max-width: inherit;
  }
  .page_main_svg {
     max-width: 65%;
     right: -10%;
  }
  .company_table {
	display: block;
    text-align: center;
  }
  .company_table iframe{
     height: 200px;
  }
  .middle_box {
     font-size: 14px;
  }
  .pc-none {
  	display: inline;
  }
  .column-2-3-1-2 .column-right {
     padding: 0;
  }
.shadow_box::after {
    bottom: -5px;
    right: -5px;
}
}
