@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ カスタム
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/* header .l-container {
	max-width: 1050px;
} */
.single .p-breadcrumb__item:last-child>span.p-breadcrumb__text {
    display: block;
}
.wp-block-table td, .wp-block-table th {
    border: 1px solid #ededed;
}

.icon-home:before {
  display: none;
}

.l-footer__nav * a {
	border: none!important;
	text-decoration: underline;
}

.l-footer__widgetArea {
    max-width: 1050px;
    margin: auto;
}

/* .l-footer__foot {
	padding-top: 0;
}
 */
/* .p-breadcrumb__list {
	display: block;
	max-width: 1050px;
	margin: auto;
} */

/* a.p-breadcrumb__text {
    text-decoration: underline;
}
 */
.post_content td, .post_content th {
    padding: 0.8em;
}

#bg-service {
	background-image:url(https://www.southagency.co.jp/wp-content/uploads/bg-service.png);
}

#bg-info {
	background-image:url(https://www.southagency.co.jp/wp-content/uploads/bg-info.png);
}

.sankaku {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 80px 0 80px;
    border-color: #cdcdcd transparent transparent transparent;
    margin: 0 auto;
    margin-bottom: var(--swl-block-margin,2em);
}

.c-pageTitle__subTitle {
	display: none;
}

@media (min-width: 600px) {
.p-authorBox__l {
    margin-bottom: 0;
    width: 500px;
	}
}


a.c-categoryList__link {
    background-color: #fff;
    color: #111;
    text-decoration: underline;
}

.hov-flash-up:hover {
    animation: flash none;
    box-shadow: none;
}

.c-categoryList:before {
/*     content: "\e92f"; */
    display: none;
}

.l-mainContent .c-categoryList__link.-current {
    box-shadow: none;
}

.p-termNavigation {
    margin-top: 3rem;
}

.-type-simple .p-postList__link {
    border-bottom: 1px solid var(--color_border);
    display: block;
    padding: 1.8em 0.5em;
    transition: background-color .5s;
}
.-type-simple .p-postList__link:hover {
    background-color: #f8f8f8;
}

.swell-block-linkList.is-style-button .swell-block-linkList__text {
    margin: 0;
    margin-right: auto;
}

.c-pagination {
	display: none;
}

.p-termHead {
    border: none;
}

.p-termHead__desc {
	   font-size: 15px;
    color: gray;
}
/* 
.p-postList__link:hover .c-postThumb:before {
    opacity: 0;
}
.p-postList__link:hover .c-postThumb__img {
    -webkit-transform: scale(1.06);
    transform: none;
}

.p-postList__link {
  position: relative;
  overflow: hidden;
}
.p-postList__link::before,
.p-postList__link::after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  margin: auto;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
  opacity: 0;
}
.p-postList__link::before {
  background: rgba(0,0 ,0 ,.5);
  width: 100%;
  height: 100%;
	z-index: 999;
}

.p-postList__link::after {
    color: #fff;
    content: "Read More";
    font-size: 22px;
    font-weight: bold;
    display: flex;
    text-align: center;
    justify-content: right;
    align-items: center;
    padding-right: 16px;
    bottom: 0;
    right: 0;
    z-index: 1000;
}
 
.p-postList__link:hover::before,
.p-postList__link:hover::after {
  opacity: 1;
}
 */
.p-postList__meta :before {
	display: none;
}

.p-postList__body {
    padding-left: 16px;
}

.p-authorBox {
    border: none;
    align-items: center;
}

.p-authorBox .avatar {
    border: 0;
    border-radius: 0;
}

.c-secTitle {
    display: block;
    border: none;
	text-align: center;
}

.p-authorBox__name {
    font-size: 14px!important;
    color: inherit;
    display: block;
    font-weight: normal;
    line-height: 1.2;
    margin-top: 0;
    text-decoration: none;
}













/*--追加スタイル------------------------------------------------------------------------------*/

/* ---------------------------------------------------------------- */
/* ヘッダー */
/* ---------------------------------------------------------------- */
#header {
  height: 130px;
}
#indexPage{
  margin-top: -130px;
}
#indexPage p{
  font-family: "Noto Sans JP", sans-serif;
}
#indexPage h2,#indexPage h3,#indexPage h4{
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
#header {
  height: 110px;
}
#indexPage{
  margin-top: -110px;
}
}
#header #headerCnt {
	padding: 0 15px; 
      width: 100%;
      position: fixed;
      margin: 0 auto;
      z-index: 5;
      height: 80px;
      top: 0;
      transition: ease-in .1s;
      
      
      
}
#header #headerCnt #headerCnt_inr {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto;
      height: 80px; 
	box-shadow: 0 3px 6px 0 rgb(0 0 0 / 16%);
	background: #fff;
	border-radius: 40px;
	padding: 0 15px;
	margin-top: 25px;
	position: relative;
	z-index: 500 !important;
}

      #header #headerCnt #headerCnt_inr #logoArea {
        flex-basis: 129px;
        width: 129px;
        align-self: center; }
	   #header #headerCnt #headerCnt_inr #logoArea #logo{
        margin: 5px 0 0 20px; }
        #header #headerCnt #headerCnt_inr #logoArea a {
          display: block;
          width: 100%; }
          #header #headerCnt #headerCnt_inr #logoArea a h1 {
            margin: 0;
            line-height: 1; }
            #header #headerCnt #headerCnt_inr #logoArea a h1 img {
              max-width: 170px;
              height: auto; }
@media screen and (max-width: 767px) {
	#header #headerCnt #headerCnt_inr {
		margin-top: 20px;
	}
	#header #headerCnt #headerCnt_inr #logoArea a h1 img {
        max-width: 115px;
        height: auto; 
	}
}
      #header #headerCnt #headerCnt_inr #headerContact {
        flex-basis: auto;
        width: auto;
        margin-left: auto; }
        #header #headerCnt #headerCnt_inr #headerContact ul {
          margin: 0;
          padding: 0;
          display: flex;
          justify-content: flex-end;
          align-items: center; }
          #header #headerCnt #headerCnt_inr #headerContact ul li {
            list-style: none;
            margin-left: 20px; }
            #header #headerCnt #headerCnt_inr #headerContact ul li a {
              color: #1A1311;
              text-decoration: none;
              font-size: 14px;
			  font-weight: 600;
				transition: all ease .3s;
			}
			@media screen and (min-width: 768px) {
			#header #headerCnt #headerCnt_inr #headerContact ul li a:hover{
              opacity: 0.6;}
			}

              #header #headerCnt #headerCnt_inr #headerContact ul li a.header-contact {
                background-image: linear-gradient(89deg, rgba(29, 40, 82, 1), rgba(25, 153, 207, 1));
                color: #fff;
                border-radius: 50px;
				font-weight: 800;
                height: 40px;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 12px 30px 11px;
                line-height: 1; 
				}
				#header #headerCnt #headerCnt_inr #headerContact ul li a.header-contact:hover {
					opacity: 1;
				}


              #header #headerCnt #headerCnt_inr #headerContact ul li a.children {
                padding-right: 13px;
                background: url("images/common/arrow_down.svg") no-repeat right top 3px/10px 16px; }
      #header #headerCnt #drawerNaviWrap {
        display: none; }
    
      #header #headerCnt.fixed + #main {
        margin-top: 70px !important; }
  @media screen and (min-width: 1025px) {
    #header {
      height: 130px; 
	}
	#indexPage{
	  margin-top: -130px;
	}
      #header #headerCnt #headerCnt_inr {
        max-width: 1170px;
        height: 80px; }
        #header #headerCnt #headerCnt_inr #logoArea {
          flex-basis: 215px;
          width: 215px; }
          #header #headerCnt #headerCnt_inr #logoArea a h1 {
            line-height: 2; }
           
       
      
             }
  @media screen and (max-width: 1000px) {
	  #header #headerCnt #headerCnt_inr #headerContact ul li {
              margin-left: 14px;
	  }
	#header #headerCnt #headerCnt_inr #headerContact ul li a {
              color: #1A1311;
              text-decoration: none;
              font-size: 12px;
			  font-weight: 600;
	  }
	  #header #headerCnt #headerCnt_inr #logoArea #logo {
        margin: 0 0 0 0; 
	  }
	  #header #headerCnt #headerCnt_inr #headerContact ul li a.header-contact{
		 padding: 12px 15px 11px; 
	  }
  }
@media screen and (max-width: 900px) {
	#header #headerCnt #headerCnt_inr #logoArea a h1 img {
	  max-width: 115px;
	  height: auto;
	}
  }
  @media screen and (max-width: 767px) {
    #header #headerCnt {
      max-width: 750px;
      justify-content: space-between;
      height: auto;
       }
	  #header #headerCnt #headerCnt_inr {
        height: 60px; }
      #header #headerCnt #headerCnt_inr #logoArea #logo {
        margin: 0 0 0 0; 
	  }
      #header #headerCnt #headerCnt_inr #headerContact {
        margin-right: 72px; }
        #header #headerCnt #headerCnt_inr #headerContact ul li {
          display: none; }
          #header #headerCnt #headerCnt_inr #headerContact ul li.sp_onlink {
            display: block; }
      #header #headerCnt #drawerNaviWrap {
        display: block; } }



.megaMenu__link.is-active + .megaMenu__content {
  opacity: 1;
  visibility: visible; }

.megaMenu__content {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  background-color: #fff;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 7;
  height: 100vh;
  overflow: auto; }
  .megaMenu__content .container {
    position: relative;
    margin: 60px auto 160px; }
  @media screen and (min-width: 1025px) {
    .megaMenu__content {
      top: 80px; } }

/* ---------------------------------------------------------------- */
/* ヘッダーメニュー */
/* ---------------------------------------------------------------- */
/* SPメニュー */
/* ----------------------------------- */
.admin-bar #navi_contents.navi_contents-on {
  padding-top: 46px !important; }

.openSpNavi {
  width: 100%;
  height: 100%;
  overflow: hidden !important; }

#drawerNaviWrap {
  font-weight: 400;
  position: fixed;
  top: 30px;
  right: 27px; 
	z-index: 600;
}
#drawerNaviWrap .drawerNaviBtnWrap {
    width: 40px;
    height: 40px;
    position: relative;
    cursor: pointer;
	border-radius: 20px;
	background: #000;
}
  #drawerNaviWrap .drawerNaviBtn {
    display: block;
    position: absolute;
    top: 11px;
    left: 50%;
    width: 30px;
    margin-left: -15px;
    height: 18px;
    transition: all .5s;
    z-index: 3; 
}
    
#drawerNaviWrap .drawerNaviBtn span {
      display: block;
	  position: absolute;
	  left: 5px;
	  width: 20px;
	  height: 1px;
	  background-color: #fff;
	  transition: all .5s; 
}
      #drawerNaviWrap .drawerNaviBtn span:nth-child(1) {
        top: 0; }
      #drawerNaviWrap .drawerNaviBtn span:nth-child(2) {
        top: 8px; }
      #drawerNaviWrap .drawerNaviBtn span:nth-child(3) {
        bottom: 1px; }
  #drawerNaviWrap .drawer-nav {
    display: block;
    position: fixed;
    top: 87px;
    right: -100vw;
    bottom: 15px;
    background: #F8F8F8;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 999;
    opacity: 0; 
	 width: calc(100% - 30px);
  margin-right: 15px;
	  border-radius: 25px 25px 25px 25px;

}
    #drawerNaviWrap .drawer-nav .drawerInner {
      padding: 0; }
    #drawerNaviWrap .drawer-nav ul.arow-ul {
      margin: 0;
      padding: 48px 30px 100px;
      width: 100%;
      list-style: none; }
      #drawerNaviWrap .drawer-nav ul.arow-ul li {
        margin: 0;
        list-style: none;
        position: relative; }
        #drawerNaviWrap .drawer-nav ul.arow-ul li a {
          width: 100%;
          text-decoration: none;
          display: block;
          color: #1A1311;
          font-size: 18px;
			font-weight: 600;
          transition-duration: 0.2s;
          margin: 0 0 25px;
          line-height: 1; }
        #drawerNaviWrap .drawer-nav ul.arow-ul li.children {
          overflow: hidden; }
          #drawerNaviWrap .drawer-nav ul.arow-ul li.children > a {
            position: relative;
            background: none;
            margin: 0 0 20px; }
          #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle {
            width: 40px;
            height: 40px;
            position: absolute;
            right: 0;
            top: 0px; }
            #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:after, #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:before {
              content: '';
              width: 16px;
              height: 1px;
              display: block;
              background: #1A1311;
              position: absolute;
              right: 8px;
              top: 10px; }
            #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:after {
              transform: rotate(-90deg);
              transition: all .5s; }
            #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:before {
              transform: rotate(-180deg); }
          #drawerNaviWrap .drawer-nav ul.arow-ul li.children.active .childrenToggle:after {
            transform: rotate(-180deg); }
          #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu {
            display: none;
            margin-bottom: 30px; }
            #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li {
              margin-left: 10px; }
              #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li a {
                font-size: 14px;
                font-family: "Noto Sans JP", sans-serif;
                display: block;
                padding: 0 0 15px;
                margin: 0;
                display: flex;
                align-items: center; }
                #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li a::before {
                  content: "";
                  width: 10px;
                  height: 1px;
                  display: block;
                  background-color: #1A1311;
                  margin: 0 9px; }
              #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li.arow {
                border-bottom: 1px solid #1A1311;
                margin-bottom: 17px;
                background-image: url(images/common/arrow_right_small_black.svg);
                background-size: 14px 12px;
                background-repeat: no-repeat;
                background-position: top 4px right 10px; }
                #drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li.arow a::before {
                  content: none !important; }
        #drawerNaviWrap .drawer-nav ul.arow-ul li .fa-external-link {
          padding-left: 5px; }

#drawerNaviWrap .drawer-nav .link_area{
	padding: 48px 30px 100px;
}
#drawerNaviWrap .drawer-nav .link_area .header-contact{
	display: block;
    width: 100%;
    max-width: 300px;
    height: 64px;
    border: 3px solid #fff;
    border-radius: 40px;
    background: linear-gradient(120deg, #1D2852, #1999CF);
    text-align: center;
    color: #fff;
    line-height: 58px;
    font-weight: 800;
    font-size: 16px;
    position: relative;
    padding-right: 21px;
	margin: 0 auto;
}
#drawerNaviWrap .drawer-nav .link_area .header-contact::after {
    content: "";
    width: 30px;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    background: url("images/home/rinkubotan_arrow.svg") no-repeat;
    background-position-x: 0%;
    background-position-y: 0%;
    background-size: auto;
    background-size: 11px;
    background-position: center left 5px;
    z-index: 1;
  }
#drawerNaviWrap .drawer-nav .link_navi_bottom{
	max-width: 286px;
	padding-top: 20px;
	padding-bottom: 60px;
	margin: 0 auto;
}
#drawerNaviWrap .drawer-nav .link_navi_bottom ul li{
	display: inline-block;
}
#drawerNaviWrap .drawer-nav .link_navi_bottom ul li a{
	color: #121212;
	font-size: 14px;
	background: url("images/common/gaibu_link_icon_black_w.svg") no-repeat;
	background-size: 15px;
	background-position: center right;
	padding: 5px 20px 3px 0;
  margin-right: 20px;
}
#drawerNaviWrap .drawer-nav .copyright{
	text-align: center;
	font-size: 16px;
}

  #overlay {
    display: none;
    transition: all .5s; }

 
  #drawerNaviWrap.open .drawerNaviBtnWrap {
    
     }
  #drawerNaviWrap.open .drawerNaviBtn {
    
}
  
    #drawerNaviWrap.open .drawerNavClose span {
      display: block;
  position: absolute;
  width: 29px;
  height: 1px;
  top: 9px;
  right: 5px;
  transition: all .5s;
  background: #fff; }
    #drawerNaviWrap.open .drawerNaviBtn span:nth-child(1) {
      transform: translateY(10px) rotate(137deg); }
    #drawerNaviWrap.open .drawerNaviBtn span:nth-child(2) {
      transform: translateY(10px) rotate(42deg);
		top: 0px;
}
#drawerNaviWrap.open .drawerNaviBtn span:nth-child(3) {
      display: none;}
   
  #drawerNaviWrap.open .drawer-nav {
    right: 0;
	top:87px;
    opacity: 1; 
	  z-index: 500;
}
  .openSpNavi #overlay {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
	  backdrop-filter: blur(4px);
 background: rgba(255, 255, 255, 0);
	  z-index: 3;
}
@media screen and (min-width: 768px) {
.openSpNavi {
  width: 100%;
  height: 100%;
  overflow: auto !important;
}
.openSpNavi #overlay {
    display: none;
    
}
}


#fix_header{
	display: none;
}


.megaMenu__content {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  background-color: #fff;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 7;
  height: 100vh;
  overflow: auto; }
  .megaMenu__content .container {
    position: relative;
    margin: 60px auto 160px; }
  @media screen and (min-width: 1025px) {
    .megaMenu__content {
      top: 80px; } }

/* ----------------------------------- */
/* コンテナ
/* ----------------------------------- */
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }
  @media print, screen and (min-width: 768px) {
    .container {
      max-width: 750px;
      width: 100%;
      transition: ease-in .1s; } }
  @media print, screen and (min-width: 992px) {
    .container {
      max-width: 970px;
      transition: ease-in .1s; } }
  @media print, screen and (min-width: 1200px) {
    .container {
      max-width: 1170px;
      transition: ease-in .1s; } }

@media print, screen and (min-width: 768px) {
  .outsidePadding {
    padding-left: 15px;
    padding-right: 15px; } }
@media print, screen and (min-width: 992px) {
  .outsidePadding {
    padding-left: 45px;
    padding-right: 45px; } }



#main_visual{
	display: none;
}
#post_slider{
	display: none;
}
#sidebar{
	display: none;
}

@media (min-width: 960px) {
  .-sidebar-on .l-content {
    display: inherit;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

/*banner-btn 周りの英字はくるくる回るやつ*/
.cycle {
  display: block;
  width: 115px;
  height: 115px;
  position: relative;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700; }
  .cycle::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 120px;
    height: 120px;
	background: url("images/home/fv_sclol_english.svg") no-repeat top left/cover;
    animation: rotate-anime 20s linear infinite; }
  .cycle .banner-txt_inr {
    border: 1px solid #1A1311;
    width: 92px;
    height: 92px;
    border-radius: 50px;
    position: absolute;
    top: 14px;
    left: 14px;
    text-align: center;
    display: block;
    background-color: #1A1311;
    background-image: url("images/common/whitecab_white.svg");
    background-position: top 11px center;
    background-repeat: no-repeat;
    background-size: 30px; }
@media screen and (min-width: 767px) {
.cycle {
  display: block;
  width: 155px;
  height: 155px;
	top: -22px !important;
   }
  .cycle::before {
    
    width: 160px;
    height: 160px;
	 }
  .cycle .banner-txt_inr {
    width: 92px !important;
    height: 92px !important;
     }
	.scrolldown {
	  transform: translateY(1px);
	  animation: arrowmove 1s ease-in-out infinite;
	  margin-top: 45px !important;
	  margin-left: 48px !important;
	  height: 157px;
	}
	.scrolldown img {
	  transform: rotate(90deg);
	  width: 64px !important;
	}
}

    .cycle .banner-txt_inr .banner-txt {
      margin-top: -18px; }
      .cycle .banner-txt_inr .banner-txt .txt {
        display: inline-block;
        line-height: 1.4;
        background-image: url("images/common/arrow_white.svg");
        background-position: bottom 5px left 34px;
        background-repeat: no-repeat;
        background-size: 10px 6px;
        font-family: "Noto Sans JP", sans-serif;
        padding-bottom: 20px; }
  .cycle.bnr-following {
    position: fixed;
    bottom: -200px;
    right: 15px;
    z-index: 3; }
    .cycle.bnr-following .banner-txt_inr .banner-txt {
      margin-top: 45px; }
  @media screen and (min-width: 1025px) {
    .cycle:hover {
      color: #1A1311; }
      .cycle:hover .banner-txt_inr {
        background-color: #fff;
        background-image: url("images/common/whiteccab_black.svg"); }
       .cycle:hover .banner-txt_inr .banner-txt .txt {
          background-image: url("images/common/arrow_black.svg"); }
   .cycle.bnr-following {
      right: 19px; } }

@keyframes rotate-anime {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(360deg); } }
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }


/* ------------------------------------------ /
/scrolldown/
/ ------------------------------------------ */
.scrolldown {
  transform: translateY(1px);
  animation: arrowmove 1s ease-in-out infinite;
  margin-top: 30px;
  margin-left: 35px;
  height: 100px;
}
  .scrolldown img {
    transform: rotate(90deg);
	  width: 50px;
}

@keyframes arrowmove {
  0% {
    transform: translateY(1px); }
  50% {
    transform: translateY(10px); }
  100% {
    transform: translateY(1px); } }
/* ------------------------------------------ /
/ topメインコピーアニメーション /
/ ------------------------------------------ */
.active_text,
.active_text::after {
  animation-delay: .8s;
  animation-iteration-count: 1;
  animation-duration: 800ms;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }

.active_text {
  position: relative;
  animation-name: clip-text;
  white-space: nowrap;
  cursor: default; }
  .active_text::after {
    content: "";
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #1A1311;
    transform: scaleX(0);
    transform-origin: 0 50%;
    pointer-events: none;
    animation-name: text-revealer; }

@keyframes clip-text {
  from {
    clip-path: inset(0 100% 0 0); }
  to {
    clip-path: inset(0 0 0 0); } }
@keyframes text-revealer {
  0%, 50% {
    transform-origin: 0 50%; }
  60%, 100% {
    transform-origin: 100% 50%; }
  60% {
    transform: scaleX(1); }
  100% {
    transform: scaleX(0); } }
/* ------------------------------------------ /
/scroll_up 下から上へ/
/ ------------------------------------------ */
.home .scroll_up,
.home .scroll_left {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out; }
.home .scroll_up {
  transform: translateY(30px);
  opacity: 0; }
.home .scroll_up.on {
  transform: translateY(0);
  opacity: 1.0; }
.home .scroll_left {
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0; }
.home .scroll_left.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0); }
.home .timing02 {
  transition-delay: .2s; }
.home .timing03 {
  transition-delay: .4s; }
.home .timing04 {
  transition-delay: .6s; }
.home .timing05 {
  transition-delay: .8s; }
.home .reveal-textup.on {
  animation-name: clip-text;
  animation-delay: .2s;
  animation-iteration-count: 1;
  animation-duration: .8s;
  animation-fill-mode: both;
  animation-timing-function: ease-in-out; }
.home .text_up {
  animation: text-up .8s ease-in-out 0s 1 normal; }
@keyframes text-up {
  0% {
    transform: translateY(30px);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1.0; } }
ul {
  list-style: none;
  padding: 0;
  margin: 0; }
#indexPage {
  background: #F5F5F5 url("images/home/bg_texchar.png");
  background-position: center;
}

#indexPage p {
  text-align: justify;
  text-justify: inter-ideograph;
  margin-bottom: 35px; 
}


.topbc-coloron {
  animation: bg-color 20s ease 1s infinite forwards;
}

.p-fixBtnWrap{
	display: none;
}


/* ---------------------------------------------------------------- */
/* HOME */
/* ---------------------------------------------------------------- */
#mainccArea{
	padding-top: 140px;
}
.maincc_inner{
	background:url("images/home/fv_ilusto.svg") no-repeat;
	background-position: top right;
	background-size: 252px;
	padding-top: 60px;
}
#mainccArea .maincc_inner .active_text{
	font-size: 68px;
	font-weight: 800;
	line-height: 1;
  	margin-bottom: 10px;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
}
#mainccArea .maincc_inner .active_text .s_text{
	font-size: 48px;
}
.pc_title{
	display: block;
	padding-bottom: 20px;
}
.sp_title{
	display: none;
	padding-bottom: 10px;
}
.ub_area{
	position: relative;
	display: inline-block;
}
.ub_area::before{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #333333;
}
.ub_area::after{
	content: "";
	position: absolute;
	bottom: -5px;
	left: 0;
	width: calc(100% - 40px);
	height: 1px;
	background: #333333;
}
.ub_area2{
	position: relative;
	display: inline-block;
  	margin-right: auto;
  	margin-bottom: 13px;
}
.ub_area2::before{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #333333;
}
.ub_area2::after{
	content: "";
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
	height: 1px;
	background: #333333;
}
#mainccArea .maincc_inner .link_area{
	position: relative;
	padding-bottom: 80px;
}
#mainccArea .maincc_inner .link_area .cycle{
	position: absolute;
	top: 0;
	right: 0;
}
@media screen and (max-width: 768px) {
#mainccArea .maincc_inner .link_area{
	position: relative;
	padding-bottom: 130px;
	margin-bottom: 40px;
}
#mainccArea .maincc_inner .link_area .cycle{
	position: absolute;
	top: auto;
	bottom: 0;
	right: 0;
}
}
@media screen and (max-width: 1190px) {
#mainccArea .maincc_inner .active_text{
	font-size: 58px;
}
#mainccArea .maincc_inner .active_text .s_text{
	font-size: 38px;
}
}
@media screen and (max-width: 998px) {
.maincc_inner{
	padding-top: 70px;
}
#mainccArea .maincc_inner .active_text{
	font-size: 48px;
}
#mainccArea .maincc_inner .active_text .s_text{
	font-size: 28px;
}
}

#mainccArea .maincc_inner .active_text .i_text{
	font-style: italic;
	margin-left: -18px;
}
#mainccArea .maincc_inner .b_b_text{
	background: #121212;
	display: table;
	border-radius: 4px;
	padding: 3px 30px;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 23px;
}
#mainccArea .maincc_inner p{
	font-weight: 600;
	font-size: 30px;
}
#mainccArea .cc_btn{
	display: block;
	width: 300px;
	height: 80px;
	border: 3px solid #fff;
	border-radius: 40px;
	background: linear-gradient(120deg, #1D2852, #1999CF);
	text-align: center;
  	color: #fff;
  	line-height: 75px;
  	font-weight: 800;
  	font-size: 20px;
	position: relative;
	z-index: 2;
	overflow: hidden;
	padding-right: 32px;
}
#mainccArea .cc_btn::after{
	content: "";
  width: 12px;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 20px;
	background: url("images/home/rinkubotan_arrow.svg") no-repeat;
	background-size: 21px;
	background-position: center left -10px;
	z-index: 2;
	transition: all ease .3s;
}

#mainccArea .cc_btn::before{
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background: linear-gradient(120deg, #1999CF, #1D2852);
	z-index: -1;
	transition: all ease .3s;
}
@media screen and (min-width: 768px) {
#mainccArea .cc_btn:hover::before{
	opacity: 0;
}
#mainccArea .cc_btn:hover::after{
	content: "";
	width: 30px;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background: url("images/home/rinkubotan_arrow.svg") no-repeat;
	background-size: 21px;
	background-position: center left -10px;
	z-index: 2;
}

}
@media screen and (max-width: 768px) {
#mainccArea{
	padding-top: 100px;	
}
#mainccArea .cc_btn{
	display: block;
	width: 100%;
	max-width: 230px;
	height: 64px;
	border: 3px solid #fff;
	border-radius: 40px;
	background: linear-gradient(120deg, #1D2852, #1999CF);
	text-align: center;
  	color: #fff;
  	line-height: 58px;
  	font-weight: 800;
  	font-size: 16px;
	position: relative;
	padding-right: 21px;
}
#mainccArea .cc_btn::after{
	content: "";
	width: 30px;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background: url("images/home/rinkubotan_arrow.svg") no-repeat;
	background-size: 11px;
	background-position: center left 5px;
    z-index: 1;
	
	
}
.maincc_inner{
	background:url("images/home/fv_ilusto.svg") no-repeat;
	background-position: top right;
	background-size: 40%;
	padding-top: 21%;
}
#mainccArea .maincc_inner .b_b_text{
	background: #121212;
    display: table;
    border-radius: 0 4px 4px 0;
    padding: 3px 5%;
    color: #fff;
    font-size: 95%;
    margin-bottom: 23px;
    margin-left: -15px;
}
#mainccArea .maincc_inner .active_text{
	font-size: 244%;
}
#mainccArea .maincc_inner .active_text .s_text{
	font-size: 74%;
}
#mainccArea .maincc_inner .active_text .l_text{
	font-size: 120%;
}
#mainccArea .maincc_inner p{
	font-weight: 600;
	font-size: 109%;
}
.pc_title{
	display: none;
}
.sp_title{
	display: block;
}
#mainccArea .maincc_inner .active_text .i_text{
	margin-left: -3%;
}
}
/* ----------------------------------- */
/* ボタン */
/* ----------------------------------- */
.btnWrap {
  margin: 30px 0; }
  .btnWrap.colomn2 {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    grid-gap: 30px 60px; }

.btn {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  color: #1A1311;
  text-decoration: none; }

.btn.type1 {
  width: 240px;
  height: 60px;
  background-color: #fff;
  font-family: p22-underground, sans-serif;
  font-weight: 600; }

.btn.type1 svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.btn.type1 svg rect {
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
  stroke: #1A1311;
  stroke-width: 2;
  stroke-dasharray: 232px, 21px;
  stroke-dashoffset: 58px; }

.btn.type1 span {
  color: #1A1311; }

.btn.arrow:after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #fff;
  right: 15px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -15px;
  transition: .3s ease-in; }
.btn.arrowReverse:after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #1A1311;
  right: 15px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -15px;
  transition: .3s ease-in; }
.btn.reverse {
  text-decoration: none;
  color: #1A1311;
  background: #fff;
  border-color: #1A1311; }
.btn.btnLeft {
  margin: 0 auto; }
.btn.btnRight {
  margin: 0 auto; }
.btn.btnCenter {
  margin-left: auto;
  margin-right: auto; }
.btn.btnFull {
  max-width: none; }
.btn.type2 {
  background: #CA1633;
  border-color: #CA1633;
  color: #fff; }
  .btn.type2:after {
    color: #fff; }
  .btn.type2:hover {
    background: #1A1311;
    border-color: #1A1311;
    color: #fff; }
    .btn.type2:hover:after {
      color: #fff; }

@media print, screen and (min-width: 768px) {
  .btnWrap {
    margin: 60px 0; }
    .btnWrap.colomn2 {
      grid-template-columns: repeat(2, 240px); }

  .btn.type1:hover svg rect {
    stroke-dashoffset: 284px; }

  .btn.arrow:hover:after, .btn.arrow:focus:after {
    color: #1A1311; }
  .btn.arrowReverse:hover:after, .btn.arrowReverse:focus:after {
    color: #fff; }
  .btn.reverse:hover, .btn.reverse:focus {
    background: #1A1311;
    color: #fff; }
  .btn.btnLeft {
    margin: 0 auto 0 0; }
  .btn.btnRight {
    margin: 0 0 0 auto; }
  .btn.btnCenter {
    margin-left: auto;
    margin-right: auto; }
  .btn.btnFull {
    max-width: none; } }



/* ---------------------------------------------------------------- */
/* CONTACT  */
/* ---------------------------------------------------------------- */
.contact_area {
  background: #1A1311;
  padding: 95px 0 90px; 
}

/* ---------------------------------------------------------------- */
/* フッターエリア */
/* ---------------------------------------------------------------- */
#footer {
  clear: both;
  background: #121212;
	border-radius: 32px 32px 0 0;
}
#footer p{
  color: #ffffff;
	font-size: 14px;
}
#footer .container {
  position: relative; 
}
#footer #footerCnt {
  margin-bottom: 58px; 
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
#footer #footerCnt {
  margin-bottom: 58px; 
  display: block;
  flex-wrap: wrap;
  justify-content: space-between;
}
}
#footer #footerCnt .company-name {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 14px;
}
@media screen and (max-width: 768px) {
#footer #footerCnt .company-name img{
  max-width: 190px;
}
}
#footer #footerCnt address {
  line-height: 2; 
}
#footer #footerCnt .footer_navi{
	width: 235px;
	margin-top: 80px;
}
@media screen and (max-width: 768px) {
#footer #footerCnt .footer_navi{
	width: 100%;
	max-width: 235px;
	margin-top: 30px;
}
}
#footer #footerCnt .footer_navi ul{
	display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#footer #footerCnt .footer_navi ul li{
	width: 50%;
	margin-bottom: 8px;
}
#footer #footerCnt .footer_navi ul li a{
	font-size: 14px;
	color: #fff;
}
#footer .footer_navi_bottom ul{
	margin-left: auto;
	display: table;
}
#footer .footer_navi_bottom ul li{
	display: inline-block;
	margin-left: 35px;
}
#footer .footer_navi_bottom ul li a{
	font-size: 14px;
	color: #fff;
	background: url("images/common/gaibu_link_icon_black.svg") no-repeat;
	background-size: 15px;
	background-position: top 0px right 0;
  	padding-right: 24px;
}
@media screen and (max-width: 768px) {
#footer .footer_navi_bottom ul{
	margin-left: 0;
	display: table;
}
#footer .footer_navi_bottom ul li{
	display: block;
	margin-left: 0;
}
}
#footer #copyright {
  text-align: center;
  margin-top: 25px;
  border-top: 1px solid #ffffff;
  padding: 20px 15px;
}
    #footer #copyright p {
      margin: 0;
      font-weight: 400;
		font-size: 16px;
}
  @media screen and (min-width: 1025px) {
    #footer {
      padding: 75px 0 0; }
      #footer #footerCnt {
        margin-bottom: 60px; }
       }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    #footer {
      padding: 75px 0 0; }
      
       }
  @media screen and (max-width: 767px) {
    #footer {
      padding: 90px 0 0; }
      #footer .sns_wrap {
        justify-content: center; }
       }


/* ---------------------------------------------------------------- */
/* ページトップ ボタン */
/* ---------------------------------------------------------------- */
#pagetopArea {
  position: absolute;
  right: 15px;
  top: 0; 
}
@media screen and (min-width: 1025px) {
    #pagetopArea {
      top: 0; 
	} 
}


/* ---------------------------- */
/* sns リンク */
/* ---------------------------- */
.sns_wrap {
  list-style: none;
  display: grid;
  grid-column-gap: 19px;
  margin: 0;
  padding-left: 0;
  grid-template-columns: repeat(2, 24px); }
  .sns_wrap li {
    width: 24px; }



#footer address {
  font-style: normal;
}


.about_swiper_area{
	padding-top: 50px;
}
.about_swiper_area h3{
	text-align: center;
	font-size: 24px;
}





.top-banner{
	margin: 0 0 0;
	position: relative;
}
.top-banner img{
	width: 100%;
}

	
.pd_text{
	padding-top: 10px;
}
.title_c_top{
	text-align: center;
	font-size: 24px;
}


.sp_br{
	display: none;
}
.pc_br{
	display: block;
}
@media screen and (max-width: 767px) {
.sp_br{
	display: block;
}
.pc_br{
	display: none;
}
}


.grecaptcha-badge{
	display: none !important;
}

/* ---------------------------- */
/* aboutArea */
/* ---------------------------- */
#aboutArea .bg{
	background:url("images/home/onayami_bg.jpg") no-repeat;
	background-size: cover;
	background-position: center;
	padding: 60px 0 80px;
	border-radius: 32px;
	width: calc(100% - 30px);
	margin: 0 auto;
	transition: all ease .3s;
	max-width: 1142px;
}
#aboutArea .bg.fixed{
	border-radius: 0;
	width: 100%;
	max-width: 100%;
}
#aboutArea .bg h2{
	text-align: center;
	margin-bottom: 40px;
	color: #fff;
	font-size: 32px;
	font-weight: 800;
	font-family: 'Noto Sans JP', sans-serif;
}
#aboutArea .bg ul{
	display: flex;
  	flex-wrap: wrap;
  	justify-content: space-between;
}
#aboutArea .bg ul li{
	width: calc( ( 100% - ( 20px * ( 3 - 1) ) ) / 3 );
	background: #FFFFFF url("images/home/onayami_icon.svg") no-repeat;
	background-position: top 18px left 12px;
	background-size: 14px;
	padding: 20px 15px 20px 36px;
	margin-bottom: 15px;
	border-radius: 4px;
	color: #121212;
	font-size: 16px;
	font-weight: 800;
}
#aboutArea .bg ul.type2{
	max-width: 66%;
  	margin: 0 auto;
}
#aboutArea .bg ul.type2 li{
	width: calc( ( 100% - ( 20px * ( 2 - 1) ) ) / 2 );
}
#aboutArea .bg ul li span{
	display: inline-block;
}
@media screen and (max-width: 1200px) {
#aboutArea .bg{
	border-radius: 32px;
	padding: 60px 0 80px;
	width: calc(100% - 30px);
	margin: 0 auto;
}
#aboutArea .bg ul.type2{
	max-width: 66%;
  	margin: 0 auto;
}
}
@media screen and (max-width: 768px) {
#aboutArea .bg h2{
	font-size: 28px;
}
#aboutArea .bg ul li{
	width: calc( ( 100% - ( 10px * ( 2 - 1) ) ) / 2 );
	background: #FFFFFF url("images/home/onayami_icon.svg") no-repeat;
	background-position: top 18px left 12px;
	background-size: 12px;
	padding: 10px 16px 10px 36px;
	margin-bottom: 10px;
	border-radius: 4px;
	color: #121212;
	font-size: 16px;
	font-weight: 800;
}
#aboutArea .bg ul.type2 li{
	width: calc( ( 100% - ( 10px * ( 2 - 1) ) ) / 2 );
}	
#aboutArea .bg ul.type2{
	max-width: 100%;
  	margin: 0 auto;
}
}
.bg2{
	padding: 50px 0 0;
	position: relative;
	background:url("images/home/kaiketu_bg_sankaku.png") no-repeat;
	background-position: bottom center;
	background-size: auto;
}
.bg2::after{
	position: absolute;
	content: "";
	bottom: 40px;
	left: 50%;
	width: 1px;
	height: 60px;
	background: #121212;
}
.bg2 h2{
	max-width: 756px;
	margin: 0 auto;
	border-bottom: 1px solid #121212;
	padding-bottom: 15px;
}
.bg2 h2 img{
	display: block;
	margin: 0 auto;
}
.bg2 p{
	text-align: center !important;
	font-size: 40px;
	font-weight: 800;
	padding: 40px 0 115px;
	margin-bottom: 0 !important;
	
}
@media screen and (max-width: 768px) {
	.bg2 h2{
		font-size: 28px;
	}
.bg2 p{
	text-align: center !important;
	font-size: 30px;
	font-weight: 800;
	padding: 40px 0 115px;
	margin-bottom: 0 !important;
	
}
.bg2 p span{
	display: inline-block;
	
}
}
.bg3{
	padding: 60px 0 100px;
}
.bg3 h2{
	text-align: center;
	margin-bottom: 40px;
	color: #121212;
	font-size: 32px;
	font-weight: 800;
	font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 768px) {
	.bg3 h2{
		font-size: 28px;
	}
}
.reazon_area{
}
.reazon_box{
	display: flex;
  	flex-wrap: wrap;
  	justify-content: space-between;
	background: #fff;
	border-radius: 32px;
	padding: 40px 80px;
	margin-bottom: 40px;
	position: sticky;
  	top: 143px;
}
.reazon_box .text_box{
	width: calc(100% - 330px);
}
.reazon_box .img_box{
	width: 300px;
}
.reazon_box .text_img_box{
	display: none;
	margin-bottom: 10px;
}
.reazon_box .reazon_number{
	font-size: 20px;
	font-weight: 800;
	color: #C6C6C6;
	font-family: "Arial", "メイリオ";
	margin-bottom: 7px !important;
	line-height: 1;
	width: 100%;
}
.reazon_box .reazon_number span{
	font-size: 43px;
}
.reazon_box h3{
	font-size: 28px;
	line-height: 1.4;
	margin-bottom: 20px;
}
.reazon_box p{
	font-size: 16px;
}
@media screen and (max-width: 990px) {
	.reazon_box{
		padding: 40px 20px;
	}
	.reazon_box .text_box{
		width: calc(100% - 230px);
	}
	.reazon_box .img_box{
		width: 200px;
	}
}
@media screen and (max-width: 768px) {
	.reazon_box{
		border-radius: 32px;
		padding: 40px 15px;
	}
	.reazon_box .text_box{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.reazon_box .text_title_box{
		display: block;
		width: calc(100% - 120px);
	}
	.reazon_box .text_img_box{
		display: block;
		width: 90px;
	}
	.reazon_box .img_box{
		display: none;
	}
	.reazon_box .reazon_number{
		font-size: 15px;
	}
	.reazon_box .reazon_number span{
		font-size: 34px;
	}
	.reazon_box h3{
		font-size: 20px;
	}
}

.ctaArea{
   width: 100%;
}
.ctaArea a{
	width: 100%;
	display: block;
	background: #121212;
	padding: 80px 0;
}
.ctaArea h2{
	color: #fff;
	font-size: 40px;
	padding-right: 168px;
}
.ctaArea h2 span{
	display: block;
	font-size: 24px;
}
.ctaArea .container{
	position: relative;
}
.ctaArea .container .link_btn .arrow_icon{
	position: absolute;
	top: 50%;
	right: 25px;
	width: 140px;
	height: 140px;
	background: linear-gradient(120deg, #1D2852, #1999CF);
	border-radius: 70px;
	margin-top: -70px;
}

.ctaArea .container .link_btn .arrow_icon::before{
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	content: "";
	background: url("images/home/cta_arrow.svg") no-repeat;
	background-position: center;
	background-size: 38px;
}
@media screen and (min-width: 767px) {
.ctaArea a:hover{
	width: 100%;
	display: block;
	background: linear-gradient(120deg, #1D2852, #1999CF);
	padding: 80px 0;
	transition: all ease .3s;
}
.ctaArea a:hover .container .link_btn .arrow_icon{
	position: absolute;
	top: 50%;
	right: 15px;
	width: 160px;
	height: 160px;
	background: none;
	border-radius: 80px;
	margin-top: -80px;
	border: 1px solid #fff;
	transition: all ease .3s;
}
}
@media screen and (max-width: 768px) {
.ctaArea h2{
	color: #fff;
	font-size: 32px;
	padding-right: 0;
}
.ctaArea h2 span{
	display: block;
	font-size: 24px;
}
.ctaArea .container .link_btn{
	padding-top: 33px;	
}
.ctaArea .container .link_btn .arrow_icon{
	position: relative;
	margin: 0 auto;
	top: auto;
	right: auto;
	width: 90px;
	height: 90px;
	display: block;
}
.ctaArea .container .link_btn .arrow_icon::before{
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	content: "";
	background: url("images/home/cta_arrow.svg") no-repeat;
	background-position: center;
	background-size: 24px;
}
}


#serviceArea{
	padding: 100px 0 80px;
}
#serviceArea h2{
	text-align: center;
	margin-bottom: 40px;
	color: #121212;
	font-size: 32px;
	font-weight: 800;
	font-family: 'Noto Sans JP', sans-serif;
}
#serviceArea .img_area{
	padding-bottom: 60px;
}
#serviceArea .img_area .pc{
	margin: 0 auto;
	display: block;
}
#serviceArea .img_area .sp{
	margin: 0 auto;
	display: none;
	max-width: 345px;
}
.service_list{
	display: block;
}
.service_list_sp{
	display: none;
	
}
#serviceArea .service_list ul{
	display: flex;
  	flex-wrap: wrap;
  	justify-content: space-between;
}
#serviceArea .service_list ul li{
	width: calc( ( 100% - ( 20px * ( 3 - 1) ) ) / 3 );
	padding: 30px;
	background: #fff;
	border-radius: 16px;
	margin-bottom: 20px;
}
#serviceArea .service_list ul li h3{
	font-size: 28px;
	font-weight: 800;
	font-family: 'Noto Sans JP', sans-serif;
}
#serviceArea .service_list ul li p{
	margin-bottom: 0;
}
#serviceArea .service_list_sp .swiper-slide{
	width: 100%;
	height: auto;
	padding: 30px;
	background: #fff;
	border-radius: 16px;
	margin-bottom: 20px;
}
#serviceArea .service_list_sp .swiper-slide h3{
	font-size: 28px;
	font-weight: 800;
	font-family: 'Noto Sans JP', sans-serif;
}
#serviceArea .service_list_sp .swiper-slide p{
	margin-bottom: 0;
	font-size: 14px;
}
@media screen and (max-width: 768px) {
.service_list{
	display: none;
}
.service_list_sp{
	display: block;
	position: relative;
}
	#serviceArea h2{
		font-size: 28px;
	}
	#serviceArea .img_area .pc{
		display: none;
	}
	#serviceArea .img_area .sp{
		display: block;
	}
}
#flowArea{
	overflow: hidden;
	margin-bottom: 100px;
}
#flowArea .bg{
	background: #fff;
	border-radius: 0 32px 32px 0;
	padding: 100px 0 80px;
	position: relative;
}
#flowArea .bg::after{
	content: "";
	position: absolute;
	top: 0;
	left: -2000px;
	width: 2000px;
	height: 100%;
	background: #fff;
	
}
#flowArea h2{
	text-align: left;
	margin-bottom: 40px;
	color: #121212;
	font-size: 32px;
	font-weight: 800;
	font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 768px) {
	#flowArea h2{
		font-size: 28px;
	}
}
#faqArea{
	padding: 100px 0 80px;
}
#faqArea h2{
	text-align: center;
	margin-bottom: 40px;
	color: #121212;
	font-size: 32px;
	font-weight: 800;
	font-family: 'Noto Sans JP', sans-serif;
}

.flow_list{
	padding-right: 100px;
}
@media screen and (max-width: 768px) {
.flow_list{
	padding-right: 15px;
}
}
.flow_list .flow_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flow_list .flow_box .icon_box{
	width: 74px;
}
.flow_list .flow_box .icon_box .icon_inner{
	width: 74px;
	height: 74px;
	border-radius: 100%;
	border: 3px solid #121212;
	margin-top: 54px;
	position: relative;
	background: #fff url("images/home/step_01.svg") no-repeat;
	background-position: center;
	background-size: 39px;
	z-index: 3;
}
@media screen and (max-width: 768px) {
.flow_list .flow_box .icon_box .icon_inner{
	margin-top: 45px;
}
}
.flow_list .flow_box:nth-child(2) .icon_box .icon_inner{
	background: #fff url("images/home/step_02.svg") no-repeat;
	background-position: center;
	background-size: 39px;
}
.flow_list .flow_box:nth-child(3) .icon_box .icon_inner{
	background: #fff url("images/home/step_03.svg") no-repeat;
	background-position: center;
	background-size: 39px;
}
.flow_list .flow_box:nth-child(4) .icon_box .icon_inner{
	background: #fff url("images/home/step_04.svg") no-repeat;
	background-position: center;
	background-size: 39px;
}
.flow_list .flow_box:nth-child(5) .icon_box .icon_inner{
	background: #fff url("images/home/step_05.svg") no-repeat;
	background-position: center;
	background-size: 39px;
}
.flow_list .flow_box .icon_box .icon_inner::after{
	content: "";
  	position: absolute;
  	bottom: -160px;
  	left: 33px;
  	width: 2px;
  	height: 159px;
  	background: #121212;
  	z-index: -1;
}
.flow_list .flow_box:last-child .icon_box .icon_inner::after{
	content: none;
}
.flow_list .flow_box .text_box{
	width: calc(100% - 114px);
	border-bottom: 1px solid #707070;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 44px 0;
}
@media screen and (max-width: 768px) {
.flow_list .flow_box .text_box{
	width: calc(100% - 93px);
	padding: 30px 0 20px;
}
}
.flow_list .flow_box .text_box .step_box{
	width: 100px;
	color: #C6C6C6;
	font-size: 17px;
	font-weight: 800;
	font-family: "Arial", "メイリオ";
	padding-top: 8px;
}
.flow_list .flow_box .text_box .text_c_box{
	width: calc(100% - 110px);
}
@media screen and (max-width: 768px) {
.flow_list .flow_box .text_box .step_box{
	width: 100%;
}
.flow_list .flow_box .text_box .text_c_box{
	width: 100%;
}
}
.flow_list .flow_box .text_box .text_c_box h3{
	font-size: 28px;
}
.flow_list .flow_box .text_box .text_c_box p{
	font-size: 16px;
	margin-bottom: 0 !important;
	text-align: left !important;
}
.flow_list .flow_box .text_box .text_c_box p span{
	display: inline-block;
	text-align: left;
}
@media screen and (max-width: 768px) {
.flow_list .flow_box .text_box .text_c_box h3{
	font-size: 24px;
}
}


@media screen and (max-width: 768px) {
	#faqArea h2{
		font-size: 28px;
	}
}
#contactArea{
	padding: 0 15px 100px;
}
#contactArea .bg{
	padding: 60px 0 80px;
    max-width: 1100px;
    margin: 0 auto;
	background: #fff;
	border-radius: 32px;
}
#contactArea h2{
	text-align: center;
	margin-bottom: 40px;
	color: #121212;
	font-size: 32px;
	font-weight: 800;
	font-family: 'Noto Sans JP', sans-serif;
}
#contactArea form{
	max-width: 940px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	#contactArea .bg{
		padding: 60px 0 80px;
		width: 100%;
		margin: 0 auto;
		background: #fff;
		border-radius: 32px;
	}
	#contactArea h2{
		font-size: 28px;
	}
}



.page_in_link{
  padding-top: 80px;
  margin-top: -80px;
}
@media screen and (max-width: 768px) {
.page_in_link{
  padding-top: 0;
  margin-top: 190px;
}
}

/* ---------------------------------------------------------------- */
/* accordion */
/* ---------------------------------------------------------------- */
.accordion-container {
  margin: 0 auto;
  width: 100%; 
  max-width: 940px;
}
.accordion-container .accordion-list {
    background: #fff;
    margin-bottom: 20px;
	border-radius: 8px;
	overflow: hidden;
}
    .accordion-container .accordion-list::first-child {
      margin-top: 10px; }
    .accordion-container .accordion-list .accordion-title {
      cursor: pointer;
      font-size: 16px;
      padding: 18px 30px 18px 76px;
      position: relative;
      font-weight: bold;
      margin-bottom: 0; }
      .accordion-container .accordion-list .accordion-title::before {
        position: absolute;
        content: "Q";
        font-family: "Arial", "メイリオ";
        font-size: 24px;
        font-weight: bold;
        color: #333333;
        left: 30px;
        top: 12px; }
      .accordion-container .accordion-list .accordion-title::after {
        position: absolute;
		  content: '＋';
		  top: 6px;
		  right: 33px;
		  height: 10px;
		  width: 20px;
		  transition: all .3s ease-in-out;
		  font-size: 30px; 
		}
      .accordion-container .accordion-list .accordion-title.open::after {
        content: '－';
		}
    .accordion-container .accordion-list .accordion-text {
      display: none;
      padding: 10px 35px 20px 76px;
      position: relative;
      font-size: 16px; }
      .accordion-container .accordion-list .accordion-text::before {
        position: absolute;
        content: "A";
        font-family: "Arial", "メイリオ";
        font-size: 24px;
        font-weight: bold;
        color: #C6C6C6;
        left: 30px;
        top: 4px; 
}
		.accordion-container .accordion-list .accordion-text::after {
			position: absolute;
			top: -4px;
			left: 73px;
			content: "";
			width: calc(100% - 100px);
			height: 1px;
			background: #EFEFEF;
		}
		@media screen and (max-width: 767px) {
			.accordion-container .accordion-list .accordion-text::after {
				position: absolute;
				top: -4px;
				left: 60px;
				content: "";
				width: calc(100% - 100px);
				height: 1px;
				background: #EFEFEF;
			}
		}
		.accordion-container .accordion-list .accordion-text .a_text{
			margin: 0 !important;
			font-size: 16px;
		 }

@media screen and (max-width: 767px) {
	.accordion-container .accordion-list .accordion-title::after {
		top: 16px;
		right: 23px;
	}
  .accordion-container .accordion-list .accordion-title {
    padding: 26px 50px 20px 60px; }
    .accordion-container .accordion-list .accordion-title::before {
      left: 17px;
      top: 21px; }
  .accordion-container .accordion-list .accordion-text {
    padding: 10px 50px 24px 60px; 
	}
    .accordion-container .accordion-list .accordion-text::before {
      left: 17px; } }



#header #headerCnt #headerCnt_inr #headerContact ul li a.header-contact:hover{
	background-image: linear-gradient(89deg, rgba(25, 153, 207, 1), rgba(29, 40, 82, 1)) !important;
}

.top-experiences{
	overflow: hidden;
	background: #fff;
	border-radius: 8px;
	padding: 10px 20px;
	margin-bottom: 80px;
}
.top-experiences .swiper-wrapper {
    transition-timing-function: linear;
}

.top-experiences img{
	width: 100%;
	margin-top: 10px;
}

.arrow_area{
	width: 100%;
}
.arrow_inner{
	width: 80px;
	height: 110px;
	border-radius: 40px;
	background-image: linear-gradient(0deg, rgba(25, 153, 207, 1), rgba(29, 40, 82, 1)) !important;
	z-index: 3;
	position: relative;
	margin: -55px auto 0;
}
.arrow_inner .scroller {
 width: calc(100% - 8px);
	margin-left: auto;
	height: 100%;
	background: url("images/home/onayami_arrow.svg") no-repeat;
	background-size: 10px;
	  background-position: center left 50%;
	animation-name: scroll;
  animation-duration: 2.2s;
  animation-timing-function: cubic-bezier(.15,.41,.69,.94);
  animation-iteration-count: infinite;
}
@keyframes scroll {
  0% { transform: translateY(-15px); opacity: 0; }
  20% { transform: translateY(0); opacity: 1; }
  50% { transform: translateY(0); opacity: 1; }
  70% { transform: translateY(15px); opacity: 0;}
  100% { transform: translateY(15px); opacity: 0;}
}
.top-service .swiper-wrapper {
    transition-timing-function: linear;
}
.top-service .swiper-button-prev{
	width: 30px !important;
	height: 30px !important;
	border-radius: 30px !important;
	background: #121212 url("images/home/cta_arrow.svg") no-repeat !important;
	background-size: 12px !important;
	background-position: center !important;
	left: 10px !important;
	margin-top: -15px;
	transform: scale(-1, 1);
}
.top-service .swiper-button-next{
	width: 30px !important;
	height: 30px !important;
	border-radius: 30px !important;
	background: #121212 url("images/home/cta_arrow.svg") no-repeat !important;
	background-size: 12px !important;
	background-position: center !important;
	right: 10px !important;
	margin-top: -15px;
}
.top-service .swiper-button-prev::after{
	display: none !important;
}
.top-service .swiper-button-next::after{
	display: none !important;
}
.top-service .swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  -o-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
  z-index: 10;
  width: 100%;
}
.top-service .swiper-pagination-bullet {
	margin: 0 5px;
  background: #fff !important;
  opacity: 1 !important;
}
.top-service .swiper-pagination-bullet-active {
  background: #121212 !important;
	opacity: 1 !important;
}

#formArea dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#formArea dl dt {
  flex-basis: 236px;
  text-align: right;
	font-size: 16px;
	position: relative;
}
#formArea dl dt p{
	font-size: 16px;
	margin-bottom: 0;
}
#formArea dl dt p .att{
	position: absolute;
	top:0;
	right: 0;
	font-size: 14px;
  padding: 1px 11px 2px;
  background: #C33149;
  border-radius: 4px;
  color: #fff;
  text-align: left;
  display: inline-block;
  width: 52px;
}
#formArea dl dt p .no_att{
	position: absolute;
	top:0;
	right: 0;
	font-size: 14px;
  padding: 1px 11px 2px;
  background: #8C8C8C;
  border-radius: 4px;
  color: #fff;
  text-align: left;
  display: inline-block;
  width: 52px;
}
#formArea dl dd {
  flex-basis: calc(100% - 277px);
	margin-bottom: 30px;
}
#formArea input[type="text"], #formArea input[type="email"], #formArea textarea {
  width: 100%;
}
#formArea input[type="text"], #formArea input[type="email"], #formArea input[type="number"], #formArea textarea {
  padding: 8px 0.5em 8px 10px;
  margin: 0;
    margin-bottom: 0px;
  background: #fff;
  width: 100%;
  max-width: 100%;
  overflow: auto;
  margin-bottom: 0;
  border: 1px solid #EEEEEE;
}
#formArea p{
	margin-bottom: 0;
}
#formArea .pp_link{
	font-size: 16px;
  color: #777777;
  display: table;
  text-align: center;
  margin: 0 auto 10px;
  padding: 10px 35px 10px 0;
  background: url("images/home/gaiburink_icon.svg") no-repeat;
    background-position-x: 0%;
    background-position-y: 0%;
    background-size: auto;
  background-position: center right;
  background-size: 19px;
  text-decoration: underline;
}
#formArea .pp_text{
	text-align: center !important;
	font-size: 14px;
	
}
#formArea .wpcf7-checkbox {
	text-align: center;
	display: table;
	margin: 22px auto 0;
}
#formArea input[type="checkbox"] {
  border: 1px solid #aaaaaa;
  vertical-align: -8px;
  -webkit-appearance: none;
  position: relative;
  margin-right: 5px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  width: 26px;
  height: 26px;
  /*Other Browser*/
  background: #e2e2e2;
  /*For Old WebKit*/
  background: #fff;
  /*For Modern Browser*/
  background: #fff; }
#formArea input[type="checkbox"]:checked {
  /*Other Browser*/
  background: #1D976C;
  /*For Old WebKit*/
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #1D976C), color-stop(1, #1D976C));
  /*For Modern Browser*/
  background: #000;
  border: 1px solid #1D976C; }
#formArea input[type="checkbox"]:checked:before {
  position: absolute;
  left: 1px;
  top: 16px;
  display: block;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  content: "";
  width: 10px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(45deg);
  -webkit-transform-origin: right center; }
#formArea input[type="checkbox"]:checked:after {
  display: block;
  position: absolute;
  left: 9px;
  top: 16px;
  content: "";
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  width: 16px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(-53deg);
  -webkit-transform-origin: left center; }

#formArea .wpcf7-submit{
	width: 300px;
	height: 64px;
	background: #121212 url("images/home/rinkubotan_arrow.svg") no-repeat;
	background-position: center right 23px;
	background-size: 16px;
	margin: 50px auto 0;
	display: block;
	color: #fff;
	border-radius: 32px;
	transition: all ease .3s;
}
@media screen and (min-width: 768px) {
#formArea .wpcf7-submit:hover{
	opacity: 0.8;
}
}

@media screen and (max-width: 767px) {
#formArea dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#formArea dl dt {
  flex-basis: 100%;
  text-align: right;
	font-size: 16px;
	padding-bottom: 10px;
}
#formArea dl dd {
  flex-basis: 100%;
}
#formArea dl dt p .att{
	position: relative;
	margin-left: 10px;
}
#formArea dl dt p .no_att{
	position: relative;
	margin-left: 10px;
}

}




#indexPage .scroll_up {
  transform: translateY(30px);
  opacity: 0;
}
#indexPage .scroll_up.on {
  transform: translateY(0);
  opacity: 1;
}
