/* 共通 */

* {
  box-sizing: border-box;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: lighter;
  margin: 0;
  padding: 0;
}

img {
  -webkit-backface-visibility: hidden;
}

.cf::after {
  content: "";
  display: block;
  clear: both;
}

.only-sp {
  display: none !important;
}

.only-pc {
  display: block !important;
}

/* header */

.header {
  position: relative;
}

.header .header-common {
  width: 100%;
  height: 100px;
}

.header .logo {
  width: 350px;
  height: 100px;
}

.header .header-tel {
  float: right;
  width: 55%;
  height: 100px;
  position: absolute;
  top: 0;
  right: 0;
}

.header .tel1 {
  float: right;
  width: 100%;
  max-width: 726px;
  height: auto;
  margin: 16px 10px;
}

.header .header-common .header-logo {
  background-color: #bbe3fe;
  text-align: center;
  float: left;
  width: 350px;
  height: 100%;
}

.header .header-common .header-logo .logo {
  width: auto;
  height: 100%;
}

.header .header-common .header-logo a {
  text-align: center;
  display: block;
  width: auto;
  height: 100%;
}

.tel1_sp {
  background-color: #fff;
  border: #00a6e4 1px solid;
  border-radius: 5px;
  display: inline-block;
  padding: 5px;
  position: absolute;
  top: 10px;
  right: 10px;
}

.title {
  color: #c7e3ed;
  text-align: center;
}

.title h2 {
  font-family: "Quando", serif;
  font-size: 75px;
}

.title span {
  font-size: 16.42px;
  position: relative;
  bottom: 50px;
}

footer {
  background: #e8e9eb;
}

.footer-title {
  color: #c7e3ed;
  font-family: "Quando", serif;
  font-size: 60px;
  text-align: center;
}

.footer-list ul {
  margin: 0;
  padding: 0;
}

.footer-list ul li a.active {
  background: #fff;
  border: 2px solid #0093d6;
  color: #0093d6;
}

@media screen and (min-width:769px) {
  .main-wrapper {
    width: 80%;
    margin: 0 auto 100px;
  }

  .front-page .main-wrapper {
    width: 100%;
  }

  .our-mission {
    padding: 50px 0 0;
  }

  .our-mission p {
    line-height: 1;
  }

  /* footer start */

  .footer-content {
    text-align: center;
    width: 100%;
    overflow: hidden;
  }

  .footer-list {
    width: 100%;
    margin-bottom: 100px;
  }

  .footer-list ul li {
    list-style: none;
    display: inline-block;
    margin-bottom: 30px;
  }

  .footer-list ul li a {
    background: linear-gradient(to right, #45b9e6, #4587bf);
    border-radius: 25px;
    color: #fff;
    font-size: 18px;
    text-decoration: none;
    margin: 20px 2px;
    padding: 5px 50px;
    transition: .5s;
  }

  /* footer end */
}

@media screen and (max-width:768px) {
  /* 共通 */

  .only-sp {
    display: block !important;
  }

  .only-pc {
    display: none !important;
  }

  /* main */

  .page .main-wrapper {
    font-family: "Noto Sans JP", sans-serif;
    width: 85%;
    margin: 0 auto;
  }

  .front-page .main-wrapper {
    width: 100%;
  }

  /* header */

  .header .header-common .header-logo {
    text-align: left;
    width: 100%;
  }

  .header .header-common .header-logo a {
    text-align: left;
  }

  .header-topic {
    margin-bottom: 50px;
  }

  /* footer */

  .footer-content {
    height: auto;
    margin-top: 50px;
    padding-bottom: 50px;
    overflow: hidden;
  }

  .footer-list,
  .footer-title {
    position: initial;
  }

  .footer-title {
    color: #c7e3ed;
    font-family: "Quando", serif;
    font-size: 40px;
  }

  .footer-list ul {
    display: block;
  }

  .footer-list ul li + li {
    margin-top: 20px;
  }

  .footer-list ul li a {
    background: linear-gradient(to right, #45b9e6, #4587bf);
    border-radius: 30px;
    color: #fff;
    font-size: 16px;
    line-height: 60px;
    text-align: center;
    text-decoration: none;
    display: block;
    width: 60%;
    max-width: 300px;
    margin: 0 auto;
    padding: 0;
    transition: .5s;
  }

  /* page 共通 */

  .page .title h2 {
    font-size: 40px;
  }

  .page .title span {
    font-size: 15px;
    bottom: 0;
  }

  .page .main-content p,
  .page .main-explanation p,
  .page .main-content2 p,
  .page .main-explanation2 p,
  .page .main-table th,
  .page .main-table td,
  .page .main-table p,
  .page .main-current-content table th,
  .page .main-current-content table td,
  .page .main-current-content2 table th,
  .page .main-current-content2 table td,
  .page .main-content3 p,
  .page .main-text p {
    font-size: 16px;
    letter-spacing: 2px;
    margin-top: 10px;
  }

  .page .main-flex,
  .page .main-flex22 {
    display: block;
  }

  .page .main-current-content table th,
  .page .main-current-content table td,
  .page .main-current-content2 table th,
  .page .main-current-content2 table td {
    padding: 15px;
  }

  /* 相続ページ */

  .souzoku-page .main-flex-img {
    width: 100%;
    margin: 0;
  }

  /* 成年後見 */
  .seinen-goken-page .main-content2 h2 {
    margin: 100px 0 20px;
  }

  /* 民事ページ */
  .number-content .numbers {
    height: auto;
    padding: 20px 10px 0;
  }

  .number-content .numbers .number {
    background: #64bae3;
    border-radius: 50%;
    color: #fff;
    font-size: 20px;
    line-height: 40px;
    width: 40px;
    height: 40px;
    margin: 0 auto 10px;
    position: initial;
  }

  .number-content p {
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 2px;
    width: 100%;
    margin-bottom: 30px;
  }

  /* ページ　共通 */

  .main-explanation2 h2,
  .main-explanation h2,
  .main-content h2,
  .main-content2 h2,
  .main-explanation h2,
  .main-explanation2 h2,
  .main-explanation3 h2,
  .main-content3 h2 {
    font-size: 15px;
    line-height: 20px;
    letter-spacing: 2px;
    width: 100%;
    height: auto;
    min-height: 80px;
    margin-right: 0;
    margin-left: 0;
    padding: 30px 10px;
  }

  .main-flex-text2,
  .main-flex-text,
  .main-e-t-c,
  .main-content-img p,
  .main-text3 p,
  .main-service-content p {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 2px;
    width: 100%;
    margin: 10px 0;
  }

  .main-checkbox,
  .main-checkbox3,
  .main-checkbox4,
  .main-current-content2 {
    width: 100%;
    height: auto;
  }

  .main-checkbox {
    margin-bottom: 50px;
  }

  label {
    font-size: 12px;
    letter-spacing: 2px;
    padding: 10px;
  }

  .list-button,
  .check-text {
    margin: 0;
    position: relative;
    top: 30px;
  }

  .check-text h2 {
    font-size: 12px;
    letter-spacing: 0;
    padding: 5px 20px;
  }

  .list-button a {
    background: #00a8e6;
    border: 5px solid #7ecef4;
    border-radius: 10px;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0;
    text-decoration: none;
    padding: 5px 50px;
  }

  .main-explanation p,
  .main-explanation2 p {
    width: 100%;
    margin: 0;
  }

  .main-current-content table,
  .main-current-content2 table {
    padding-left: 10px;
  }

  .main-current2 h2 {
    font-size: 22px;
  }

  .main-service-content {
    width: 100%;
    margin: 20px 0;
  }

  .main-consultation {
    letter-spacing: 0;
  }

  .check-list p {
    font-size: 12px;
    letter-spacing: 2px;
  }

  .main-wrapper {
    margin-top: 50px;
  }

  .our-mission {
    display: block;
    margin: 0;
  }

  .top-img {
    position: relative;
    top: 0;
  }

  .our-mission h1 {
    color: #c7e3ed;
    font-family: "Quando", serif;
    font-size: 40px;
    line-height: 1.5;
    text-align: center;
    text-align: center;
  }

  .our-mission h1 span {
    font-size: 16px;
    letter-spacing: 2px;
  }

  .our-mission p {
    font-size: 15px;
    float: none;
    width: 90%;
    margin: 0 auto 30px;
  }

  .five-content {
    margin-left: 0;
    padding: 0 20px;
  }

  .five-content .content {
    text-align: center;
    float: left;
    width: 50%;
    margin: 0 auto;
    padding: 0 5px;
  }

  .five-content .content.last {
    float: initial;
  }

  .left-news {
    float: left;
    width: 40%;
  }

  .right-news {
    border-left: 1px solid #000;
    float: right;
    width: 60%;
    padding-left: 20px;
  }

  .left-news h1 {
    color: #c7e3ed;
    font-family: "Quando", serif;
    font-size: 30px;
    line-height: 1.5;
    text-align: center;
    margin: 0;
  }

  .left-news .view {
    text-align: center;
  }

  .left-news .view img {
    width: 80%;
  }

  .news-square {
    background: linear-gradient(to right, #73cef0, #73a7d3);
    border-radius: 20px;
    line-height: 35px;
    text-align: center;
    width: 150px;
    height: 35px;
    margin: 0;
  }

  .news-topic {
    font-size: 12px;
    display: block;
  }

  .news-topic p {
    font-size: 12px;
  }

  /* トップページ */

  .top-img {
    width: 100%;
    height: auto;
  }

  /* 共通 */

  .content-title {
    color: #c7e3ed;
    font-family: "Quando", serif;
    font-size: 60px;
    line-height: 1.5;
    text-align: center;
  }

  .content-title span {
    font-size: 16px;
    display: block;
  }

  /* service start */
  .service {
    height: auto;
    overflow: hidden;
  }

  .service-main-wrapper {
    background: url(../images/service-backimg.png) no-repeat;
    background-size: cover;
    padding: 50px 0;
  }

  .service-content {
    text-align: center;
    height: auto;
    padding: 20px;
    overflow: hidden;
  }

  .service-content img {
    width: 100%;
    max-width: 530px;
    height: auto;
  }

  .service-content-text {
    background: #fff;
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    width: 100%;
    max-width: 530px;
    height: auto;
    margin: -7px auto 20px;
    padding: 20px;
  }

  .service-topic-text {
    height: 100px;
    overflow: hidden;
  }

  .service-topic-text h1 {
    font-size: 24px;
    font-weight: 400px;
    letter-spacing: 5px;
    margin-right: 0;
    margin-left: 0;
  }

  .service-topic-text p {
    color: #ddd;
    font-family: "Quando", serif;
    font-size: 16px;
    letter-spacing: .1px;
    margin: 0;
  }

  .service-content-text .left-text {
    font-size: 14px;
    text-align: center;
    margin: 0 20px;
    margin-top: 0;
  }

  .service-content-text p {
    margin-top: 10px;
  }

  .service-more a {
    background: linear-gradient(to right, #4cbfeb, #4c8fc7);
    border-radius: 23px;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 100;
    line-height: 46px;
    letter-spacing: 3px;
    text-decoration: none;
    display: block;
    width: 200px;
    height: 45px;
    margin: 0 auto;
  }

  /* service end */

  /* safety start */
  .safety {
    background: linear-gradient(to right, #4cc2ed, #4c8dc5);
    width: 100%;
    overflow: hidden;
  }

  .safety-content {
    overflow: hidden;
  }

  .safety-content-box-text h1 {
    background: -webkit-linear-gradient(0deg, #44beec, #005dad);
            background-clip: border-box;
    font-size: 28px;
    font-weight: normal;
    text-align: center;

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .text-background {
    background: linear-gradient(to right, #19b1e8, #196eb5);
    color: #fff;
    letter-spacing: 8px;
    width: 80%;
    height: 35px;
    margin: 0 auto;
  }

  .safety-content-box-text {
    background: #fff;
    text-align: center;
    width: 90%;
    max-width: 530px;
    margin: 0 auto 30px;
    padding: 20px;
  }

  .safety-images {
    margin-bottom: 20px;
  }

  /* safety end */

  /* message start */
  .message {
    margin-bottom: 50px;
  }

  .message-text-p {
    width: 90%;
    margin: 0 auto 30px;
  }

  .message-text p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 1px;
  }

  .profile-wrapper {
    overflow: hidden;
  }

  .profile-title,
  .profile p {
    text-align: center;
    display: block;
  }

  .profile-left,
  .profile-right {
    float: left;
    width: 50%;
  }

  .profile .profile-title {
    background: linear-gradient(to right, #73cef0, #73a7d3);
    border-radius: 30px;
    font-size: 16px;
    line-height: 3;
    width: 150px;
    height: auto;
    margin: 0 auto;
    overflow: hidden;
  }

  /* message end */

  /* 相談 & related-office start */
  .consultation,
  .related-office {
    margin-bottom: 50px;
    overflow: hidden;
  }

  .related-office-text,
  .consultation-main-content {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 1px;
    width: 90%;
    margin: 0 auto 30px;
  }

  .related-office-box-img a,
  .related-office-box-img .a,
  .consultation-img-box a {
    text-align: center;
    display: block;
    float: left;
    width: 50%;
  }

  .related-office-title {
    color: #f2be82;
    font-family: "Quando", serif;
    font-size: 45px;
    line-height: 45px;
    text-align: center;
  }

  .related-office-title span {
    font-size: 16px;
  }

  /* 相談 & related-office end */

  /* access start */
  .access {
    margin-bottom: 50px;
  }

  .access-left-icon,
  .access-icon-img2 {
    text-align: center;
    margin: 50px 0;
  }

  .access-text {
    text-align: center;
    width: 80%;
    margin: 0 auto;
    margin-bottom: 20px;
  }

  .access-text-title,
  .access-text-title2 {
    background: linear-gradient(to right, #73cdf0, #73a7d3);
    border-radius: 20px;
    line-height: 35px;
    text-align: center;
    width: 120px;
    height: 35px;
    margin: 0 auto;
  }

  .access-text-title2 {
    background: linear-gradient(to right, #fa9981, #e88b1f);
  }

  /* access end */

  /* contact start */
  .contact-box {
    background: #e9f4f8;
    text-align: center;
    width: 80%;
    margin: 0 auto 50px;
    padding: 50px 30px;
  }

  .contact-box p {
    font-size: 20px;
    line-height: 1;
  }

  .contact-box img {
    max-width: 100%;
  }

  #formWrap {
    border: 1px solid #ccc;
    font-family: "Noto Sans JP",
    sans-serif;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 100px;
    padding: 30px;
  }

  .formTable,
  .formTable tbody,
  .formTable tr,
  .formTable th,
  .formTable td {
    display: block;
    width: 100%;
    padding: 0;
  }

  .formTable td input[type="text"] {
    background: #e5f0f4;
    border: 1px solid #ccc;
    font-size: 18px;
    line-height: 2;
    width: 100%;
  }

  .formTable th span {
    background: #e60012;
    border-radius: 25px;
    color: #fff;
    padding: 0 20px;
  }

  .formTable th span.ninni {
    background: #00b46a;
  }

  .formTable th {
    margin-bottom: 10px;
  }

  .formTable td {
    margin-bottom: 30px;
  }

  .formTable td textarea {
    font-size: 18px;
    width: 100%;
    height: 300px;
    padding: 10px;
  }

  .botton [type="submit"] {
    background: linear-gradient(to right, #00a6e4, #005ead);
    border: none;
    border-radius: 100px;
    color: #fff;
    font-size: 20px;
    line-height: 3;
    text-align: center;
    width: 95%;
    margin: 0 auto;
    padding: 0;
  }

  /* contact end */

  .seinen-goken-page .main-current-content {
    height: auto;
  }

  .seinen-goken-page .main-content h3 {
    font-size: 14px;
    letter-spacing: 2px;
  }
}

@media screen and (max-width: 320px) {
  .header .header-common .header-logo .logo {
    width: 220px;
    height: auto;
  }

  .related-office-box-img a img,
  .consultation-img-box a img,
  .five-content .content img {
    width: 100%;
    max-width: 100%;
  }
}

/**
 * 2021-03-31 added
**/
.check-list {
  list-style-type: none;
  font-size: 20px;
  letter-spacing: .33em;
  padding-left: 2.33em;
}
.check-list .item-text {
  line-height: 1.5;
}
.check-list > .item-text {
  padding: .33em 0 1.67em;
  position: relative;
}
.check-list > .item-text:last-child {
  padding-bottom: .33em;
}
.check-list > .item-text::before,
.check-list > .item-text::after {
  content: "";
  display: block;
  position: absolute;
  left: -2.25em;
}
.check-list > .item-text::before {
  background-color: #fff;
  border: 4px solid rgba( 0, 193, 223, .5 );
  border-radius: .13em;
  width: .83em;
  height: .83em;
  margin-top: .15em;
  z-index: 1;
}
.check-list > .item-text::after {
  /*rgba( 0, 193, 223, .67 )*/
  border-bottom: 7px solid #74c3ed;
  border-left: 7px solid #74c3ed;
  width: 1.2em;
  height: .77em;
  top: .01em;
  left: -2.19em;
  z-index: 3;
  transform: rotate(-43deg);
}
.check-list > .item-text > .text-inner {
  font-weight: bold;
  display: block;
}
.check-list .sub-list {
  list-style-type: disc;
  margin: .67em 0 1.33em;
  padding-left: 1.5em;
}
.check-list > .item-text:last-child .sub-list {
  margin-bottom: 0;
}
.check-list .sub-list > .item-text {
  padding: .15em 0;
}

@media screen and (max-width: 768px) {
  .check-list {
    font-size: 16px;
    letter-spacing: .23em;
  }
  .check-list > .item-text::before {
    border-width: 3px;
  }
  .check-list > .item-text::after {
    border-bottom-width: 6px;
    border-left-width: 6px;
  }
}
@media screen and (max-width: 641px) {
  .check-list {
    font-size: 13px;
    letter-spacing: .13em;
  }
  .check-list > .item-text::after {
    border-bottom-width: 5px;
    border-left-width: 5px;
  }
}

/* main-checkbox */
.main-checkbox,
.main-checkbox2,
.main-checkbox3,
.main-checkbox4,
.main-checkbox5,
.main-checkbox6 {
  width: 100%;
  height: auto;
  margin-right: auto;
  margin-left: auto;
  padding: 5px 20px 30px;
}

/* main-checkbox p */
.main-checkbox p,
.main-checkbox2 p,
.main-checkbox3 p,
.main-checkbox4 p,
.main-checkbox5 p,
.main-checkbox6 p,
/* main-content p */
.main-content p,
.main-content2 p,
.main-content3 p,
.main-content4 p,
.main-content5 p,
.main-content6 p,
/* main-text p */
.main-text p,
.main-text2 p,
.main-text3 p,
.main-text4 p,
.main-text5 p,
.main-text6 p,
/* main-explanation p */
.main-explanation p,
.main-explanation2 p,
.main-explanation3 p,
.main-explanation4 p,
.main-explanation5 p,
.main-explanation6 p,
/* number-content p */
.number-content p,
.number-content2 p,
.number-content3 p,
.number-content4 p,
.number-content5 p,
.number-content6 p,
/* main-content-img p */
.main-content-img p,
.main-content-img2 p,
.main-content-img3 p,
.main-content-img4 p,
.main-content-img5 p,
.main-content-img6 p,
/* main-flex-text p */
.main-flex-text p,
.main-flex-text2 p,
.main-flex-text3 p,
.main-flex-text4 p,
.main-flex-text5 p,
.main-flex-text6 p,
/* main-table p */
.main-table p,
.main-table2 p,
.main-table3 p,
.main-table4 p,
.main-table5 p,
.main-table6 p {
  font-size: 18px;
  line-height: 1.67;
  letter-spacing: .25em;
}


/* 2021-04-09 added */
.page .main-content .text-heading,
.page .main-content2 .text-heading,
.page .main-content3 .text-heading,
.page .main-content4 .text-heading,
.page .main-content5 .text-heading,
.page .main-content6 .text-heading {
  color: #004d8f;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .15em;
  text-align: center;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 768px) {
  .page .main-content .text-heading,
  .page .main-content2 .text-heading,
  .page .main-content3 .text-heading,
  .page .main-content4 .text-heading,
  .page .main-content5 .text-heading,
  .page .main-content6 .text-heading {
    font-size: 18px;
  }
}
@media screen and (max-width: 641px) {
  .page .main-content .text-heading,
  .page .main-content2 .text-heading,
  .page .main-content3 .text-heading,
  .page .main-content4 .text-heading,
  .page .main-content5 .text-heading,
  .page .main-content6 .text-heading {
    font-size: 13px;
  }
}
.check-link-btn {
  text-align: center;
  padding: .67em 0 .33em;
}
.page .check-link-btn .link-btn {
  margin: 0;
}
.check-link-btn a {
  background-color: #00a8e6;
  border: 5px solid #7ecef4;
  border-radius: .5em;
  color: #fff;
  font-size: 1.05em;
  font-weight: bold;
  line-height: 1.15;
  letter-spacing: .5em;
  text-decoration: none;
  display: block;
  width: 23em;
  margin: 0 auto;
  padding: .5em 0 .63em .25em;
}
@media screen and (max-width: 768px) {
  .check-link-btn a {
    width: 19.5em;
  }
}
@media screen and (max-width: 641px) {
  .check-link-btn a {
    font-size: 13px;
    letter-spacing: .33em;
    width: 18.7em;
  }
}
@media screen and (max-width: 360px) {
  .check-link-btn a {
    letter-spacing: .25em;
    width: 15.7em;
  }
}

/*---------------------------------------
-----------------------------------------
*0804追加*
-----------------------------------------
---------------------------------------*/

/* 追加したクラスはadd-がついてます */

.news .view {
  display: none;
}

.add-news-article {
  text-align: center;
}

.add-news-title {
  margin-bottom: 15px;
}

.add-news-title p {
  font-size: 1.5em;
}


.add-news-text {
  background-color: aliceblue;
  padding: 1em;
}

.add-news-text p {
  border-top: 1px dashed black;
  border-bottom: 1px dashed black;
  line-height: 1.7;
  padding: .5em;
}

.add-sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .add-news-title p {
    font-size: 1.2em;
  }

  .add-sp-only {
    display: block;
  }
}

@media screen and (min-width:1550px) {
  .news p {
    font-size: 100%;
  }

  .add-news-title p {
    font-size: 1.5em;
  }
}

@media screen and (min-width:769px) {
  .news-topic {
    align-items: center;
    margin-bottom: 30px;
  }

  .news-topic > span {
    width: 6.25em;
  }

  .news-topic p {
    height: auto;
    margin: 0;
  }

  .news-square {
    min-width: 6em;
    max-width: 12em;
    margin-right: 1em;
    margin-left: 1em;
  }
}
/*---------------- added 2024/12/24 -----------------*/
.tel1_sp {
  max-width: 83px;
  max-height: 76px;
}

@media screen and (max-width: 768px) {
  .contact-box img {
    max-width: 332px;
  }
}
@media screen and (max-width: 641px) {
  .contact-box img {
    max-width: 100%;
  }
}

/*  */
