@charset "UTF-8";


@media print,screen and (max-width: 900px){
  
  .sp-768 {
    display: block;
  }

  .logo a:hover {
    opacity: 1;
    transition: all .3s ease .0s;
  }
  .nav-list li a:hover,
  .header-right a:hover {
    color: #0271b9;
    transition: all .3s ease .0s;
  }
  .header-right {
    width: 100%;
  }
  .contact-head ul li:first-of-type a:hover {
    background: #01b901;
    color: #fff;
    transition: all .3s ease .0s;
  }
  .contact-head ul li:last-of-type a:hover {
    background: #fff;
    color: #0271b9;
    transition: all .3s ease .0s;
  }

  .top-block > .inner {
    gap: 5px;
  }
  .swiper1 .swiper-slide {
    padding: 0 25px;
  }
  .main-catch p {
    font-size: 2.8rem;
    line-height: 4.2rem;
  }
  .title-type-txt p {
    font-size: 1.4rem;
  }
  .top01-block > p, .reason-block p:first-of-type, .top04 .title-type-txt p {
    font-size: 2.4rem;
    line-height: 3.6rem;
  }
  .about-il,.about-il img:first-of-type {
    width: 25vw;
  }
  .about-sub p:first-of-type {
    font-size: 1.4rem;
  }
  .about-sub p:last-of-type {
    font-size: 2rem;
  }
  .about-txt h3 {
    font-size: 2.4rem;
    line-height: 3.6rem;
  }

  .reason-block p:first-of-type {
    margin: 35px 0 0;
  }
  .reason-block p:last-of-type {
    margin: 10px 0 30px;
  }
  .reason-block p:last-of-type:after {
    bottom: -105px;
  }
  .reason-block h3 {
    font-size: 1.5rem;
    line-height: 2.8rem;
    text-align: left;
  }
  .reason-block table tbody th,.non {
    width: 90px;
  }
  .reason-block p:last-of-type:after {
    width: 75px;
    height: 78px;
    bottom: -85px;
  }

  .top-news-box > a,
  .top-news-box > a.active {
  }
  .top-news-box > a:after {
    right: 28px;
    top: 37px;
    width: 8px;
    height: 7px;
  }
  .top-news-box > a:before {
    top: 27px;
    width: 25px;
    height: 25px;
  }
  .top-news-box > a:hover {
    color: #0071b9;
  }
  .news-block {
    margin: 15px 0 0;
  } 
  .news-body p a:hover {
    color: #0071b9;
    transition: all .3s ease .0s;
  }
  .news-body p a:hover:after {
    background: #0071b9;
    transition: all .3s ease .0s;
  }

  .marquee span {
    font-size: 10rem;
  }
  .swiper3 .swiper-button-prev:hover:before,
  .swiper3 .swiper-button-next:hover:before {
    background: #0071b9;
  }

  .title-type2 h2 span:nth-of-type(2) {
    font-size: 3rem;
  }
  .top03-block ul:before {
    width: 140px;
    height: 128px;
    top: -30px;
  }
  .case-item {
    padding: 30px 25px 30px;
    width: calc(100%);
  }
  .top03-block ul {
    gap: 20px;
  }
  .case-item h3 {
    font-size: 2.2rem;
    line-height: 3.4rem;
    margin: 7px 0 10px;
  }
  .case-item p {
    text-align: center;
  }
  .case-item:nth-of-type(4), .case-item:nth-of-type(5) {
    width: calc(100%);
  }
  .top03-block h4 {
    font-size: 1.6rem;
    margin: 20px 0 0;
    padding: 10px;
  }
  
  .scope-block {
    margin: 35px 0 0;
  }
  .scope-block h3 {
    font-size: 2.2rem;
  }
  .scope-block ul li {
    width: calc(100% / 2);
  }
  .swiper-slide {
    height: auto;
  }
  .swiper__box {
    min-height: 100%;
    height: 100%;
  }

  .faq-block {
    margin: 35px 0 0;
  }
  .faq-block details:hover:before {
    transition: all .3s ease .0s;
    color: #0070b8;
    background: #fff;
  }

  .company dl dt {
    line-height: 1;
    margin: 5px 0;
  }
  .company dl dd .access dl dt {
    line-height: 2.9rem;
  }
  .company .swiper4 {
    margin: 15px 0 0;
  }
  .company dl dd p a:hover {
    transition: all .3s ease .0s;
    opacity: 1;
  }

  .top07 h3 {
    font-size: 1.5rem;
    line-height: 2.8rem;
    text-align: left;
  }
  .line-title {
    text-align: center;
  }
  .line {
    display: block;
  }
  .line-il {        
    position: relative;
    bottom: -30px;
    top: auto;
    left: 0;
    width: 65%;
  }
  .line-il .flex {
    display: block;
    text-align: center;
  }
  .line-il p {
    right: -380px;
    left: 0;
    bottom: 40px;
    top: auto;
    margin: 0 auto;
    /* writing-mode: vertical-rl; */
    min-width: 190px;
    height: 125px;
    text-align: left;
    line-height: 2rem;
    width: 114px;
  }
  .line-il p:after {
    content: "";
    border: 6px solid transparent;
    border-top: 12px solid #bfddee;
    margin-left: -10px;
    top: 40%;
    left: -5px;
    transform: rotate(90deg);
  }
  .line-qr-left a:hover {
    background: #01b901;
    transition: all .3s ease .0s;
  }

  .title-type3 h2 span:nth-of-type(2) {
    font-size: 3rem;
  }
  .title-type3 p {
    text-align: left;
  }

  .table tr {
    flex-wrap: wrap;
  }
  .table tr th,.table tr td {
    width: 100%;
  }
  .table tr th,.table tr td input {
    padding: 14px 20px;
  }
  .table tr td:after {
    width: calc(100% - 20px);
    height: 1px;
    left: 10px;
    top: 0;
  }
  .privacy-box {
    padding: 18px 20px;
  }
  .top07 .privacy-box h3 {
    font-size: 1.6rem;
    margin: 0 0 10px;
  }
  /*.move:hover input,*/.move [type="submit"]:hover {
    background: #0071b9;
    transition: all .3s ease .0s;
    cursor: pointer;
  }

  .footer-top-right a:hover {
    transition: all .3s ease .0s;
    background: transparent;
    color: #172644;
  }
  .footer-top-right .footer-nav-list a:hover {
    background: transparent;
    color: #0071b9;
  }


}


@media print,screen and (max-width: 660px){

  .sp-660 {
    display: block;
  }
  .reason-block {
    width: 100%;
  }
  .table-size {
    width: 600px;
  }
  .reason-block p:last-of-type:after {
    width: 65px;
    height: 68px;
    bottom: -50px;
    right: -20px;
  }

}


@media print,screen and (max-width: 600px){

  body {
    line-height: 2.4rem;
  }
  .sp-600 {
    display: block;
  }
  .sp-1320-cbtn {
    display: none;
  }

  .logo a {
    width: 170px;
  }
  .header-wrapper {
    padding: 2vw 5vw;
  }
  .is-fixed .header-wrapper {
    padding: 2vw 5vw;
  }
  .toggle {
    width: 50px;
    height: 50px;
    top: 15px;
  }
  .toggle span {
    width: 23px;
  }
  .toggle span:nth-child(1) {
    top: 15px;
  }
  .toggle span:nth-child(2) {
    top: 21px;
  }
  .toggle span:nth-child(3) {
    top: 27px;
  }
  .toggle span:nth-child(4) {
    font-size: 1rem;
    bottom: 9px;
    transform: scale(0.7);
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  html.android .toggle span:nth-child(4) {
    font-size: 1rem;
    bottom: 9px;
    transform: scale(1);
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  .toggle.active span:nth-child(2), .toggle.active span:nth-child(3) {
    top: 20px;
    width: 25px;
  }
  .toggle.active span:nth-child(1) {
    top: 20px;
    width: 25px;
  }
  .nav-list li {
    margin: 0 0 30px;
  }
  .nav-list li:last-of-type {
    padding: 30px 0;
  }

  .nav-list li a span {
    font-size: 2.4rem;        
    margin: 0 0 7px;
  }
  .nav-list .contact-head {
    padding: 15px;
  }
  .nav-list .contact-head ul li a {
    font-size: 1.5rem;
    padding: 14px 20px;
  }

  .title-type1 h2 {
    gap: 10px 0;
  }

  .swiper1 {
    margin: 0 0 40px;
  }
  .main-catch p {
    font-size: 6vw;
    line-height: 9vw;
    margin: -10px 0;
  }
  .top01-block > p, .reason-block p:first-of-type, .top04 .title-type-txt p {
    font-size: 5.4vw;
    line-height: 8vw;
  }
  .top01-block > p br {
    display: none;
  }
  .top01-box {
    display: block;
    margin: 50px 0;
    overflow: hidden;
  }
  .top01-box:last-of-type {
    margin: 50px 0 0;
  }
  .about-txt {
    margin: 10px 0 0;
  }
  .about-il, .about-il img:first-of-type {
    width: 80px;
    float: left;
    margin: 0 20px 0 0;
  }
  .about-txt h3 + p {
    margin: 10px 0 0;
    float: left;
    line-height: 2.4rem;
  }
  .top01-box:nth-of-type(2) .about-txt p {
    line-height: 2.4rem;
  }
  .about-sub p:first-of-type {
    font-size: 1.2rem;
  }
  .about-sub p:last-of-type {
    font-size: 1.5rem;
  }
  .about-txt h3 {
    font-size: 4.8vw;
    line-height: 6.6vw;
    margin: 5px 0 10px;
  }

  .top08 {
    padding: 60px 0 0;
  }
  .reason-block h3 {
    line-height: 2.2rem;
    font-size: 1.4rem;
    margin: 20px 0 0;
  }

  .top02 {
    padding: 60px 0;
  }
  .news-item {
    padding: 0;
  }
  .news-item time {
    top: 15px;
    left: 15px;
  }
  .top-news-box > a, .top-news-box > a.active {
    padding: 45px 15px 15px 15px;
    line-height: 2.2rem;
    font-size: 1.4rem;
  }
  .news-item time, .top-news-box a, .news-body p {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }
  .news-body {
    padding: 15px 15px 15px 15px;
  }
  .top-news-box > a:before {
    top: 15px;
    right: 15px;
  }
  .top-news-box > a:after {
    right: 24px;
    top: 25px;
    width: 7px;
    height: 7px;
  }
  .news-body p a:after {
    bottom: 1px;
  }

  .top03-block {
    margin: -50px 0 0;
  }
  .top03-block > img {
    margin: 0 0 60px;
  }
  .marquee__text {
    padding-right: 40px;
  }
  .marquee span {
    font-size: 8rem;
  }

  .title-type2 h2 span:nth-of-type(2) {
    font-size: 2.6rem;
  }
  .title-type2 p {
    font-size: 1.5rem;
  }

  .top03-block ul:before {
    width: 100px;
    height: 80px;
    top: -40px;
    right: -10px;
  }
  .case-item {
    padding: 30px 25px 25px;
  }
  .case-item h3 {
    font-size: 4.4vw;
    line-height: 6.2vw;
  }
  .case-item p,
  .case-item:nth-of-type(4) p,
  .case-item:nth-of-type(5) p {
    text-align: left;
  }
  .case-item p.case-bar {
    text-align: center;    
    line-height: 2;
  }
  .case-item p.case-number {
    font-size: 2rem;
    top: 15px;
    left: 15px;
  }
  .top03-block ul {
    gap: 10px;
  }
  .top03-block h4 {
    font-size: 1.5rem;
    text-align: left;
    margin: 10px 0 0;
    padding: 15px 30px;
  }
  .top03-block > img:last-of-type {
    margin: 60px 0 0;
  }

  .top04 {
    padding: 60px 0 20px;
  }
  .top04-box img {
    width: 90%;
  }
  .top04 .title-type-txt p {
    margin: 40px 0 20px;
  }
  .plan-box {
    padding: 20px;
  }
  .plan-box h3 p:first-of-type {
    font-size: 2rem;
  }
  .plan-box h3 p:last-of-type {
    font-size: 3rem;
  }
  .plan-box h3 p:last-of-type span {
    font-size: 11vw;
  }
  .plan-box ul {
    padding: 18px 20px;
  }
  .plan-box ul li {        
    font-size: 1.4rem;
    line-height: 2rem;
    margin: 0 0 5px;
  }
  .plan-box ul li:last-of-type {
    margin: 0;
  }

  .scope-block h3 {
    font-size: 4.4vw;
    line-height: 6.2vw;
    text-align: left;
  }

  .scope-block ul {
    padding: 20px 0;
  }
  .scope-block ul li {
    font-size: 1.5rem;
  }
  .scope-block ul li:last-of-type {
    font-size: 1.4rem;
    width: 100%;
    text-align: center;
    margin: -5px 0 0;
  }
  .scope-block h4 {
    text-align: left;
    padding: 13px 20px;
    font-size: 1.4rem;
    line-height: 2rem;
  }
  .bg-il {
    width: 80px;
    right: 10px;
    bottom: 2px;
  }
  .bg {
    margin: 60px 0 0;
  }

  .voice {
    padding: 60px 0 0;
  }
  .swiper__box {
    padding: 30px 25px 20px 25px;
  }
  .swiper3 .swiper__box div + p {
    margin: 20px 0 0;
    padding: 15px 0 0;
  }
  .faq-block details summary {
    font-size: 1.5rem;
  }

  .faq {
    padding: 60px 0;
  }
  .company dl dd p a {
    display: block;
    margin: 10px auto 0;
    width: 100%;
  }
  .company dl iframe {
    max-height: 220px;
  }
  .company dl dd .access dl dt {
    width: 85px;
    margin: 0 10px 0 0;
  }

  .top07 {
    padding: 60px 0 0;
  }
  .top07 h3 {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }

  .line {
    padding: 20px;
    margin: 20px 0 60px;
  }
  .line-title h2 {
    font-size: 4.4vw;
    margin: 0 0 20px;
  }
  .line-qr-left,.line-qr-left a {
    margin: 0;
  }
  .line-qr-right,.line-qr-left p {
    display: none;
  }
  .line-il {
    bottom: -20px;
    width: 65%;
  }
  .line-il p {
    right: -320px;
    bottom: 30px;
    font-size: 1.4rem;
    line-height: 1.8rem;
    padding: 15px;
    min-width: 152px;
    height: 103px;
    writing-mode: horizontal-tb;
  }
  .line-il img {
    width: 130px;
    height: auto;
  }

  .title-type3 p {
    text-align: left;
    line-height: 2.2rem;
    font-size: 1.4rem;
  }

  .table tr th, .table tr td input {
    padding: 10px 20px;
  }
  .privacy-box {
    padding: 15px 20px;
    max-height: 160px;
  }
  .privacy-box p {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }
  .top07 .privacy-box h3 {
    margin: 0 0 5px;
  }
  .move.inner-s {
    width: 100%;
  }
  .move input[type="submit"] {
    width: 260px;
    height: 56px;
    display: inline-block;
    position: relative;
    font-size: 1.8rem;
  }
  ::placeholder {
    font-size: 1.4rem;
  }

  .footer-top {
    margin: 60px 0 60px;
  }
  .footer-top p {
    font-size: 5vw;
  }

}

@media print,screen and (max-width: 500px){


} 

@media print,screen and (max-width: 425px){

  .sp-425 {
    display: block;
  }
  .table-size {
    width: 500px;
  }
  .reason-block table th, .reason-block table td {
    font-size: 1.5rem;
    line-height: 2rem;
    padding: 10px 0;
  }
  .reason-block table tbody th, .non {
    width: 60px;
    height: 100%;
    line-height: 1.8rem;
  }
  .reason-block p:last-of-type:after {
    width: 55px;
    height: 58px;
    bottom: -40px;
  }

  .faq-block details summary {
    padding: 20px 45px 20px 60px;
  }
  .faq-block details:before, .faq-block details p:before {
    font-size: 1.4rem;
    width: 30px;
    height: 30px;
    top: 17px;
  }
  .faq-block details p {
    padding: 20px 0 20px 40px;
  }
  
  .company dl iframe {
    margin: 20px 0 15px;
  }
  .swiper4 .swiper-slide {
    width: 200px;
  }
  .swiper4 .swiper-slide img {
    width: 100%;
  }

  .line-qr-box {
    padding: 15px;
  }
  .line-qr-left a {
    padding: 15px 20px;
  } 
  .line-il {
    width: 70%;
  }
  .line-il p {
    right: -210px;
    bottom: 30px;
    font-size: 1.3rem;
    line-height: 1.8rem;
    padding: 15px;
    width: 152px;
    height: 103px;
    writing-mode: horizontal-tb;
  }
  html.android .line-il p {    
    height: 95px;
  }
  .line-il img {
    width: 110px;
    height: auto;
    margin: 0 0 0 -60px;
  }
  .line-title h2 {
    font-size: 5.4vw;
  }

  .table tr td textarea {
    min-height: 140px;
    height: 140px;
  }

  .footer-nav-list li:last-of-type {
    margin: 0 0 0 15px;
  }
  .footer-top {
    flex-wrap: wrap;
    justify-content: center;
  }
  .footer-top-right {
    text-align: center;
  }
  .footer-top p {
    font-size: 7vw;
  }
  .footer-nav-list {
    justify-content: center;
    margin: 20px 0 0;
  }
  .footer-t-btn {
    text-align: center;
  }
  .footer-top-right small {
    margin: 15px 0 0;
    display: block;
  }

}

@media print,screen and (max-width: 375px){

  .sp-375 {
    display: block;
  }
  .nav-list {
    max-width: calc(100% - 20px);
  }

  .about-txt {
    margin: 10px 0 0;
  }
  .about-txt h3 {
    margin: 5px 0 20px;
  }
}

@media print,screen and (max-width: 375px){

  .agree span {
    font-size: 1.4rem;
  }

}


@media print,screen and (max-width: 325px){

  .nav-list {
    flex-wrap: wrap;
  }
  .nav-list li {
    width: calc(100%);
    margin: 0 0 25px;
  }
  .nav-list li a span {  
    margin: 0 0 5px;
  }
  .nav-list li:last-of-type {
    padding: 25px 0;
  }

  .reason-block p:last-of-type:after {
    right: -10px;
  }

  .swiper__box div p:last-of-type {
    font-size: 1rem;
  }

}
