@charset "utf-8";

/*---------------------------------------------
---------------------------------------------
-------------------------------------------
-----------------------------------------
---------------------------------------
-------------------------------------
-----------------------------------
---------------------------------
-------------------------------

 SP CSS START  */

@media screen and (max-width: 768px) {
  /* pc_only */
  .pc_only {
    display: none;
  }

  /* sp_only */
  .sp_only {
    display: inline;
  }

  /* pc_only */
  .pc_only {
    display: none;
  }

  /* sp_only */
  .sp_only {
    display: inline;
  }

  /*---------------------------------------------
 基本要素  ■■■ SP ■■■ 
---------------------------------------------*/

  html {
    width: 100%;
    min-width: 0;
    height: 100%;
    font-size: 62.5%;
  }

  body {
    width: 100%;
    min-width: 0;
    height: 100%;
    text-align: left;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ",
      sans-serif;
    font-weight: 500; /* 游ゴシックがWindowsのGoogleChromeで細くなる用対策 */
    font-size: 1.5rem;
    line-height: 1.6;
    color: #333;
    -webkit-text-size-adjust: 100%;
    background-color: #fff;
  }

  /*---------------------------------------------
---------------------------------------------
------------------------------------------

全ページ共通 ■■■ SP ■■■ 

------------------------------------------
---------------------------------------------
---------------------------------------------*/

  #container {
    min-width: 0;
  }

  .contents1140 {
    width: auto;
    padding-left: 5%;
    padding-right: 5%;
    margin: 0;
  }

  /*---------------------------------------------

 Btn_a ■■■ SP ■■■ 

---------------------------------------------*/

  .btn_type_a {
    font-size: 1.2rem;
  }

  .btn_type_a a {
    padding: 14px 5px 14px 0;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    border-radius: 22px;
  }

  .btn_type_a a::after {
    content: "";
    right: 14px;
    width: 5px;
    height: 5px;
    margin-top: -3px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  /* yellow ■■■ SP ■■■ 
---------------------------------------------*/

  .btn_type_a.yellow a::after {
    border-top: 1px solid #000;
    border-right: 1px solid #000;
  }

  /*---------------------------------------------

header ■■■ SP ■■■ 

---------------------------------------------*/

  header {
    z-index: 1000;
    min-width: 0;
    height: 64px;
  }

  /* smaller move */
  header.smaller {
    height: 64px;
  }

  /* --- logo ---*/

  header h1 {
    top: 17px;
    left: 16px;
    width: 140px;
    height: auto;
  }

  /* smaller move */
  header.smaller h1 {
    top: 11px;
    width: 140px;
  }

  /* --- login (a:hover=gnav) --- */

  .header_login,
  .header_trial {
    display: none;
  }

  /*---------------------------------------------

gnav ■■■ SP ■■■ 

---------------------------------------------*/

  #gnav {
    display: none;
  }

  /* ボタン  ■■■ SP ■■■ 
---------------------------------------------*/

  #sp_btn_gnav {
    z-index: 9999;
    cursor: pointer;
    display: block;
    position: fixed;
    top: 0px;
    right: 0px;
    width: 62px;
    height: 64px;
  }

  #sp_btn_gnav .sp_btn_gnav_bar {
    display: block;
    opacity: 1;
    position: absolute;
    right: 18px;
    width: 26px;
    height: 2px;
    background-color: #cbac5d;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
  }
  #sp_btn_gnav .sp_btn_gnav_bar.bar1 {
    top: 22px;
  }
  #sp_btn_gnav .sp_btn_gnav_bar.bar2 {
    top: 31px;
  }
  #sp_btn_gnav .sp_btn_gnav_bar.bar3 {
    top: 40px;
  }

  #sp_btn_gnav.active .sp_btn_gnav_bar.bar1 {
    top: 21px;
    right: 18px;
    margin-top: 10px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
  }

  #sp_btn_gnav.active .sp_btn_gnav_bar.bar2 {
    opacity: 0;
  }

  #sp_btn_gnav.active .sp_btn_gnav_bar.bar3 {
    top: 41px;
    right: 18px;
    margin-top: -10px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
  }

  /* メニューウィンドウ  ■■■ SP ■■■ 
---------------------------------------------*/

  div#sp_header_nav {
    z-index: 100;
    display: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    overflow: scroll;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: #fff;
  } /* 出てくる背景部分 */

  div#sp_header_nav::-webkit-scrollbar {
    display: none;
  }

  div#sp_header_nav_window {
    position: relative;
    width: 100%;
    height: 100%;
  }

  div#sp_header_nav_window::-webkit-scrollbar {
    display: none;
  }

  /* メニュー本体  ■■■ SP ■■■ 
---------------------------------------------*/

  #sp_gnav {
    text-align: center;
  }

  #sp_gnav > ul {
    text-align: left;
    padding: 70px 18px 25px 18px;
  }

  #sp_gnav > ul > li {
    position: relative;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #ccc;
  }

  #sp_gnav > ul > li a,
  #sp_gnav > ul > li a:hover {
    display: block;
    height: 25px;
    color: #cbac5d;
    text-decoration: none;
    padding: 22px 0 12px 2px;
    text-transform: uppercase;
  }

  #sp_gnav > ul > li a::after,
  #sp_gnav > ul > li a:hover::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 4px;
    width: 5px;
    height: 5px;
    color: #fff;
    vertical-align: middle;
    margin-top: -3px;
    border-top: 1px solid #cbac5d;
    border-right: 1px solid #cbac5d;
    -ms-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  /* current */
  #sp_gnav > ul > li.current a,
  #sp_gnav > ul > li.current a:hover {
    color: #ffc000;
  }
  #sp_gnav > ul > li.current a::after,
  #sp_gnav > ul > li.current a:hover::after {
    display: none;
  }

  /* --- trial --- */
  .btn_type_a.sp_header_trial a {
    width: 182px;
  }

  /*---------------------------------------------

footer ■■■ SP ■■■ 

---------------------------------------------*/

  /* gray background ■■■ SP ■■■ 
---------------------------------------------*/

  #footer_box {
    padding: 35px 0;
  }

  /* logo */
  .ft_logo img {
    width: 86px;
    height: auto;
  }

  /* btn_a */
  #footer_box .btn_type_a {
    margin-top: 23px;
  }
  #footer_box .btn_type_a a {
    width: 223px;
  }

  /* -- ft_menu --- */

  .ft_menu {
    padding: 30px 5% 0 5%;
  }

  .ft_menu > li {
    display: block;
    font-size: 1.32rem;
    text-align: left;
  }

  .ft_menu > li a {
    position: static;
    height: auto;
    color: #fff;
    padding: 6px 0 6px 0;
  }

  .ft_menu > li a::before,
  .ft_menu > li a:hover::before,
  .ft_menu > li a::after,
  .ft_menu > li a:hover::after {
    display: none;
  }

  /* copyright ■■■ SP ■■■ 
---------------------------------------------*/

  #copyright {
    padding: 17px 0 38px 0;
  }

  #copyright small {
    font-size: 1rem;
  }

  /*---------------------------------------------
---------------------------------------------
------------------------------------------

 下層ページ共通 ■■■ SP ■■■ 

------------------------------------------
---------------------------------------------
---------------------------------------------*/

  /* Contents ■■■ SP ■■■ 
---------------------------------------------*/

  .contents {
    width: 100%;
    min-width: 1100px;
    border-top: 3px solid #44b7ab;
  }

  .contents .inner {
    width: 1100px;
    padding-top: 45px;
    margin: 0 auto;
  }

  /* Main 2カラム */
  .main {
    float: left;
    width: 820px;
    padding-bottom: 80px;
  }

  /* Main 1カラム */
  .main.wide {
    width: 1100px;
  }

  /* H ■■■ SP ■■■ 
---------------------------------------------*/

  /* h2 */
  .ttl_h2 {
    height: 50px;
    padding-top: 100px;
  }

  .ttl_h2 h2 {
    font-size: 1.8rem;
  }

  /* h3 */
  .page_h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  h3.page_h3::after {
    width: 100px;
    height: 2px;
    margin-left: -50px;
  }

  /* h4 */
  .page_h4 {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }

  /* Detail Common ■■■ SP ■■■ 
---------------------------------------------*/

  .detail_box {
    width: auto;
  }

  /* p */
  .detail_box p {
    font-size: 1.3rem;
    letter-spacing: 0.1em;
    padding-bottom: 20px;
  }
  /* img */
  .detail_box img {
    display: block;
    max-width: 100%;
  }
  /* img fleft fright */
  .detail_box p.fleft {
    float: none;
    padding: 0 0 20px 0;
  }
  .detail_box p.fright {
    float: none;
    padding: 0 0 20px 0;
  }

  /* Breadcrumb ■■■ SP ■■■ 
---------------------------------------------*/

  .breadcrumb {
    font-size: 1.2rem;
    line-height: 1.6;
    padding: 12px 5% 12px 5%;
  }

  /* Top Message ■■■ SP ■■■ 
---------------------------------------------*/

  /* --- center --- */

  .top_msg {
    padding: 20px 0;
  }

  .top_msg p {
    font-size: 1.3rem;
    line-height: 2;
    text-align: left;
    padding: 0 5% 10px 5%;
  }

    /* --- left --- */

    .top_msg_left {
      width: auto;
      padding: 30px 0;
      margin: 0;
    }
  
    .top_msg_left p {
      font-size: 1.3rem;
      line-height: 2;
      padding: 0 5%;
    }
    
  /* Pagination ■■■ SP ■■■ 
---------------------------------------------*/

  .pagination {
    font-size: 1.2rem;
  }

  .pagination span {
    margin: 0 1px 10px 0;
  }

  .pagination a,
  .pagination .current,
  .pagination .previous,
  .pagination .next {
    min-width: 20px;
    height: 30px;
    font-size: 1.2rem;
    line-height: 30px;
    margin: 0 1px 10px 0;
    padding: 0 5px;
  }

  .pagination .previous,
  .pagination .next {
    padding: 0 8px;
  }

  /* Pagination Detail */
  .pagination.detail a,
  .pagination.detail .previous,
  .pagination.detail .next {
    height: 30px;
    line-height: 30px;
    padding: 0 15px;
  }



  /* MainVisual @frontpage ■■■ SP ■■■ 
---------------------------------------------*/

  #index_mv {
    padding-top: 64px;
  }

  /* Info @frontpage ■■■ SP ■■■ 
---------------------------------------------*/

  #index_info {
    height: auto;
    padding: 80px 0 20px 0;
    background-color: #fdf5f8;
  }

  #index_info ul li {
    position: static;
    font-size: 1.3rem;
    padding-left: 0;
  }

  /* BOX01 @frontpage ■■■ SP ■■■ 
---------------------------------------------*/

  #index_box01 {
    padding-top: 40px;
    padding-bottom: 60px;
  }

  /* div */
  #index_box01 > div {
    float: none;
    width: auto;
    margin-bottom: 20px;
    text-align: center;
  }

  /* figure */
  #index_box01 > figure {
    float: none;
    width: 100%;
    max-width: 552px;
    margin: 0 auto;
  }
  #index_box01 > figure img {
    width: 100%;
    height: auto;
  }

  /* h2 */
  #index_box01 h2 {
    font-size: 2.1rem;
    line-height: 1.6;
    padding-bottom: 8px;
  }

  /* p */
  #index_box01 p {
    font-size: 1.4rem;
    line-height: 1.9;
    padding-bottom: 20px;
  }


  /* BOX02 @frontpage ■■■ SP ■■■ 
---------------------------------------------*/

  #index_box02 {
    padding: 55px 5% 43px 5%;
  }

  /* h2 */
  #index_box02 h2 {
    font-size: 2.05rem;
    line-height: 1.6;
    padding-bottom: 20px;
  }
  #index_box02 h2::after {
    width: 100px;
    height: 2px;
    margin-left: -50px;
  }

  /* intro p */
  #index_box02 p.intro {
    width: auto;
    font-size: 1.5rem;
    line-height: 1.8;
    padding-top: 25px;
    padding-bottom: 20px;
    margin: 0;
  }

  /* ul */
  #index_box02 ul {
    width: auto;
    flex-wrap: wrap;
  }

  #index_box02 ul li {
    width: 48%;
    margin-right: 0px;
    margin-bottom: 10px;
  }
  
  #index_box02 ul li .boxText {
    padding: 0 0 20px;
  }
  
  #index_box02 ul li .boxText span {
    font-size: 1.3rem;
  }

  #index_box02 ul li .boxText h3 {
    padding-top: 0;
    font-size: 1.2rem;
  }
  


  /* info / company @frontpage ■■■ SP ■■■ 
---------------------------------------------*/

  #ft_info_company {
    padding: 40px 0 45px 0;
  }

  /* h2 */
  #ft_info_company h2 {
    font-size: 1.55rem;
    line-height: 1.6;
    text-align: left;
    padding-bottom: 12px;
  }
  #ft_info_company h2::after {
    width: 70px;
    height: 2px;
  }

  /* --- info  @frontpage --- */

  #ft_info {
    float: none;
    width: auto;
    padding: 0 5% 0 5%;
  }

  /* btn_a */
  #ft_info .btn_type_a {
    top: 0px;
    right: 5%;
    font-size: 1.6rem;
  }
  #ft_info .btn_type_a a {
    width: 78px;
    padding: 10px 0 8px 0;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    border-radius: 22px;
  }
  #ft_info .btn_type_a a::after {
    display: none;
  }

  /* ul */
  #ft_info ul {
    padding-top: 10px;
  }

  #ft_info ul li {
    position: static;
    padding: 18px 0 10px 0;
  }

  #ft_info ul li time {
    display: block;
    position: static;
    padding-bottom: 1px;
  }

  /* --- company  @frontpage --- */

  #ft_company {
    float: none;
    width: auto;
    padding: 55px 5% 0 5%;
  }

  /* logo */
  .ft_company_logo {
    width: 195px;
    padding-top: 23px;
  }
  .ft_company_logo img {
    width: 100%;
    height: auto;
  }



  /*---------------------------------------------
---------------------------------------------
------------------------------------------

info ■■■ SP ■■■ 

------------------------------------------
---------------------------------------------
---------------------------------------------*/

  /* info list @info ■■■ SP ■■■ 
---------------------------------------------*/

  #info_list {
    padding: 0 0 50px 0;
  }

  /* ul */
  #info_list ul {
    padding-bottom: 40px;
  }

  #info_list ul li {
    font-size: 1.3rem;
  }

  #info_list ul li a {
    padding: 30px 3% 15px 3%;
  }

  #info_list ul li time {
    display: block;
    position: static;
    padding-bottom: 5px;
  }

  /* info detail @cases_detail ■■■ SP ■■■ 
---------------------------------------------*/

  #info_detail {
    width: auto;
    padding: 20px 5% 50px 5%;
    margin: 0;
  }

  /* Title */
  #info_detail h3 {
    font-size: 1.6rem;
    line-height: 1.7;
    padding-bottom: 6px;
  }

  /* Date */
  #info_detail time {
    font-size: 1.3rem;
    padding-bottom: 10px;
    padding-left: 2px;
  }

  #info_detail .detail_box {
    padding-top: 25px;
    padding-bottom: 30px;
  }


/*---------------------------------------------
---------------------------------------------
------------------------------------------

Page 共通 ■■■ SP ■■■ 

------------------------------------------
---------------------------------------------
---------------------------------------------*/

#section_main {
  padding: 20px 0;
}

#section_main .section_intro {
  padding: 0 5% 40px 5%;
  color: #222a35;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.2em;
  text-align: center;
}

  /*---------------------------------------------
---------------------------------------------
------------------------------------------

Contact ■■■ SP ■■■

------------------------------------------
---------------------------------------------
---------------------------------------------*/

  /* Contact Form @contact ■■■ SP ■■■
---------------------------------------------*/

  .form_box {
    width: auto;
    max-width: 450px;
    padding: 10px 5% 70px 5%;
  }
  /* trial_form @Trial */
  #trial_form.form_box {
    padding-bottom: 70px;
  }

  /* --- dl --- */

  .form_box dl {
    font-size: 1.3rem;
  }

  .form_box dl dt {
    float: none;
    clear: none;
    width: auto;
    padding: 25px 0 0 7px;
  }

  .form_box dl dd {
    padding: 5px 5px 10px 5px;
  }

  .form_box .mw_wp_form_confirm dl dt {
    padding: 15px 0 0 5px;
  }
  .form_box .mw_wp_form_confirm dl dd {
    padding: 5px 5px 10px 5px;
  }

  /* --- input / select / textarea  ■■■ SP ■■■ --- */

  .form_box input[type="text"],
  .form_box input[type="tel"],
  .form_box input[type="email"],
  .form_box input[type="submit"],
  .form_box select,
  .form_box textarea {
    height: 42px;
    font-size: 1.6rem;
    margin-bottom: 10px;
  }

  /* input */
  .form_box input[type="text"],
  .form_box input[type="tel"],
  .form_box input[type="email"] {
    width: 100%;
  }

  /* select */
  .form_box select {
    width: 100%;
    max-width: 400px;
  }

  /* textarea */
  .form_box textarea {
    height: 180px;
    margin-bottom: 25px;
  }

  /* --- caution  ■■■ SP ■■■ --- */

  .entry_caution {
    font-size: 1.2rem;
    text-align: left;
    text-indent: -1.5em;
    padding-left: 1.5em;
  }

  /* --- submit  ■■■ SP ■■■ --- */

  .entry_submit {
    text-align: center;
    margin: 30px 0 0;
  }

  .form_box .entry_submit input[type="submit"] {
    width: 200px;
    height: 45px;
    font-size: 1.4rem;
    padding: 0;
    -webkit-border-radius: 28px;
    -moz-border-radius: 28px;
    border-radius: 28px;
  }

  .form_box .backButton input[type="submit"] {
    width: 60px;
    margin-right: 5px;
    background-color: #fff;
  }
  
  .entry_submit .submitButton::after {
    right: 16px;
    width: 6px;
    height: 6px;
    margin-top: -3px;
  }



  /*---------------------------------------------
  ---------------------------------------------
  ------------------------------------------

  Service ■■■ SP ■■■

  ------------------------------------------
  ---------------------------------------------
  ---------------------------------------------*/

  /* Service Main @Service ■■■ SP ■■■
  ---------------------------------------------*/

  #service {
  }

  /* h3 */
  #service h3.page_h3 {
    margin-bottom: 30px;
  }

  /* p */
  #service > p {
    font-size: 1.4rem;
    letter-spacing: 0.15em;
    text-align: left;
    padding: 0 5% 50px 5%;
  }

  /* --- ul --- */

  #service ul {
    display: block;
    width: auto;
    max-width: 400px;
    margin: 0 auto;
    padding: 0 10%;
  }

  #service ul li {
    width: auto;
    margin: 0 0 50px 0;
  }

  /* figure */
  #service figure {
    overflow: visible;
    padding-bottom: 10px;
  }
  #service figure img {
    max-width: 80%;
  }

  /* h4 */
  #service h4 {
    width: 220px;
    height: 50px;
    font-size: 1.4rem;
    -webkit-border-radius: 26px;
    -moz-border-radius: 26px;
    border-radius: 26px;
  }

  /* p */
  #service ul li > p {
    font-size: 1.3rem;
    line-height: 1.8;
    padding: 15px 0 0 0;
  }


    /*---------------------------------------------
  ---------------------------------------------
  ------------------------------------------

  About Us ■■■ SP ■■■

  ------------------------------------------
  ---------------------------------------------
  ---------------------------------------------*/

  .box_statement .inner {
    padding: 0 5%;
  }
  
  .box_statement ul {
    width: 100%;
    flex-wrap: wrap;
  }

  .box_statement ul li {
    width: 100%;
    margin-bottom: 20px;
  }

  .box_outline ul {
    width: 100%;
    padding: 0 5%;
  }
  
  .box_outline ul li {
    padding: 12px 5px;
  }
  
  .box_outline ul dl {
    flex-wrap: wrap;
  }

  .box_outline ul li dt {
    width: 100%;
    font-weight: bold;
  }
  
  .box_outline ul li dd {
    width: 100%;
  }
  
  /*---------------------------------------------
  ---------------------------------------------
  ------------------------------------------

  Privacy ■■■ SP ■■■

  ------------------------------------------
  ---------------------------------------------
  ---------------------------------------------*/

  /* Privacy @Privacy ■■■ SP ■■■
  ---------------------------------------------*/

  #privacy_contents {
    padding-top: 30px;
    padding-bottom: 50px;
  }

  /* p */
  #privacy_contents p {
    font-size: 1.3rem;
  }

  /* h3 */
  #privacy_contents h3 {
    font-size: 1.6rem;
    padding-top: 30px;
    padding-bottom: 10px;
  }

  /* ol ---1.--- */
  #privacy_contents ol {
    font-size: 1.3rem;
    padding: 25px 30px;
    margin-top: 25px;
  }
}
/*   SP CSS END

-------------------------------
---------------------------------
-----------------------------------
-------------------------------------
---------------------------------------
-----------------------------------------
-------------------------------------------
---------------------------------------------
---------------------------------------------*/
