@charset "utf-8";

@media screen and (max-width: 768px) {
   
	body {
    padding-top: 140px;
    -webkit-text-size-adjust: none;
  }
  body.top {
    padding-top: 88px;
  }
  
  p,li,td {
    font-size: 13px;
    line-height: 1.8em;
  }
  p {
    margin-bottom: 25px;
  }
  p.b {
    font-size: 18px;
    text-align: center;
  }
  
  header {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 30000;
    width: 100%;
    height: 100px;
  }
  header.fix {
    height: 60px;
    background-color: rgba(255,255,255,1);  
  }
  
  header h1 {
    position: absolute;
    left: 25px;
    top: 35px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
  }
  header.fix h1,
  body.top header.fix h1 {
    top: 3px;
  }
  header h1 img,
  body.top header.fix h1 img {
    width: 214px;
    height: auto;
  }    
  
  .menu_btn {
    position: absolute;
    right: 25px;
    top: 35px;
    z-index: 60001;
    font-size: 0;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
  }
  header.fix .menu_btn {
    top: 12px;
  }
  .menu-trigger,
  .menu-trigger div {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menu-trigger {
    position: relative;
    z-index: 10;
    width: 40px;
    height: 34px;
  }
  .menu-trigger:hover {
    opacity: 1;
  }
  .menu-trigger span::before {
    content: "MENU";
    display: inline-block;
    position: absolute;
    left: 0;
    bottom: 0;
    color: #2d3c9f;
    font-size: 12px;
    line-height: 1em;
    text-align: center;
    width: 100%;
    height: 1em;
  }
  .menu-trigger div {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #2d3c9f;
    border-radius: 4px;
  }
  .menu-trigger div:nth-of-type(1) {
    top: 0;
  }
  .menu-trigger div:nth-of-type(2) {
    top: 8px;
  }
  .menu-trigger div:nth-of-type(3) {
    top: 16px;
  }
  .menu-trigger.active span::before {
    content: "CLOSE";
    bottom: -5px;
    color: #fff;
  }
  .menu-trigger.active div {
    background-color: #fff;
  }
  .menu-trigger.active div:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
  }
  .menu-trigger.active div:nth-of-type(2) {
    display: none;
  }
  .menu-trigger.active div:nth-of-type(3) {  
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
  }

  #menu {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 60000;
    color: #fff;
    width: 100%;
    height: 100vh;
    background: url("../img/menu_illust.png") no-repeat 25px 35px / 80px 92px #2d3c9f;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    opacity: 0;
    pointer-events: none;  
  }
  #menu.open {
    opacity: 1;
    pointer-events: auto;
  }
  #menu h2 {
    font-size: 30px;
    line-height: 1em;
    text-align: center;
    margin: 100px 0 60px;
  }
  #menu ul {
    padding: 0 65px;
  }
  #menu ul li {
    font-size: 16px;
    line-height: 1em;
    border-bottom: 1px solid #fff;
  }
  #menu ul li a {
    display: block;
    padding: 15px 0;
    background: url("../img/menu_link_mark.png") no-repeat calc(100% - 6px) 50% / 7px 10px;
  }
  #menu a.tel {
    display: block;
    color: #2d3c9f;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    width: calc(100% - 130px);
    height: 40px;
    padding-top: 12px;
    margin: 50px auto 0;
    background-color: #fff;
    border-radius: 5px;
  }
  #menu.open a.tel {    
    pointer-events: auto;
  }
  
  
  footer .to_contact {
    padding: 55px 0 60px;
    background-image: linear-gradient(0deg, transparent 15px, rgba(45,60,160,0.2) 16px), linear-gradient(90deg,  transparent 15px, rgba(45,60,160,0.2) 16px);
    background-size: 16px 16px;
    background-color: #fff;
  }
  footer .to_contact p {
    font-size: 15px;
    line-height: 1.8em;
    margin-bottom: 15px;
  }
  footer .to_contact a {
    display: block;
    color: #2d3c9f;
    font-size: 15px;
    line-height: 1em;
    text-align: center;
    width: 175px;
    height: 45px;
    padding-top: 15px;
    border-radius: 5px;
  }

  footer .inner {  
    display: block;
    width: 100%;
    padding: 55px 0;
  }
  footer .inner a.pt {
    display: block;
    position: absolute;
    right: 25px;
    top: -35px;
    font-size: 12px;
    width: 70px;
    height: 70px;
    padding-top: 26px;
    border: 1px solid #fff;
  }
  footer .inner a.pt:hover {
    opacity: 1;
    top: -38px;
  }
  footer .inner a.pt::after {
    top: 15px;
  }
  footer .inner .logo {
    text-align: center;
    margin-bottom: 35px;
  }
  footer .inner .logo img {
    width: 173px;
    height: auto;
  }
  footer .inner .text {
    width: 100%;
    padding: 0 50px;
    margin-left: 0;    
  }
  footer .inner .text p {
    line-height: 1.86em;
    margin-bottom: 35px;
  }
  footer .inner .text a.tel {
    color: #2d3c9f;
    font-size: 19px;
    font-weight: bold;
    width: 100%;
    height: 44px;
    padding-top: 12px;
    border: 1px solid #fff;
    background-color: #fff;
    border-radius: 5px;
    pointer-events: auto;
  }
  footer ul {
    display: none;
  }
  footer .inner .copy {
    font-size: 10px;
    letter-spacing: 0;    
    margin-top: 35px;
  }
  
  
  #top_part {
    padding: 480px 0 90px;
  }
  #top_part::before {
    height: 260px;
  }
  #top_part .logo {
    position: absolute;
    top: -20px;
    left: calc(50% - 76px);
    z-index: 5000;
  }
  #top_part .illust {
    position: absolute;
    left: 0;
    top: -100px;
    z-index: 1000;
    width: 100%;  
  }
  #top_part .logo {
  }
  #top_part .illust .text {
    top: 255px;
    left: 40px;
    z-index: 3000;
  }
  #top_part .illust .text p {  
    position: absolute;    
    font-size: 16px;
    letter-spacing: 0.12em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    width: 30px;
    height: auto;
    padding: 0 7px; 
    transition: all 0.5s;
  }
  #top_part .illust .text p span {
    margin: 10px 0 0;
    transition: all 0.5s;
    opacity: 1;
  }
  #top_part .illust .text p span.ani {  
    opacity: 0;
  }
  #top_part .illust .text p:nth-of-type(1) {
    left: 45px;
    top: 0;
    width: 30px;
    height: 195px;
  }
  #top_part .illust .text p:nth-of-type(2) {
    left: 0;
    top: 0;
    width: 30px;
    height: 215px;
  }
  #top_part .illust .text.ani p:nth-of-type(1),
  #top_part .illust .text.ani p:nth-of-type(2) {
    width: 30px;
    height: 0;
  }
  #top_part .illust .back {
    position: relative;
    top: 195px;
    transition: all 1.0s;
    opacity: 1;
  }
  #top_part .illust .back.ani {
    top: 210px;
  }
  #top_part .illust .bicycle {
    position: absolute;  
    top: 320px;
    right: 20px;
    width: 217px;
    height: auto;
    transition: all 0.5s;
    opacity: 1;
  }
  #top_part .illust .bicycle.ani {  
    top: 330px;
    right: 0;
    opacity: 0;
  }
  
  #top_part .nc_box {
    position: relative;
    z-index: 5000;
    width: calc(100% - 86px);;
  }
  #top_part .nc_box .inner {    
    padding: 30px 0 25px;
  }
  #top_part .nc_box::before {
    border-width: 25px 25px 0 0;
  }
  #top_part .nc_box::after {
    border-width: 0 0 25px 25px;
  }
  #top_part .nc_box .inner::before {    
    border-width: 24px 24px 0 0;
  }
  #top_part .nc_box .inner::after {
    border-width: 0 0 24px 24px;
  }
  
  #top_part .nc_box h2.midashi {
    margin-bottom: 0;
  }
  #top_part .nc_box h2.midashi::before {
    left: calc(50% - 22px);
    top: -43px;
    width: 43px;
    height: 26px;
    background: url("../img/icon/nc.png") no-repeat 0 0 / 43px 26px;
  }
  
  #top_part .nc_box ul.list {
    display: block;
    width: calc(100% - 40px);
    padding: 0;
    margin: auto;
  }
  #top_part .nc_box ul.list li {
    width: 100%;
    padding: 35px 0;
  }
  #top_part .nc_box ul.list li:nth-of-type(2) {    
    margin: 0;
  }
  #top_part .nc_box ul.list li:nth-of-type(2)::before,
  #top_part .nc_box ul.list li:nth-of-type(2)::after {    
    top: 0;
    width: 100%;
    height: 1px;
  }
  #top_part .nc_box ul.list li:nth-of-type(2)::before {
    left: 0;
  }
  #top_part .nc_box ul.list li:nth-of-type(2)::after {
    right: 0;
    top: auto;
    bottom: 0;
  }
  #top_part .nc_box ul.list li a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    text-align: left;
  }
  #top_part .nc_box ul.list li .i {
    width: 87px;
    height: 87px;
    margin: 0 18px 0 0;
  }
  #top_part .nc_box ul.list li .box {
    width: calc(100% - 105px);
  }
  #top_part .nc_box ul.list li .d,
  #news_list_wrap ul.list li .d,
  #news_single .h .d {
    display: inline-block;
    font-size: 10px;
    vertical-align: text-bottom;
    padding: 3px 0; 
  }
  #top_part .nc_box ul.list li .c,
  #news_list_wrap ul.list li .c,
  #news_single .h .c {
    display: inline-block;
    color: #2d3c9f;
    font-size: 8px;
    line-height: 1em;
    font-weight: bold;
    vertical-align: text-bottom;  
    padding: 4px 5px;
    border: 1px solid #2d3c9f;
  }
  #top_part .nc_box ul.list li .t {
    font-size: 12px;
    line-height: 1.6em;
    margin-top: 5px;
  }
  
  #top_part .nc_box h2.midashi::after {
    left: calc(50% - 30px);
    top: -31px;
    width: 60px;
    height: 10px;
  }
  #top_part .nc_box .btn {
    position: absolute;
    left: calc(50% - 85px);
    bottom: -23px;
    width: 190px;
  }
  
  #bottom_part {
    overflow: hidden;
    padding: 20px 0 0;
    background: url("../img/back01_sp.png") no-repeat 50% -20px / 375px 50px;
  }
  #bottom_part .unit {
    position: relative;
    width: 100%;
    height: auto;
    padding: 0 30px 65px;
  }
  #bottom_part .unit:nth-of-type(2) {
    background-color: rgba(255,229,60,0.13);
    margin-bottom: 0;
  }
  #bottom_part .unit:nth-of-type(2)::before,
  #bottom_part .unit:nth-of-type(2)::after {
    display: none;
  }
  #bottom_part .unit h2 {
    position: relative;
    top: -15px;
    font-size: 11px;
    width: 121px;
    height: 121px;
    padding-top: 45px;
    margin-bottom: 5px;
  }
  #bottom_part .unit:nth-of-type(1) h2 {
    top: -20px;
  }
  #bottom_part .unit:nth-of-type(2) h2 {
    position: relative;
    right: auto;
    top: -15px;
    padding-top: 35px;
    margin-right: 0;
    margin-left: auto;
  }
  #bottom_part .unit h2 span {
    font-size: 16px;
    margin-bottom: 7px;
  }
  #bottom_part .unit:nth-of-type(2) h2 span {
    line-height: 1.2em;
    margin-bottom: 5px;
  }
  #bottom_part .unit div.tate {
    position: absolute;
    left: auto;
    right: 40px;
    top: 80px;
    font-size: 16px;
    line-height: 1.7em;
  }
  #bottom_part .unit:nth-of-type(2) div.tate {
    left: 40px;
    right: auto;
  }

  #bottom_part .unit:nth-of-type(1) div.text {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
  }
  #bottom_part .unit .i01 {
    position: static;
    left: auto;
    top: auto;
    width: 230px;
    margin-bottom: 35px;
  }

  #bottom_part .unit:nth-of-type(2) div.text {
    position: static;
    right: auto;
    top: auto;
    width: 100%;
  }
  #bottom_part .unit .i02 {
    position: static;
    right: auto;
    top: auto;
    width: 181px;
    margin-bottom: 35px;
    margin-right: 30px;
    margin-left: auto;
  }

  #bottom_part .unit:nth-of-type(3) div.text {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
  }
  #bottom_part .unit .i03 {
    position: static;
    left: auto;
    top: auto;
    width: 210px;
    margin-left: 10px;
    margin-bottom: 35px;
  }
  
  #bottom_part .unit .btn,
  #bottom_part .unit:nth-of-type(2) .btn {
    text-align: center;
    margin-top: 35px;
  }
  
  
  a.more {
    width: 175px;
    height: 45px;
    padding-top: 15px;
    border-radius: 5px;
  }

  h2.midashi,
  h3.midashi {
    font-size: 11px;
    line-height: 1em;
    margin-bottom: 30px;
  }
  h2.midashi span.eb,
  h3.midashi span.eb {    
    font-size: 19px;
    line-height: 1em;
    margin-bottom: 10px;
  }

  .hd h2 {
    text-align: center;
    margin-bottom: 30px;
  }
  .hd p {
    line-height: 1.77em;
    text-align: center;
  }
  
  
  #about .hd {    
    width: 100%;
    height: 200px;
    padding-top: 0;
  }
  #about .hd img.illust {
    position: absolute;
    top: 140px;
    right: calc(50% - 98px);
    width: 188px;
  }
  #about .hd img.illust.ani {
    top: 140px;
    right: calc(50% - 108px);
  }
  
  #concept {
    position: relative;
    width: 100%;
    min-height: 2140px;
    padding-top: 225px;
    margin: -50px 0 0;  
    background: url("../img/about_back_sp.png") no-repeat center top / 375px 2140px;
  }
  #concept img.t00 {
    position: absolute;
    left: 25px;
    top: 160px;
  }
  #concept img.t01 {
    left: auto;
    right: 15px;
    top: 40px;
    transition: all 0.8s;
    opacity: 1;
  }
  #concept img.t01.ani {
    top: 50px;
    opacity: 0;
  }
  #concept img.t02 {
    position: absolute;
    right: 25px;
    top: 680px;
  }
  #concept img.t03 {
    position: absolute;
    right: auto;
    left: 25px;
    bottom: 5px;
  }
  #concept h3::before {
    left: calc(50% - 20px);
    top: -40px;
    width: 40px;
    height: 26px;
    background: url("../img/icon/concept.png") no-repeat 0 0 / 40px 26px;
  }
  #concept .text01 {
    width: 100%;  
    padding: 0 25px;
    margin: 0 auto 50px;
  }
  #concept .text01 p {
    line-height: 1.76em;
  }
  #concept .text01 p:nth-of-type(1) {    
    font-size: 16px;
    line-height: 1.625em;
    margin-bottom: 25px;
  }
  #concept h4 {
    width: calc(100% - 50px);
    height: 110px;
    margin: 0 auto 90px;
  }
  #concept h4 span {
    position: relative;
    font-size: 16px;
    letter-spacing: 0.12em;
    height: 30px;
    padding: 7px 10px 0;
  }
  #concept h4 span:nth-of-type(2) {
    position: absolute;
    bottom: auto;
    top: 40px;
    left: 0;
    padding-left: 10px;
  }
  #concept h4 span:nth-of-type(3) {
    position: absolute;
    bottom: 0;
    left: 0;
    padding-left: 35px;
  }
  #concept h4 span:nth-of-type(3) img {
    position: absolute;
    left: 10px;
    bottom: 5px;
    width: 20px;
    height: auto;
  }
  #concept ul {
    display: block;
    width: 260px;
    margin: auto;
  }
  #concept ul li {
    width: 100%;
    margin-bottom: 40px;
  }
  #concept ul li:nth-of-type(2) {
    margin: 0;
  }
  #concept ul li .illust {
    position: relative;
    width: 215px;
    height: 215px;
    margin: 0 auto 30px;
  }
  #concept ul li .illust::before {    
    font-size: 27px;
    width: 57px;
    height: 57px;
    padding-top: 15px;
  }
  #concept ul li .illust::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border: 3px solid #fff93c;
    border-radius: 50%;
  }
  #concept ul li .illust img {
    position: absolute;
    max-width: none;  
    height: auto;
  }
  #concept ul li:nth-of-type(1) .illust img {
    left: calc(50% - 144px);
    top: 35px;
    width: 288px;
  }
  #concept ul li:nth-of-type(2) .illust img {
    left: calc(50% - 85px);
    top: 30px;  
    width: 170px;
  }
  #concept ul li:nth-of-type(3) .illust img {
    left: calc(50% - 79px);
    top: 50px;  
    width: 158px;
  }
  #concept ul li h5 {
    font-size: 16px;
    line-height: 1.72em;
    letter-spacing: 0.02em;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  #concept ul li:nth-of-type(1) h5,
  #concept ul li:nth-of-type(3) h5 {
    font-size: 0;
    line-height: 1em;
  }
  #concept ul li:nth-of-type(1) h5 span,
  #concept ul li:nth-of-type(3) h5 span {
    font-size: 16px;
  }
  #concept ul li:nth-of-type(1) h5 br,
  #concept ul li:nth-of-type(3) h5 br {
    display: none;
  }
  #concept ul li p {
    letter-spacing: 0.02em;
  }


  #profile {
    width: 100%;
    padding: 0 0 40px;
    margin-top: 264px;
  }
  #profile img.mi {
    position: absolute;
    right: 25px;
    top: -260px;
    width: 22px;
    height: auto;
  }
  #profile .box01 {
    position: relative;
    width: 100%;
    margin: auto;
    padding: 130px 25px 0;
  }
  #profile .box01 img {
    position: absolute;
    left: calc(50% - 99px);
    top: -210px;
    width: 198px;
    height: auto;
  }
  #profile .box01 .text {
    width: 100%;
    margin: 0 0 0 auto;
  }
  #profile .box01 h3,
  #profile .box02 h3 {
    font-size: 15px;
    text-align: center;
    letter-spacing: 0;
    width: 48px;
    padding-bottom: 8px;
    margin-bottom: 20px;
  }
  #profile .box02 {
    width: calc(100% - 50px);
    padding: 30px 15px;
    margin: 50px auto 65px;
    border-radius: 12px;
  }
  #profile .box02 table {
    position: relative;
    width: 100%;
    margin-bottom: 35px;
  }
  #profile .box02 table::after {
    content: "";
    display: block;
    position: absolute;
    left: 62px;
    top: 0;
    width: 1px;
    height: calc(100% - 10px);
    border-right: 1px dotted #000;
  }
  #profile .box02 table tr td {
    vertical-align: top;
    line-height: 1.46em;
    padding-bottom: 15px;
  }
  #profile .box02 table tr td:nth-of-type(1) {
    position: relative;
    width: 80px;
  }
  #profile .box02 table tr td:nth-of-type(1)::after {
    display: none;
  }
  #profile .box02 table tr td:nth-of-type(2) {
    width: calc(100% - 80px);
  }
  #profile .box02 .syozoku {
    display: block;
  }
  #profile .box02 .syozoku h3 {
    height: auto;
    margin: 0 0 20px;
  }
  #profile .box02 .syozoku p {
    letter-spacing: 0.02em;
    width: 100%;
    margin-bottom: 0;
  }
  #profile .hobby {
    text-align: center;
    width: 100%;
    margin: auto;
  }
  #profile .hobby h3 {
    font-size: 16px;
    letter-spacing: 0.06em;
    height: 28px;
    padding: 6px 10px 0;
  }
  #profile .hobby ul {
    display: block;
    width: 235px;
    margin: auto;
  }
  #profile .hobby ul li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 50px;
  }
  #profile .hobby ul li .illust {
    position: relative;
    margin-bottom: 25px;
  }
  #profile .hobby ul li .illust::after {    
    width: 144px;
    height: 144px;
  }
  #profile .hobby ul li .illust::before {
    content: "";
    display: block;
    position: absolute;
    left: 20px;
    top: -10px;
    z-index: 100;
    width: 58px;
    height: 35px;
    background-position: center center;
    background-repeat: no-repeat;
  }
  #profile .hobby ul li:nth-of-type(1) .illust::before {
    background-image: url("../img/01.png");
    background-size: 45px 35px;
  }
  #profile .hobby ul li:nth-of-type(2) .illust::before {
    background-image: url("../img/02.png");
    background-size: 54px 35px;
  }
  #profile .hobby ul li:nth-of-type(3) .illust::before {
    background-image: url("../img/03.png");
    background-size: 58px 35px;
  }
  #profile .hobby ul li:nth-of-type(4) .illust::before {
    background-image: url("../img/04.png");
    background-size: 54px 35px;
  }
  #profile .hobby ul li .illust img {
    position: absolute;
    height: auto;
  }
  #profile .hobby ul li:nth-of-type(1) .illust img {
    left: calc(50% - 49px);
    top: 30px;
    width: 98px;
  }
  #profile .hobby ul li:nth-of-type(2) .illust img {
    left: calc(50% - 42px);
    top: 30px;
    width: 84px;
  }
  #profile .hobby ul li:nth-of-type(3) .illust img {
    left: calc(50% - 55px);
    top: 30px;
    width: 110px;
  }
  #profile .hobby ul li:nth-of-type(4) .illust img {
    left: calc(50% - 43px);
    top: 35px;
    width: 86px;
  }
  #profile .hobby ul li h4 {    
    font-size: 16px;
    height: auto;
    padding: 10px 0;  
    margin-bottom: 20px;
  }
  #profile .hobby ul li:nth-of-type(2) h4 {
    line-height: 1.4em;
    letter-spacing: 0.01em;
    padding-top: 11px;
  }
  #profile .hobby ul li p {
    text-align: left;
    letter-spacing: 0.02em;
  }


  #office {
    padding: 105px 25px 65px;
  }
  #office table {
    width: 100%;
  }
  #office table td {
    padding: 15px 0;
    border-bottom: 1px solid #000;
  }
  #office table tr td:nth-of-type(1) {
    width: 80px;
  }
  #office table tr td:nth-of-type(2) {
    width: calc(100% - 80px);
  }
  #office h3::before {
    left: calc(50% - 12px);
    top: -40px;
    width: 24px;
    height: 26px;
    background: url("../img/icon/office.png") no-repeat 0 0 / 24px 26px;
  }
  #office .map {
    width: 100%;
    margin: 40px auto 0;
  }
  #office .map iframe {
    width: 100%;
    height: 225px;
  }

  
  #service .hd {
    width: 100%;
    height: 320px;
  }
  #service .hd .t {
    position: static;
    left: auto;
    top: auto;
  }
  #service .hd img.illust {
    position: absolute;
    top: 130px;
    right: 0;
    width: 100%;
  }
  #service .hd img.illust.ani {
    top: 150px;
  }
  
  #sc_wrap {
    padding: 130px 0 20px;
    margin-bottom: 120px;
  }
  #sc_wrap::after {
    bottom: -100px;
    height: 100px;
    background: url("../img/service-price_back_sp.png") no-repeat center bottom / 375px 100px;
  }
  #sc_wrap .t04_sp {
    position: absolute;
    right: 20px;
    top: 140px;
  }
  #sc_wrap .illust02_sp {
    position: absolute;
    right: 20px;
    bottom: -120px;
    z-index: 2000;
  }
  #sc_wrap h3 {
    margin-bottom: 75px;
  }
  #sc_wrap h3.midashi::before,
  #case h3.midashi::before {
    left: calc(50% - 14px);
    top: -46px;
    width: 28px;
    height: 33px;
    background: url("../img/icon/sc.png") no-repeat 0 0 / 28px 33px;
  }
  #sc_wrap .unit {
    width: calc(100% - 50px);
    margin-bottom: 80px;
  }
  #sc_wrap .unit:nth-of-type(5) {
    margin-bottom: 0;
  }
  #sc_wrap .unit h4 {
    position: relative;
    top: auto;
    left: auto;
    width: 234px;
    margin: 0 auto 36px;
  }
  #sc_wrap .unit:nth-of-type(2n) h4 {
    left: auto;
    right: auto;
  }
  #sc_wrap .unit h4 span.eb {
    display: block;
    position: absolute;
    left: 0;
    top: -22px;
    font-size: 44px;
    text-align: center;
    width: 100%;
    margin: 0;
  }
  #sc_wrap .unit h4 span.eb::before,
  #sc_wrap .unit h4 span.eb::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    width: calc(50% - 40px);
    height: 1px;
    background-color: #2d3c9f;
  }
  #sc_wrap .unit h4 span.eb::before {
    left: 0;
  }
  #sc_wrap .unit h4 span.eb::after {
    right: 0;
  }
  #sc_wrap .unit h4 span.waku {
    font-size: 16px;
    text-align: center;
    letter-spacing: 0;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    width: 100%;
    padding: 25px 0 18px;
    background-color: transparent;
    border-top: none;
    border-width: 1px;
  }
  #sc_wrap .unit:nth-of-type(2) h4 span.waku,
  #sc_wrap .unit:nth-of-type(3) h4 span.waku {
    line-height: 1.7em;
    padding-right: 10px;
  }
  #sc_wrap .unit .text {
    width: 100%;
    margin: 35px auto 0;
  }
  #sc_wrap .unit .omo {
    display: block;
    position: relative;
    padding: 45px 25px 20px;
    border: 1px solid #2d3c9f;
    margin-top: 55px;
  }
  #sc_wrap .unit .omo h5 {  
    position: absolute;
    left: calc(50% - 80px);
    top: -20px;
    font-size: 15px;
    line-height: 1em;
    width: 160px;
    height: 40px;
    padding-top: 13px;
    border-radius: 20px;
  }
  #sc_wrap .unit .omo p {
    font-size: 12px;
    width: 100%;
    margin-left: 0;
  }
  #sc_wrap .unit .omo p br {
    display: none;
  }
  
  #case {
    padding: 70px 0 5px;
  }
  #case h3.midashi {
    margin-bottom: 50px;
  }
  #case .unit {
    padding: 0 25px;
    margin-bottom: 65px;
  }


  #flow .hd {
    width: 100%;
    height: 220px;
    padding-top: 0;
  }
  #flow .hd img.illust {
    position: absolute;
    top: 135px;
    right: calc(50% - 142px);
    width: 285px;
  }
  #flow .hd img.illust.ani {
    right: calc(50% - 142px);
    top: 120px;
  }
  
  #flow .cont {
    position: relative;
    padding: 0 25px 65px;
    margin: 170px 0 0;
  }
  #flow .cont::before {
    top: -170px;
    height: 170px;
    background: url("../img/flow_back_sp.png") no-repeat center top / 375px 200px;
  }
  #flow .cont h3.midashi::before {
    left: calc(50% - 16px);
    top: -46px;
    width: 33px;
    height: 32px;
    background: url("../img/icon/flow.png") no-repeat 0 0 / 33px 32px;
  }
  #flow .cont .inner {
    width: 100%;
    margin: auto;
  }
  #flow .cont .inner .unit {
    text-align: center;
    min-height: auto;
    margin-bottom: 45px;
    border-radius: 0;
  }
  #flow .cont .inner .unit:nth-of-type(4) {
    margin-bottom: 45px;
  }
  #flow .cont .inner .unit::after {
    left: calc(50% - 6px);
    bottom: -30px;
    width: 11px;
    height: 16px;
    background: url("../img/flow_arrow.png") no-repeat 0 0 / 11px 16px;
  }
  #flow .cont .inner .unit:nth-of-type(4)::after {
    bottom: -30px;
  }
  #flow .cont .inner .unit:nth-of-type(1),
  #flow .cont .inner .unit:nth-of-type(2),
  #flow .cont .inner .unit:nth-of-type(5),
  #flow .cont .inner .unit:nth-of-type(6) {
    padding-left: 0;
  }
  #flow .cont .inner .unit:nth-of-type(1)::before,
  #flow .cont .inner .unit:nth-of-type(2)::before,
  #flow .cont .inner .unit:nth-of-type(5)::before,
  #flow .cont .inner .unit:nth-of-type(6)::before {
    display: none;
  }
  #flow .cont .inner .unit:nth-of-type(3),
  #flow .cont .inner .unit:nth-of-type(4) {
    display: block;
    padding-left: 20px;
    padding-right: 20px;
  }
  #flow .cont .inner .unit:nth-of-type(1) .no,
  #flow .cont .inner .unit:nth-of-type(2) .no,
  #flow .cont .inner .unit:nth-of-type(5) .no,
  #flow .cont .inner .unit:nth-of-type(6) .no {
    position: static;
    left: auto;
    top: auto;
    text-align: center;
    margin-bottom: 5px;
  }
  #flow .cont .inner .unit:nth-of-type(3) .no,
  #flow .cont .inner .unit:nth-of-type(4) .no {    
    margin-bottom: 5px;
  }
  #flow .cont .inner .unit .no img {    
    height: 25px;
  }
  #flow .cont .inner .unit h3 {
    font-size: 16px;
    line-height: 1.4em;
    letter-spacing: 0;
  }
  #flow .cont .inner .unit:nth-of-type(1) h3 {
    margin-top: 0;
  }
  #flow .cont .inner .unit:nth-of-type(2) h3,
  #flow .cont .inner .unit:nth-of-type(5) h3,
  #flow .cont .inner .unit:nth-of-type(6) h3 {
    margin: 0 0 10px;
  }
  #flow .cont .inner .unit:nth-of-type(4) .kome {
    position: static;
    left: auto;
    bottom: auto;
    text-align: left;
    margin-top: 10px;
  }
  #flow .cont .inner .unit:nth-of-type(4) .kome p {
    font-size: 12px;
    letter-spacing: 0;
  }
  #flow .cont .inner .unit .box {
    position: relative;
    width: 100%;
    height: auto;
    padding: 20px 10px 15px;
    border-color: #b0b0b0;
  }
  #flow .cont .inner .unit .box:nth-of-type(2) {
    margin-right: 0;
    margin-bottom: 25px;
  }
  #flow .cont .inner .unit .box span {
    display: block;
    position: static;
    left: auto;
    top: auto;
    font-size: 15px;
    width: 158px;
    height: 45px;
    padding-top: 15px;
    margin: auto;
    border-radius: 22px;
  }
  #flow .cont .inner .unit .box:nth-of-type(2) h3,
  #flow .cont .inner .unit .box:nth-of-type(3) h3 {
    line-height: 1.3em;
    margin: 12px 0 8px;
  }
  
  
  
  #news_list {
    padding-bottom: 60px;
  }
  #news_list .hd {
    width: 100%;
    height: 300px;
    padding-top: 0;
  }
  #news_list .hd img.illust {
    position: absolute;
    top: 185px;
    right: calc(50% - 118px);
  }
  #news_list .hd img.illust.ani {
    top: 170px;
  }
  #news_list .sub {
    width: 100%;
  }
  #news_list .sub .cat_btn {
    position: relative;
    font-size: 14px;
    line-height: 1em;
    width: calc(100% - 40px);
    padding-bottom: 15px;
    margin: 0 auto 20px;
    border-bottom: 1px solid #000;
    cursor: pointer;
  }
  #news_list .sub .cat_btn::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12.1px 7px 0 7px;
    border-color: #000 transparent transparent transparent;
  }
  #news_list .sub .cat_btn.open::after {
    border-width: 0 7px 12.1px 7px;
    border-color: transparent transparent #000 transparent;
  }
  #news_list .sub ul {
    display: none;
    padding: 0 20px 20px;
    margin-bottom: 0;
    transition: all 0.4s;
  }
  #news_list .sub ul.open {
    display: flex;
  }
  #news_list .sub ul li {
    width: 134px;
    margin: 0 17px 15px 0;
  }
  #news_list .sub ul li:nth-of-type(5n) {
    margin-right: 17px;
  }
  #news_list .sub ul li:nth-of-type(2n) {
    margin-right: 0;
  }
  #news_list .sub ul li a {
    font-size: 14px;
    width: 100%;
    height: 32px;
    padding-top: 9px;
  }
  
  #news_list_wrap {
    width: 100%;
  }
  
  #news_list_wrap {
    width: calc(100% - 50px);
    padding: 75px 0 45px;
    border-radius: 10px;
  }
  #news_list_wrap ul.list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 0 20px;
    margin: auto;
  }
  #news_list_wrap ul.list li {
    width: 126px;
    margin: 0 30px 40px 0;
  }
  #news_list_wrap ul.list li:nth-of-type(3n) {
    margin-right: 30px;
  }
  #news_list_wrap ul.list li:nth-of-type(2n),
  #news_list_wrap ul.list li:nth-of-type(6n) {
    margin-right: 0;
  }  
  #news_list_wrap ul.list li a {
    display: block;
    text-align: center;
  }
  #news_list_wrap ul.list li a .i {
    width: 126px;
    height: 126px;
    margin-bottom: 25px;
  }
  #news_list_wrap ul.list li a .t {
    font-size: 13px;
  }
  
  .pagenavi span,
  .pagenavi a {
    font-size: 15px;
    width: 26px;
    height: 26px;
    padding: 5px 0 !important;
  } 


  #news_single {
    padding: 40px 25px 65px;
  }
  #news_single .wrap {
    width: 100%;
    padding: 30px 25px 15px;
    border-radius: 10px;
  }
  #news_single .wrap::after {
    display: none;
  }
  #news_single .h {
    margin-bottom: 25px;
  }
  #news_single h2 {
    font-size: 15px;
    line-height: 1.8em;
    margin: 5px 0 0;
  }
  #news_single .wp-block-image {
    margin-bottom: 25px;
  }

  .pager_sp {
    display: flex;
    flex-wrap: wrap;
    width: 230px;
    margin: 40px auto 0;
  }
  .pager_sp div:nth-of-type(1) {
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
  }
  .pager_sp div:nth-of-type(1) a {
    display: inline-block;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    width: 174px;
    height: 45px;
    padding-top: 14px;
    background-color: #2d3c9f;
    border-radius: 5px;
  }
  .pager_sp div:nth-of-type(2),
  .pager_sp div:nth-of-type(3) {
    width: 50%;
  }
  .pager_sp div:nth-of-type(3) {
    text-align: right;
  }
  .pager_sp div:nth-of-type(2) a,
  .pager_sp div:nth-of-type(3) a {
    display: inline-block;
    color: #2d3c9f;
    font-size: 11px;
    line-height: 1em;
    font-weight: bold;
    height: 25px;
  }  
  .pager_sp div:nth-of-type(2) a {
    padding: 7px 0 0 35px;
    background: url("../img/prev.png") no-repeat 1px 0 / 25px 25px;
  }  
  .pager_sp div:nth-of-type(3) a {
    padding: 7px 35px 0 0;
    background: url("../img/next.png") no-repeat calc(100% - 1px) 0 / 25px 25px;
  }
  
  
  #contact {
    background-color: #fff;
  }
  #contact .hd {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 0;
  }
  #contact .hd img.illust {
    position: absolute;
    top: 145px;
    right: calc(50% - 117px);
    width: 234px;
  }
  #contact .hd img.illust.ani {
    top: 130px;
    opacity: 0;
  }
  #contact .ft {
    text-align: center;
    padding: 48px 0 60px;
    background-color: rgba(255,229,60,0.13);
  }
  #contact .ft a {
    display: inline-block;
  }
  #contact .ft a img {
    width: 36px;
    height: 36px;
  }
  #contact .ft p.line {    
    font-size: 16px;
    line-height: 1.625em;
    letter-spacing: 0.15em;
    margin: 20px 0 25px;
  }
  #contact .ft p.line span::before,
  #contact .ft p.line span::after {
    bottom: 5px;
    width: 1px;
    height: 40px;
  }
  #contact .ft p.line span::before {
    left: -15px;
    transform: rotate(-22deg);
  }
  #contact .ft p.line span::after {
    right: -5px;
    transform: rotate(22deg);
  }
  #contact .qr {
    width: 100%;
    min-height: auto;
    padding-left: 0;
  }
  #contact .qr .i {
    position: static;
    left: auto;
    top: auto;
    width: 104px;
    height: 104px;
    margin: 0 auto 25px;
  }
  #contact .qr p {
    line-height: 1.7em;
    text-align: center;
    font-weight: bold;
    padding-top: 0;
    margin-bottom: 0;
  }
  #contact form {
    position: relative;
    padding: 0 25px 0;
    margin-top: 200px;
    background-color: rgba(255,229,60,0.13);
  }
  #contact form::before {
    content: "";
    display: block;
    position: absolute;
    top: -150px;
    left: 0;
    width: 100%;
    height: 150px;
    background: url("../img/form_back_sp.png") no-repeat 0 0 / 375px 150px;
  }
  #contact .inq {
    position: relative;
    width: 100%;
    padding: 20px 15px 10px;
    border-radius: 10px;
  }
  #contact .inq p.last {
    font-size: 10px;    
    margin-top: 15px;
  }
  #contact table,
  #contact table tbody,
  #contact table tr,
  #contact table td {
    display: block;
  }
  #contact td {
    font-size: 11px;
    padding-bottom: 0;
  }
  #contact tr td:nth-of-type(1) {
    position: relative;
    padding-top: 0;
    padding-bottom: 10px;
  }
  #contact tr td:nth-of-type(2) {
    width: 100%;
    padding-bottom: 25px;
  }
  #contact tr td:nth-of-type(2) div {
    font-size: 13px;
    min-height: 38px;
    padding: 5px;
  }
  #contact tr td:nth-of-type(2) div.r {
    padding: 10px 0 10px 10px;
  }
  #contact tr td:nth-of-type(2) div.r .first {
    margin-right: 60px;
  }

  #contact tr td:nth-of-type(2) div.ac {
    background-color: #fff;
    line-height: 1.8em;
    padding: 0 !important;
  }
  #contact tr td:nth-of-type(2) div.ac span.a {
    font-size: 10px;
  }
  
  #contact tr:last-of-type td:nth-of-type(1) {
    width: 30%;
  }
  #contact tr:last-of-type td:nth-of-type(2) {
    width: 70%;
  }

  input[type="text"],
  input[type="email"],
  textarea {
    font-size: 14px;
    height: 28px;
    padding: 0 3px;
    margin-top: 0;
  }
  input[type="date"] {
    font-size: 14px !important;
    line-height: 1em !important;
    text-align: center;
    height: 28px;
    width: 120px;
    padding: 0 !important;
    margin-left: 20px;
    border: 1px solid #a08452;
    border-radius: 0;
    /*-webkit-appearance : none;*/
  }
  textarea {
    height: 250px;
    margin-top: 0;
  }
  label {
    cursor: pointer;
  }
    
  .inq table tr:nth-of-type(1) td:nth-of-type(2) span.wpcf7-list-item {
    margin: 0 12px 0 0;
  }
  .inq div.r label {
    padding-left: 15px;
  }
  .inq div.r .wpcf7-list-item-label {
    font-size: 12px;
  }
  
  .inq div.r .wpcf7-list-item-label,
  .inq div.c .wpcf7-list-item-label {
    font-size: 12px;
  }
  .inq div.c .wpcf7-list-item {
    display: block;
    text-align: left;
    width: 100%;
    margin: 10px 0;
  }
  .inq div.c .wpcf7-list-item:nth-of-type(2) {
    width: 100%;
  }
  .inq div.c.line::after {
    content: "";
    position: absolute;
    left: 15px;
    bottom: 0;
    display: block;
    width: calc(100% - 30px);
    height: 1px;
    background-color: #000;
  }
  td.koumoku div.c {
    padding: 15px 0 10px 15px !important;
  }
  td.koumoku div.c p {
    line-height: 1em !important;
    margin: 0 !important;
  }
  td.koumoku div.t {
    padding-top: 0 !important;
  }
   
  #contact .btn {
    width: 175px;
    height: 45px;
  }
  .wpcf7-submit {
    font-size: 12px;
    width: 100%;
    height: 45px;
    -webkit-appearance:none !important;
  }
  
  
  .transmission {
    height: 200px;
    padding: 100px 0;
  }
  .transmission p {
    font-size: 14px;
    line-height: 1.8em;
    letter-spacing: 0.08em;
  }
	
	
	/*----- reCAPTCHA ------*/
	.reCAPTCHA_text p {
		font-size: 11px;
		letter-spacing: 0.08em;
		line-height: 1.47em;
		text-align: center;
		margin-top: 25px;
	}
  
    
  .not-found {
    height: calc(100vh - 282px);
  }


  br.sp {
      display: inline !important;
  }
  br.pc,img.pc {
      display: none;
  }
	img.sp {
		display: inline-block;
	}
    
    
  .sa--left {
    transform: translate(20px, 0);
  }
  .sa--right {
    transform: translate(-20px, 0);
  }
  .sa--up {
    transform: translate(0, 20px);
  }
  .sa--down {
    transform: translate(0, -20px);
  }
  
}