@charset "UTF-8";
/*==================================================

** index
==================================================*/
#mainvisual {
  position: relative;
  padding: 40px 0 24px;
  background: url("../img/common/ptn_stripe396x396_wt_alpha5.png") repeat center center/396px 396px, linear-gradient(to right, #91d4f5 0%, #c4e5f5 25%, #d0e9f5 50%, #c4e5f5 75%, #91d4f5 100%); }
  #mainvisual .mvl-img img {
    width: 100%; }
  #mainvisual .mvl-note {
    font-size: 1.4rem;
    font-weight: 500;
    text-align: right;
    margin: 0 24px 0 0; }

#topStrengths {
  background: #004893;
  padding: 23px 0; }
  #topStrengths .strengths {
    margin: 0 auto; }
    #topStrengths .strengths li {
      width: 374px;
      color: #fff;
      margin-top: 0;
      border-right: 1px solid #4d7fb4; }
      #topStrengths .strengths li:last-of-type {
        border-right: none; }
    #topStrengths .strengths dl {
      height: 40px; }
    #topStrengths .strengths dt {
      font-size: 1.8rem;
      font-weight: 700; }
    #topStrengths .strengths dd {
      margin-left: 8px;
      font-weight: 500; }
    #topStrengths .strengths .en {
      font-size: 3.2rem;
      line-height: 1; }
    #topStrengths .strengths .month {
      margin-left: 4px; }
    #topStrengths .strengths .num {
      color: #fff491; }

#topInfo {
  background: #fff;
  padding: 64px 0 96px; }
  #topInfo .topnews {
    margin-bottom: 64px; }
    #topInfo .topnews .txtbox {
      border: 4px solid #e2421f;
      padding: 28px;
      color: #e2421f; }
  #topInfo .tab-ttl {
    border-bottom: 4px solid #004893; }
    #topInfo .tab-ttl-btn {
      border: none;
      display: block;
      width: 50%;
      border-radius: 10px 10px 0 0;
      padding: 20px;
      background: #339ccf;
      color: #fff;
      font-size: 2.2rem;
      font-weight: 700;
      text-align: center;
      transition: all 0.3s; }
      #topInfo .tab-ttl-btn:hover {
        background: #48a6d4; }
      #topInfo .tab-ttl-btn.select {
        background: #004893; }
  #topInfo .tab-cont {
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 5px 5px;
    background: #fff;
    padding: 12px 39px 39px; }
    #topInfo .tab-cont > :first-child {
      margin-top: 0; }
  #topInfo .tolist {
    margin: 32px 0 0;
    text-align: right; }
    #topInfo .tolist a {
      display: inline-block;
      padding-right: 16px;
      position: relative;
      text-decoration: underline;
      color: #004893; }
      #topInfo .tolist a:after {
        content: "";
        font: normal normal 900 1em "Font Awesome 5 Free";
        line-height: inherit;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        display: inline-block; }
      #topInfo .tolist a:hover {
        text-decoration: none; }

#topAbout .toptxt {
  text-align: center; }
  #topAbout .toptxt > :first-child {
    margin-top: 0; }
#topAbout .greetingsec h3 {
  margin: 64px 0 0;
  font-size: 2.8rem;
  text-align: center; }
#topAbout .greetingsec .phtbox {
  width: 240px; }
  #topAbout .greetingsec .phtbox .pht {
    aspect-ratio: 6/7; }
  #topAbout .greetingsec .phtbox img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
#topAbout .greetingsec .txtbox {
  width: 848px; }
  #topAbout .greetingsec .txtbox .sign {
    margin: 32px 0 0;
    font-weight: 500;
    text-align: right; }
    #topAbout .greetingsec .txtbox .sign .shop {
      display: block; }
    #topAbout .greetingsec .txtbox .sign .name {
      display: block;
      font-size: 2rem;
      margin: 4px 0 0; }
      #topAbout .greetingsec .txtbox .sign .name .role {
        font-size: 1.6rem;
        margin-right: 16px; }
#topAbout .gallerysec h4 {
  margin: 48px 0 0;
  font-size: 2.4rem; }
#topAbout .gallerysec .gallerylist {
  margin: 18px 0 0; }
  #topAbout .gallerysec .gallerylist li {
    width: 175px;
    margin: 14px 14px 0 0; }
    #topAbout .gallerysec .gallerylist li:nth-of-type(6n) {
      margin-right: 0; }
  #topAbout .gallerysec .gallerylist a {
    display: block;
    aspect-ratio: 25/14;
    position: relative; }
    #topAbout .gallerysec .gallerylist a:after {
      content: "";
      font: normal normal 900 1.4rem "Font Awesome 5 Free";
      line-height: inherit;
      color: #004893;
      position: absolute;
      right: 0;
      bottom: 0;
      width: 24px;
      line-height: 24px;
      text-align: center;
      background: #fff; }
  #topAbout .gallerysec .gallerylist img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

#topShopnav {
  margin: 96px 0 0;
  padding: 96px 0;
  background: #fff; }
  #topShopnav .nav {
    margin: 0; }
    #topShopnav .nav li {
      width: 536px;
      margin: 0; }
    #topShopnav .nav a {
      display: block;
      text-decoration: none;
      background: #004893;
      color: #fff; }
      #topShopnav .nav a:hover .tolist span {
        text-decoration: none; }
    #topShopnav .nav .txtbox {
      padding: 40px; }
      #topShopnav .nav .txtbox h4 {
        font-size: 2.4rem;
        color: #fff; }
        #topShopnav .nav .txtbox h4 + p {
          margin-top: 24px; }
      #topShopnav .nav .txtbox .tolist {
        margin: 24px 0 0;
        text-align: right; }
        #topShopnav .nav .txtbox .tolist span {
          display: inline-block;
          padding-right: 16px;
          position: relative;
          text-decoration: underline; }
          #topShopnav .nav .txtbox .tolist span:after {
            content: "";
            font: normal normal 900 1em "Font Awesome 5 Free";
            line-height: inherit;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            right: 0;
            display: inline-block; }
          #topShopnav .nav .txtbox .tolist span:hover {
            text-decoration: none; }

#topVoice {
  padding-bottom: 96px; }
  #topVoice .voicelist {
    margin: 48px -16px 0; }
    #topVoice .voicelist .item {
      margin: 0 16px; }
  #topVoice .linkbtn {
    margin-top: 48px; }

#topTrouble {
  background: url("../img/common/ptn_memphis_bl.png") repeat center center/500px;
  background-attachment: fixed;
  padding: 96px 0; }
  #topTrouble h2 {
    margin: 0; }
  #topTrouble .troublelist {
    margin: 16px 0 0; }
    #topTrouble .troublelist li {
      width: 268px;
      margin: 32px 20px 0; }
    #topTrouble .troublelist .box {
      padding-top: 100%;
      background: #fff;
      border-radius: 1000px;
      position: relative; }
    #topTrouble .troublelist .txt {
      color: #004893;
      font-size: 2.4rem;
      font-weight: 700;
      text-align: center;
      margin: 0;
      position: absolute;
      left: 0;
      right: 0;
      top: 60px; }
    #topTrouble .troublelist .phtbox {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      width: 120px;
      margin: auto; }
  #topTrouble .linkbtn {
    margin: 48px 0 0; }

#topCase .caselist {
  margin: 48px -16px 0; }
  #topCase .caselist .case-item {
    margin: 0 16px; }
#topCase .linkbtn {
  margin: 48px 0 0; }

#topCare {
  background: #fff;
  margin: 96px 0 0;
  padding: 96px 0; }
  #topCare h2 {
    margin: 0; }
  #topCare .carelist {
    margin: 0; }
    #topCare .carelist li {
      width: 340px;
      margin: 50px 50px 0 0; }
      #topCare .carelist li:nth-of-type(3n) {
        margin-right: 0; }
    #topCare .carelist a {
      display: block;
      text-decoration: none; }
    #topCare .carelist .ttl {
      margin: 0;
      background: #004893;
      color: #fff;
      position: relative;
      padding: 17px 24px;
      font-size: 2rem;
      font-weight: 700; }
      #topCare .carelist .ttl:after {
        content: "";
        font: normal normal 900 1.6rem "Font Awesome 5 Free";
        line-height: inherit;
        position: absolute;
        right: 24px;
        top: 50%;
        transform: translateY(-50%); }

@media screen and (min-width: 601px) {
  #topInfo .infolist a,
  #topInfo .bloglist a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  #topInfo .infolist .ttl,
  #topInfo .bloglist .ttl {
    display: inline;
    margin-left: 16px; } }
@media screen and (max-width: 600px) {
  #mainvisual {
    padding: 50px 0 12px;
    background: url("../img/common/ptn_stripe396x396_wt_alpha5.png") repeat center center/396px 396px, linear-gradient(to bottom, #91d4f5 0%, #c4e5f5 25%, #d0e9f5 50%, #c4e5f5 75%, #91d4f5 100%); }
    #mainvisual .mvl-note {
      margin: 17px 12px 0 0; }

  #topStrengths {
    padding: 16px 0; }
    #topStrengths .strengths {
      width: 100%; }
      #topStrengths .strengths li {
        width: calc(100% / 3); }
      #topStrengths .strengths dl {
        height: 48px;
        text-align: center; }
      #topStrengths .strengths dt {
        width: 100%;
        font-size: 1.4rem; }
      #topStrengths .strengths dd {
        margin: 3px 0 0 0;
        font-size: 1.4rem;
        line-height: 1.35; }
      #topStrengths .strengths .en {
        font-size: 2rem; }
      #topStrengths .strengths .month {
        margin-left: 0; }

  #topInfo {
    padding: 40px 0 64px; }
    #topInfo .topnews {
      margin-bottom: 40px; }
      #topInfo .topnews .txtbox {
        padding: 20px 5.6%; }
    #topInfo .tab-ttl-btn {
      padding: 16px 8px;
      font-size: 2rem; }
    #topInfo .tab-cont {
      padding: 16px 6.3% 39px; }

  #topAbout .toptxt {
    text-align: left; }
    #topAbout .toptxt br {
      display: none; }
  #topAbout .greetingsec h3 {
    font-size: 2.2rem; }
  #topAbout .greetingsec .phtbox {
    width: 66.6%;
    margin: auto; }
  #topAbout .greetingsec .txtbox {
    width: 100%;
    margin: 24px 0 0; }
  #topAbout .gallerysec h4 {
    font-size: 2rem; }
  #topAbout .gallerysec .gallerylist {
    margin: 8px 0 0; }
    #topAbout .gallerysec .gallerylist li {
      width: 47.7%;
      margin: 4.5% 4.6% 0 0; }
      #topAbout .gallerysec .gallerylist li:nth-of-type(2n) {
        margin-right: 0; }

  #topShopnav .nav li {
    width: 100%; }
    #topShopnav .nav li + li {
      margin-top: 40px; }
  #topShopnav .nav .txtbox {
    padding: 32px 6.6%; }
    #topShopnav .nav .txtbox h4 {
      font-size: 2.2rem; }

  #topVoice {
    padding-bottom: 64px; }
    #topVoice .voicelist {
      margin: 40px -24px 0; }
      #topVoice .voicelist .item {
        margin: 0 24px; }
    #topVoice .linkbtn {
      margin-top: 32px; }

  #topTrouble {
    background-size: 400px;
    padding: 64px 0; }
    #topTrouble .troublelist {
      margin: 24px 0 0; }
      #topTrouble .troublelist li {
        width: 47.7%;
        margin: 16px 4.6% 0 0; }
        #topTrouble .troublelist li:nth-of-type(2), #topTrouble .troublelist li:nth-of-type(5) {
          margin-right: 0; }
        #topTrouble .troublelist li:nth-of-type(3) {
          margin-left: 4.6%; }
      #topTrouble .troublelist .txt {
        font-size: 4vw;
        top: 9vw; }
      #topTrouble .troublelist .phtbox {
        width: 20vw; }
    #topTrouble .linkbtn {
      margin: 32px 0 0; }

  #topCase .caselist {
    margin: 40px -8px 0; }
    #topCase .caselist .case-item {
      margin: 0 8px; }
  #topCase .linkbtn {
    margin: 32px 0 0; }

  #topCare {
    margin: 64px 0 0;
    padding: 64px 0; }
    #topCare .carelist li {
      width: 100%;
      margin: 40px 0 0; }
    #topCare .carelist .ttl {
      padding: 16px 24px;
      font-size: 1.6rem; } }
@media screen and (max-width: 374px) {
  #topTrouble h2 br {
    display: none; } }
