@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;500;600;700;900&display=swap");
/* Reset 
-------------------------*/

html,
body {
    width: 100%;
    background: #fff;
}
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
fieldset,
img {
    border: 0;
}
li {
    list-style: none;
}
caption,
th {
    text-align: left;
}
th {
    vertical-align: baseline;
}
select,
input,
button,
textarea {
    font: 99%;
}
table {
    font-size: inherit;
    font: 100%;
}
address,
caption,
em,
strong,
th {
    font-style: normal;
    font-weight: normal;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal;
}
input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
}
input,
textarea,
select {
}

body {
    color: #3d3a39;
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.02em;
    font-family: "Noto Sans JP", sans-serif;
    background-color: #f3f5f9;
}
img {
    width: 100%;
    max-width: none;
    height: auto;
    vertical-align: top;
}
svg {
    fill: #000;
}
.is-copy-guard {
    -webkit-touch-callout: none;
    -moz-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
a {
    color: #000;
    text-decoration: none;
    outline: none;
    transition: all 0.3s;
}
a:visited {
    outline: none;
}
a:hover {
    color: #83bb08;
    outline: none;
}
a:focus,
a:active {
    color: #000;
    outline: none;
}
a,
button,
label {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
    height: 0;
    margin: 2% 0 2% 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #ccc;
}
/* --------------------------------------------------
  h
 -------------------------------------------------- */
h1 {
}
h2 {
}
h3 {
}
h4 {
}
h5 {
}

@media screen and (max-width: 767px) {
    h1 {
    }
    h2 {
    }
    h3 {
    }
    h4 {
    }
    h5 {
    }
}

/* --------------------------------------------------
  font-size
 -------------------------------------------------- */
xsmall,
.xsmall {
    font-size: 80%;
    line-height: 1.6;
}
small,
.small {
    font-size: 90%;
    line-height: 1.6;
}
middle,
.middle {
    font-size: 120%;
    font-weight: bold;
    line-height: 1.6;
}
big,
.big {
    font-size: 160%;
    font-weight: 900;
    line-height: 1.6;
}
bigest,
.bigest {
    font-size: 200%;
}
biger,
.biger {
    font-size: 280%;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0.01em;
}
pricenamber,
.pricenamber {
    font-family: "Century Gothic", sans-serif;
    font-size: 200%;
    font-weight: 800;
    line-height: 1.6;
}
@media screen and (max-width: 767px) {
    middle,
    .middle {
        font-size: 110%;
        font-weight: bold;
        line-height: 1.6;
    }
    bigest,
    .bigest {
        font-size: 150%;
        font-weight: bold;
        line-height: 1.6;
    }
    biger,
    .biger {
        font-size: 170%;
    }
}

/* --------------------------------------------------
  align
 -------------------------------------------------- */
.cp_l {
    text-align: left;
}
.cp_r {
    text-align: right;
}
.cp_c {
    text-align: center;
}
.cp_c_m {
    text-align: center;
}
@media screen and (max-width: 767px) {
    .cp_c {
        text-align: left;
    }
}

/* --------------------------------------------------
  color
 -------------------------------------------------- */
gray,
gray a,
.gray,
.gray a {
    color: #c6c6c6;
}
red,
red a,
.red,
.red a {
    color: #f00;
}
white,
white a,
.white,
.white a {
    color: #fff;
}
green,
green a,
.green,
.green a {
    color: #90c31e;
}
blue,
blue a,
.blue,
.blue a {
    color: #1ab7ee;
}
orange,
orange a,
.orange,
.orange a {
    color: #f7b01a;
}
enge,
enge a,
.enge,
.enge a {
    color: #ff7553;
}
green_b,
.green_b{
    background: linear-gradient(transparent 0%, transparent 50%, #c5ffc5 50%, #c5ffc5 100%);
}
@media screen and (max-width: 767px) {
    yellow_b,
    .yellow_b {
        line-height: 2;
    }
}
/* --------------------------------------------------
  margin
 -------------------------------------------------- */
.mg01 {
    margin: 8% 0 0 0;
}
/* --------------------------------------------------
  padding
 -------------------------------------------------- */
.pg01 {
    padding: 0 0 3% 0;
}
.pg02 {
    padding: 0 0 5% 0;
}

/* --------------------------------------------------
  Button
 -------------------------------------------------- */
.btn_area_top {
    text-align: center;
    margin: 0 auto 8%;
}
.btn_area_top ul {
}
.btn_area_top ul li {
    position: relative;
    font-size: 18px;
    margin: 40px 10px 0px 10px;
    display: inline-block;
}
.btn_area_top ul li p {
    position: absolute;
    color: #90c31f;
    font-size: 11px;
    top: -15px;
    left: 0;
    right: 0;
    width: 270px;
    padding: 1% 0 1% 0;
    border-radius: 46px;
    border: 1px solid #90c31f;
    background-color: #fff;
    margin: auto;
}
.btn_area_top ul li p::before {
    content: "＼";
}
.btn_area_top ul li p::after {
    content: "／";
}
.btn_area {
    text-align: center;
    margin: 5% auto 0;
}
.btn_area ul {
}
.btn_area ul li {
    position: relative;
    display: inline-block;
    margin: 0 1% 0 1%;
}
.btn {
    position: relative;
    margin: auto;
    padding: 16px 60px 16px 40px;
    text-align: center;
    transition: 0.5s;
    background-size: 200% auto;
}
.btn:hover {
    background-position: right center;
}
.btn_l {
    position: relative;
    margin: auto;
    padding: 20px 100px 20px 60px;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s;
    background-size: 200% auto;
}
.btn_l:hover {
    background-position: right center;
}
.btn01 {
    font-weight: bold;
    color: #87be0d;
    border-radius: 46px;
    box-shadow: 0 0 16px #d1d1d1;
    background-color: #fff;
}
.btn01:hover {
    color: #6a9a01;
}

a.btn01::after {
    content: "\f22d";
    display: block;
    font-size: 36px;
    font-family: "Font Awesome 5 Free";
    line-height: 0.6;
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translate(-50%, -10px);
    background-size: 10px 10px;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.btn02,
.blog_body .blog_main_cont .btn02 {
    font-weight: bold;
    color: #fff;
    width: 270px;
    padding: 16px 60px 16px 40px;
    border-radius: 46px;
    box-shadow: 0 0 16px #d1d1d1;
    background-color: #90c31f;
    margin: 0 auto 2% auto;
    position: relative;
    display: block;
    text-decoration: none;
}
.btn02:hover,
.blog_body .blog_main_cont .btn02:hover {
    color: #6a9a01;
}

a.btn02::after {
    content: "\f22d";
    display: block;
    font-size: 36px;
    font-family: "Font Awesome 5 Free";
    line-height: 0.6;
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translate(-50%, -10px);
    background-size: 10px 10px;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.btn03 {
    color: #fff;
}
.btn03:hover {
    color: #fff;
}
a.btn03::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    border: 1px solid #6eba02;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 90%;
    transform: translate(-50%, -10px);
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
a.btn03::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    left: 50%;
    top: 90%;
    transform: translate(-50%, -10px);
    background: url(/web/img/arrow_green_u.png) center center no-repeat;
    background-size: 10px 10px;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

.btn04 {
    color: #64a300;
    border: 1px solid #6eba02;
    background-image: linear-gradient(to right, #fff 0%, #e0f7e0 51%, #fff 100%);
}
.btn04:hover {
    color: #64a300;
}
a.btn04::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    border: 1px solid #6eba02;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 46%;
    transform: translate(-50%, -10px);
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
a.btn04::after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    right: 0.5%;
    top: 48%;
    transform: translate(-50%, -10px);
    background: url(/web/img/arrow_green.png) center center no-repeat;
    background-size: 10px 10px;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.btn05,
.blog_body .blog_main_cont .btn05 {
    font-weight: bold;
    color: #90c31f;
    width: 250px;
    padding: 16px 60px 16px 40px;
    border-radius: 46px;
	border:2px solid #90c31f;
    box-shadow: 0 0 16px #d1d1d1;
    background-color: #fff;
    margin: 0 auto 2% auto;
    position: relative;
    display: block;
    text-decoration: none;
}
.btn05:hover,
.blog_body .blog_main_cont .btn02:hover {
    color: #6a9a01;
}

a.btn05::after {
    content: "\f22d";
    display: block;
    font-size: 36px;
    font-family: "Font Awesome 5 Free";
    line-height: 0.6;
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translate(-50%, -10px);
    background-size: 10px 10px;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
@media screen and (max-width: 767px) {
    .btn_area_top {
        margin: 10% auto 8%;
    }
    .btn_area_top ul li {
        margin: 0 auto 8% auto;
    }
    .btn_area_top ul li p {
        font-size: 11px;
    }
    .btn_area {
        text-align: center;
        margin: 5% auto 10%;
    }
    .btn_area ul li {
        display: block;
        margin: 10% 0 10% 0;
    }
    .btn {
        position: relative;
        margin: auto;
        padding: 15px 50px 15px 30px;
    }
    .blog_body .blog_main_cont .btn02 {
        position: relative;
        margin: auto;
        padding: 15px 50px 15px 30px;
    }
}
/* --------------------------------------------------
  link
 -------------------------------------------------- */
.link01,
.link01 a {
	color:#06C;
    text-decoration: underline;
}
.link01:hover,
.link01 a:hover {
    text-decoration: none;
}
/* --------------------------------------------------
  pc/sp
 -------------------------------------------------- */
.sp_navi {
    display: none;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
.pc_br {
    display: block;
}
.sp_br {
    display: none;
}
@media screen and (max-width: 767px) {
    .sp_navi {
        display: block;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    .pc_br {
        display: none;
    }
    .sp_br {
        display: block;
    }
    .sp_none {
        display: none;
    }
}

/* --------------------------------------------------
  page-under
 -------------------------------------------------- */

#page-under {
    position: fixed;
    top: 50%; /* 画面の上下中央に要素を配置 */
    left: calc(50% - 500px); /* 画面の横幅の中央から左に400pxずらす */
    transform: translate(-50%, -50%); /* 要素の中心を画面の中心に合わせる */
}
#page-under a {
    position: relative;
    color: #90c31f;
    margin: auto;
    padding: 0 0 45px 0;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    background-color: #fff;
}
.underform {
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}

/* --------------------------------------------------
  page-top
 -------------------------------------------------- */

#page-top {
    position: fixed;
    bottom: 10px;
    right: 5px;
    font-size: 77%;
    z-index: 10;
}
#page-top a {
    width: 70px;
    height: 70px;
    line-height: 70px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    margin: 0 auto 5%;
    display: block;
    border-radius: 50%;
    background: #a8dc00;
}
#page-top a:hover {
    background: #84ac01;
}
@media screen and (max-width: 767px) {
    #page-top {
        bottom: 100px;
    }
    #page-top a {
        width: 50px;
        height: 50px;
        line-height: 50px;
    }
}
/* --------------------------------------------------
  breadcrumb
 -------------------------------------------------- */
.bread_bk {
    max-width: 100%;
    margin: 100px auto 90px;
    padding: 40px 0 40px 0;
    background-color: #90c31e;
}
#breadcrumb {
    font-size: 12px;
    color: #90c31e;
    display: inline;
    padding: 1% 4% 1% 4%;
    border-radius: 0 38px 38px 0;
    background-color: #f3f3f3;
}
#breadcrumb a {
    color: #90c31e;
}
#breadcrumb a::after {
    content: "\f054";
    padding: 0 1% 0 1%;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
}
#breadcrumb a:last-child::after {
    /*content: "";*/
}
.bread_title {
    max-width: 1160px;
    font-size: 40px;
    font-family: "Arial Black", sans-serif;
    letter-spacing: 0.1em;
    color: #fff;
    margin: 50px auto 0 auto;
}
.bread_title::before {
    content: "\f22d";
    font-size: 46px;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #bcdb78;
    position: relative;
    top: 4px;
    margin: 0 8px 0 0;
}
@media screen and (max-width: 767px) {
    .bread_bk {
        margin: 5rem auto 50px;
        padding: 40px 0 40px 0;
    }
    #breadcrumb {
        width: 91%;
        display: block;
        margin: 5% 2% 5% 0;
        padding: 2% 5% 2% 2%;
    }
    .bread_title {
        width: 96%;
        font-size: 32px;
        margin: 30px 2% 0 2%;
    }
}
/* pagenavi
----------------------------------- */
.wp-pagenavi {
    margin: 5% auto;
    padding: 10px 0 20px 0;
    text-align: center;
}
.wp-pagenavi a,
.wp-pagenavi span {
    font-size: 110%;
    margin: 0 2px 0 2px;
    padding: 15px 15px;
    border-radius: 4px; /* CSS3闕画｡� */
    -webkit-border-radius: 4px; /* Safari,Google Chrome逕ｨ */
    -moz-border-radius: 4px; /* Firefox逕ｨ */
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    color: #fff;
    border-color: #bfbfbf;
    background-color: #90c31e;
}
span.pages {
    display: block;
    font-size: 16px;
}
a.page.larger {
    background-color: #f8f8f8;
}
@media screen and (max-width: 1080px) {
    .wp-pagenavi {
        float: left;
        width: 100%;
    }
    .wp-pagenavi a,
    .wp-pagenavi span {
        font-size: 90%;
    }
}
/* --------------------------------------------------
  nav-below
 -------------------------------------------------- */
.nav-below {
    max-width: 1160px;
    font-size: 12px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: 2% auto 5% auto;
    border-top: 1px solid #d5dbe0;
}
.nav-previous {
    width: 50%;
    padding: 3% 1% 1% 1%;
}
.nav-next {
    text-align: right;
    width: 50%;
    padding: 3% 1% 1% 1%;
}
@media screen and (max-width: 767px) {
    .nav-below {
        width: 96%;
        display: block;
        padding: 0 2% 0 2%;
    }
    .nav-previous {
        width: 49.5%;
        display: inline-block;
        padding: 1% 0 1% 0;
    }
    .nav-next {
        width: 49.5%;
        display: inline-block;
        padding: 1% 0 1% 0;
    }
}
/* --------------------------------------------------
  container
 -------------------------------------------------- */
#container {
    width: 100%;
    margin: auto;
}
/* --------------------------------------------------
  header
 -------------------------------------------------- */
header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100px;
    background-color: #fff;
    transition-duration: 0.25s;
    transition-timing-function: cubic-bezier(0.26, 0.005, 0, 1.035);
    transition-property: height, box-shadow, background-color;
    z-index: 9999;
}
.header_inner {
    display: flex;
    justify-content: space-between;
    height: inherit;
}
.header_inner .logo {
    width: 16%;
    margin: 20px 0 0 20px;
    transition-duration: 0.26s;
    transition-timing-function: cubic-bezier(0.26, 0.005, 0, 1.035);
}
.header_inner .logo img {
    width: auto;
    height: 60px;
}
.header_tel {
    width: 15%;
    line-height: 1.2;
    margin: 20px 0 0 0;
}
.header_nav {
    width: 90%;
    margin: 20px 0 0 0;
}
.header_nav_sub {
    margin: 15px 0 0 0;
}
.nav_bk {
    padding: 0.5% 2% 0.5% 2%;
    background-color: #a8dc00;
}
.nav_bk a {
    color: #fff;
}
.header_nav_sub ul {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    transition-duration: 0.26s;
    transition-timing-function: cubic-bezier(0.26, 0.005, 0, 1.035);
}
.header_nav_sub ul li {
    font-size: 13px;
    margin-right: 10px;
    border-radius: 5px;
}
/*.header_nav_sub ul li:nth-child(n+1):nth-child(-n+5) {
	margin-right:10px;
}*/
.header_nav_sub ul li:last-child {
    margin-right: 25px;
}
header.fixed {
    height: 60px;
    box-shadow: 0px 6px 10px 0px rgba(209, 209, 209, 0.4);
    background-color: #fff;
}
header.fixed .logo {
    margin: 10px 0 0 20px;
}
header.fixed .logo img {
    width: auto;
    height: 40px;
}
header.fixed .header_tel {
    margin: 0 0 0 0;
}
header.fixed .header_nav_sub {
    opacity: 0;
    top: -40px;
    padding-top: 0;
    margin: 5px 0 0 0;
}
header.fixed nav {
    height: 60px;
    margin: -20px 0 0 0;
}
header::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 0, 0, 0.4);
    transition-duration: 0.16s;
    transition-timing-function: cubic-bezier(0.26, 0.005, 0, 1.035);
    opacity: 0;
    z-index: -1;
}
header.nav_dropdown_header::after {
    opacity: 1;
    z-index: 1;
}
header nav {
    height: 60px;
    transition-duration: 0.16s;
    transition-timing-function: cubic-bezier(0.26, 0.005, 0, 1.035);
}
header nav > ul {
    display: flex;
    justify-content: flex-end;
    text-align: center;
    height: inherit;
}
header nav ul > li {
    height: inherit;
}
header nav ul > li.contact {
    color: #fff;
    margin: 10px 5px 0 5px;
    padding: 0px 10px 0px 10px;
    border-radius: 42px;
    background-color: #f7b01a;
    height: 40px;
}
header nav ul > li.contact a{
    color: #fff;
}
header nav ul > li.apply {
    color: #fff;
    margin: 10px 5px 0 5px;
    padding: 0px 10px 0px 10px;
    border-radius: 42px;
    background-color: #6a9a01;
    height: 40px;
}
header nav ul > li.apply a{
    color: #fff;
}
/*header nav ul > li a span {
    color: #fff;
    padding: 10px;
    border-radius: 42px;
    background-color: #4b4948;
}*/
header nav ul > li > a {
    display: flex;
    font-size: 14px;
    font-weight: bold;
    color: #000;
    align-items: center;
    position: relative;
    height: inherit;
    padding: 0 10px 0 10px;
    text-align: center;
    line-height: 1;
    transition-duration: 0.2s;
    transition-timing-function: cubic-bezier(0.26, 0.005, 0, 1.035);
    transition-property: background-color;
    cursor: pointer;
}
.nav_dropdown_menu {
    transform: none;
    z-index: 10;
}
/* ホバー */
.nav_hover {
    position: relative;
}
.nav_hover::before {
    position: absolute;
    width: 0;
    right: 0;
    left: auto;
    bottom: -4px;
    height: 0.1rem;
    background-color: #a8dc00;
    transition: 0.2s cubic-bezier(0.26, 0.005, 0, 1.035);
    content: "";
    z-index: 1;
}
header nav li a:hover .nav_hover::before,
nav li.active2 .nav_hover::before {
    right: auto;
    left: 0;
    width: 100%;
}
header nav li.active2 .nav_hover::before {
    background-color: #fff;
}
/* スクロールで追加されるクラス */
header nav.fixed {
}
/* dropdown */
header nav ul li .nav_dropdown {
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0%;
    background-color: #fff;
    box-shadow: 0 5.4rem 3.4rem -1.2rem rgba(217, 200, 173, 0.2);
    transition: 0.2s cubic-bezier(0.26, 0.005, 0, 1.035);
    z-index: -1;
    opacity: 0;
    pointer-events: none;
}
header nav ul li .nav_dropdown.nav_open {
    top: 100%;
    z-index: 1;
    opacity: 1;
    pointer-events: all;
}
.nav_dropdown_inner {
    max-width: 100%;
    padding: 5%;
    margin: auto;
}
.nav_dropdown_inner ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.nav_dropdown_inner ul li {
}

header nav ul li .nav_dropdown a:hover::before {
    right: 20px;
}

@media all and (-ms-high-contrast: none) {
    .nav_dropdown_list li a {
        display: block;
    }
}
@media screen and (max-width: 767px) {
    header,
    header.fixed {
        display: block;
        height: 4rem;
    }
    .header_inner {
        display: none;
    }
    .header_logo img {
        position: absolute;
        left: 1rem;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 150px;
        z-index: 90;
        height: 50px;
    }
    .fixed {
        width: 100%;
    }
    .fixed li a {
    }
    .fixed li {
        display: block;
    }
    nav {
        display: none;
    }
    .sp_header_tel {
        text-align: center;
        margin: 20px 0 0 0;
    }
    .sp_navi {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
        height: inherit;
        display: block;
    }
    .sp_navi .header_logo {
        position: relative;
        top: 0;
        display: block;
        width: 100%;
        text-align: left;
        height: inherit;
        background: #fff;
        overflow: hidden;
    }
    .sp_navi_fixed_area {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: inherit;
    }
    .sp_navi_fixed_area.active {
        z-index: 9999;
    }
    .sp_navi_menu {
        position: absolute;
        right: 0;
        top: 0;
        width: 4rem;
        height: 4rem;
    }
    .sp_navi_menu i {
        position: relative;
        top: 2rem;
        font-size: 0.9rem;
        font-style: normal;
        margin-right: 2%;
    }
    .sp_navi_list {
        pointer-events: none;
        opacity: 0;
        transition: 0.2s cubic-bezier(0.26, 0.005, 0, 1.035);
        transition-property: top, opacity;
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        overflow: scroll;
        background: #fff;
        z-index: -10;
        top: -10vw;
        display: flex;
    }
    .sp_navi_list.active {
        opacity: 1;
        pointer-events: auto;
        z-index: auto;
        top: 0;
    }
    .sp_link {
        padding: 5rem 0.5rem;
        margin: auto;
        width: 100%;
    }
    .sp_navi_list li {
        display: block;
        width: 100%;
        font-weight: normal;
        text-align: left;
        border-bottom: 1px solid #e4e7eb;
    }
    .sp_navi_list li a {
        display: block;
        width: 96%;
        padding: 1.2rem 2%;
        font-size: 110%;
        background-color: #fff;
    }
    .sp_navi_list li a:hover {
        color: #fff;
        background-color: #aad54a;
    }
    .sp_navi_list_home a:hover {
        color: #fff;
        background-color: #aad54a;
    }
    .sp_navi_list li a.active {
        transition: background-size 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
        background-position: 0 100%;
        background-size: 100% 1px;
        background-repeat: no-repeat;
    }
    .sp_navi_list li.sp_navi_list_home a.active {
    }
    .sp_navi_list dt,
    .sp_navi_list li,
    .sp_navi_list li a {
        color: #333;
        line-height: 1.6;
    }
    .sp_link > li > a {
        display: inline-block;
        position: relative;
        vertical-align: middle;
        text-decoration: none;
    }
    .sp_link > li > a.active {
        border-bottom: 1px solid #fff;
    }
    .sp_link > li.sp_navi_list_home a.active {
        border: none;
    }
    .sp_navi_fold {
        margin-bottom: 2px;
        align-items: start;
    }
    .sp_navi_list li.sp_navi_parent {
        display: flex;
        flex-wrap: wrap;
    }
    .sp_navi_parent_title {
        width: 40%;
    }
    .sp_navi_sub {
        width: 60%;
    }
    .sp_navi_sub li {
        padding: 0 0 1rem 0;
    }
    .sp_navi_sub li:last-child {
        padding-bottom: 0;
    }
    .sp_navi_parent li {
        border-bottom: none;
    }
    .sp_navi_parent_title .ico_cross {
        display: inline-block;
        position: relative;
        width: 1rem;
        height: 1rem;
        margin-left: 1rem;
        display: none;
    }
    .sp_navi_parent_title .ico_cross::before,
    .sp_navi_parent_title .ico_cross::after {
        position: absolute;
        left: 50%;
        width: 1px;
        height: 100%;
        content: "";
        background-color: #7b859d;
        transition-duration: 0.25s;
        transition-timing-function: cubic-bezier(0.26, 0.005, 0, 1.035);
    }
    .sp_navi_parent_title .ico_cross::before {
        transform: rotate(0deg);
    }
    .sp_navi_parent_title .ico_cross::after {
        transform: rotate(-90deg);
    }

    .sp_navi_parent_title.is-open .ico_cross::before {
        transform: rotate(-90deg);
    }
    .sp_navi_parent_title.is-open .ico_cross::after {
        transform: rotate(90deg);
    }
    .sp_navi_sub {
        display: flex;
        justify-content: space-between;
    }
    .sp_navi_sub li a {
        font-size: 1.2rem;
        line-height: 1.6;
        font-weight: normal;
        padding: 0.5vh 0;
        white-space: nowrap;
    }
    .sp_navi_sub_list {
        position: relative;
        width: fit-content;
        box-sizing: border-box;
    }
    .sp_navi_sub_list:first-child {
        width: fit-content;
        margin-right: 4vw;
    }
    .sp_navi_menu a {
        display: block;
        width: 4rem;
        height: 4rem;
        position: absolute;
        right: 0;
        z-index: 9999999;
        text-align: center;
        background-color: #90c31f;
    }
    .sp_navi_menu a > span {
        display: block;
        background: #fff;
        width: 2.4rem;
        height: 1px;
        position: absolute;
        left: 1.6rem;
        transition-duration: 0.32s;
        transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
        right: 0;
        left: 0;
        margin: auto;
    }
    .sp_navi_menu a > span:nth-child(1) {
        top: 1.2rem;
    }
    .sp_navi_menu a > span:nth-child(2) {
        margin-top: 0rem;
        top: 50%;
    }
    .sp_navi_menu a > span:nth-child(3) {
        bottom: 1.2rem;
    }
    .sp_navi_menu a i {
        position: relative;
        left: -0.2rem;
        bottom: 0.6rem;
    }

    .sp_navi_menu_text {
        position: relative;
        padding-top: 0;
        font-size: 0.9rem;
        font-weight: normal;
        color: #fff;
        text-align: center;
        line-height: 1;
    }
    .sp_navi_menu a .sp_navi_menu_text_menu,
    .sp_navi_menu a .sp_navi_menu_text_close {
        position: absolute;
        left: 0;
        right: 0;
        top: 3.4rem;
        transition-duration: 0.52s;
        transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    }
    .sp_navi_menu a .sp_navi_menu_text_menu {
        opacity: 1;
    }
    .sp_navi_menu a .sp_navi_menu_text_close {
        opacity: 0;
    }
    .sp_navi_menu a.active .sp_navi_menu_text_menu {
        opacity: 0;
    }
    .sp_navi_menu a.active .sp_navi_menu_text_close {
        opacity: 1;
    }
    .sp_navi_menu a.active i {
        color: #fff;
    }
    .sp_navi_menu a.active > span {
        background: #fff;
    }
    .sp_navi_menu a.active > span:nth-child(1) {
        top: 1.2rem;
        transform: translateY(0.8rem) rotate(225deg);
    }
    .sp_navi_menu a.active > span:nth-child(2) {
        opacity: 0;
    }
    .sp_navi_menu a.active > span:nth-child(3) {
        transform: translateY(-0.8rem) rotate(-225deg);
    }
}

/* --------------------------------------------------
  content
 -------------------------------------------------- */
article {
}
section {
}
main {
}
.content {
    width: 100%;
    margin: auto;
}
@media screen and (max-width: 767px) {
}
/* --------------------------------------------------
  top
 -------------------------------------------------- */
.top_inner {
    background-image: url("/web/img/visual_bg.jpg");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 90px 0 0 0;
    padding: 50px 8vw 0;
    /*overflow: hidden;*/
}
.top_visual {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
.top_visual_box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    height: 590px;
}
.top_visual_box_textarea {
    width: 100%;
}
.top_visual_box_textarea h1 {
    font-size: 42px;
    font-weight: 500;
    color: #fff;
    line-height: 1.6;
    margin: 0 0 20px 0;
}
.top_visual_box_textarea h1 span {
    display: inline-block;
    margin: 0 0 10px 0;
    padding: 0 20px 0 20px;
    background-color: #3b3938;
    border-radius: 16px;
    /*background-image: linear-gradient(90deg, rgba(142, 195, 33, 1), rgba(40, 185, 223, 1));*/
}
.top_visual_box_textarea .copy {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
}
.top_visual_box_textarea img {
    width: 400px;
    height: auto;
    margin: 2% 0 0 0;
}
.top_visual_box_picturearea {
    position: absolute;
    right: -80px;
    bottom: 40px;
    left: calc(100% - 640px);
}
.top_visual_box_pictureimg {
    max-width: 100%;
    display: block;
}
.top_inner h3 {
    font-size: 20px;
    line-height: 1.4;
}

@media screen and (max-width: 767px) {
    .top_inner {
        max-width: 100%;
        background-image: url("/web/img/visual_bg_s.jpg");
        margin: 4rem 0 10% 0;
        padding: 0;
        /*background-color:#f0f0f0;*/
    }
    .top_visual {
        max-width: 100%;
    }
    .top_visual_box {
        display: block;
        height: 550px;
        padding: 10% 0 0;
    }
    .top_visual_box_textarea {
        width: 90%;
        margin: auto;
    }
    .top_visual_box_textarea h1 {
        font-size: 20px;
    }
    .top_visual_box_textarea img {
        width: 90%;
        height: auto;
        margin: 0 5% 0 5%;
    }
    .top_visual_box_picturearea {
        position: absolute;
        bottom: -30px;
        left: 0;
        width: 100%;
    }
    .top_visual_box_pictureimg {
        max-width: 80%;
        display: block;
        margin: auto;
    }
}

/* --------------------------------------------------
  main_title
 -------------------------------------------------- */
.top_title {
    width: 100%;
    text-align: center;
    margin: 0 0 3% 0;
}
.top_subtitle {
    max-width: 1160px;
    margin: 0 auto 5% auto;
}
.top_subtitle h2 {
    font-size: 20px;
    font-weight: bold;
    font-family: "Arial Black", sans-serif;
    letter-spacing: 0.1em;
}
.top_subtitle h2::before {
    content: "\f22d";
    font-size: 26px;
    color: #90c31d;
    font-family: "Font Awesome 5 Free";
    position: relative;
    top: 4px;
    margin: 0 8px 0 0;
}
.top_subtitle p {
    font-size: 28px;
    line-height: 1.6;
}
.top_subtitle_w {
    max-width: 1160px;
    color: #fff;
    margin: 0 auto 5% auto;
}
.top_subtitle_w h2 {
    font-size: 20px;
    font-weight: bold;
    font-family: "Arial Black", sans-serif;
    letter-spacing: 0.1em;
}
.top_subtitle_w h2::before {
    content: "\f22d";
    font-size: 26px;
    font-family: "Font Awesome 5 Free";
    position: relative;
    top: 4px;
    margin: 0 8px 0 0;
}
.top_subtitle_w p {
    font-size: 28px;
}
.top_intitle {
    max-width: 1160px;
    text-align: center;
    margin: 0 auto 2% auto;
}
.top_intitle h2 {
    font-size: 26px;
    font-weight: bold;
    display: inline-block;
    margin: 0 8px 0 0;
}
.top_intitle h2::before {
    content: "\f22d";
    font-size: 34px;
    color: #20b9ee;
    font-family: "Font Awesome 5 Free";
    position: relative;
    top: 4px;
    margin: 0 8px 0 0;
}
.top_intitle_w {
    max-width: 1160px;
    color: #fff;
    text-align: center;
    margin: 0 auto 2% auto;
}
.top_intitle_w h2 {
    font-size: 26px;
    font-weight: bold;
    display: inline-block;
    margin: 0 8px 0 0;
}
.top_intitle_w h2::before {
    content: "\f22d";
    font-size: 34px;
    color: #20b9ee;
    font-family: "Font Awesome 5 Free";
    position: relative;
    top: 4px;
    margin: 0 8px 0 0;
}
.top_intitle p {
    font-size: 16px;
    display: inline-block;
}
.main_title {
    width: 100%;
    text-align: center;
    margin: 0 0 5% 0;
}
.main_title h2 {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    padding: 0 0 60px 0;
    background-image: url("/web/img/main_title.png");
    background-position: center bottom 30px;
    background-repeat: no-repeat;
}
.main_subtitle {
    margin: 0 auto 3% auto;
    padding: 0.5% 2% 0.5% 2%;
    border-left: 6px solid #90c31f;
}
.main_subtitle h3 {
    font-size: 32px;
    font-weight: bold;
    line-height: 1.4;
}
.main_undertitle {
    margin: 0 0 2% 0;
}
.main_undertitle h4 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
}
.details_title {
    margin: 0 0 8% 0;
    padding: 0 0 5% 0;
    border-bottom: 1px dashed #9c9c9c;
}
.details_title h1 {
    font-size: 38px;
    font-weight: 900;
    line-height: 1.6;
}
.details_subtitle {
    margin: 0 0 3% 0;
    padding: 1% 4% 1% 4%;
    border-left: 4px solid #000;
}
.details_subtitle h2 {
    font-size: 32px;
    font-weight: 800;
}
@media screen and (max-width: 767px) {
    .top_title {
        width: 96%;
        text-align: center;
        margin: 0 2% 3% 2%;
    }
    .top_subtitle {
        width: 96%;
        margin: 0 2% 5% 2%;
    }
    .top_subtitle h2 {
        font-size: 18px;
    }
    .top_subtitle p {
        font-size: 22px;
        line-height: 1.6;
    }

    .top_subtitle_w {
        width: 96%;
        margin: 0 2% 5% 2%;
    }
    .top_subtitle_w h2 {
        font-size: 18px;
    }
    .top_subtitle_w p {
        font-size: 22px;
        line-height: 1.6;
    }
    .main_title {
        width: 96%;
        margin: 0 2% 5% 2%;
    }
    .main_title h2 {
        font-size: 22px;
        background-size: 20%;
    }
    .top_intitle p {
        font-size: 16px;
        display: block;
    }
}
/* --------------------------------------------------
  title
 -------------------------------------------------- */
.title01 {
    margin: 0 0 5% 0;
}
.title01 h1 {
    font-size: 38px;
    font-weight: 900;
    line-height: 1.6;
}
.title02 {
    margin: 0 0 3% 0;
    padding: 0 0 3% 0;
    background-image: linear-gradient(90deg, #90c31f 0 20%, #eaeaea 20%);
    background-repeat: no-repeat;
    background-size: 100% 5%;
    background-position: bottom;
}
.title02 h2 {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.6;
}
.title02 h2::before {
    content: "\f22d";
    font-size: 36px;
    color: #90c31d;
    font-family: "Font Awesome 5 Free";
    position: relative;
    top: 4px;
    margin: 0 8px 0 0;
}
.title03 {
    color: #90c31e;
    margin: 0 0 3% 0;
    position: relative;
    display: inline-block;
}
.title03:before {
    left: 0;
}
.title03:after {
    right: 0;
}
.title03 h3 {
    font-size: 24px;
    font-weight: 700;
}
.title04 {
    margin: 0 0 3% 0;
}
.title04 h4 {
    font-size: 22px;
    font-weight: 600;
}
@media screen and (max-width: 767px) {
    .title01 h1 {
        font-size: 28px;
    }
    .title02:before {
        width: 15px;
    }
    .title02 h2 {
        font-size: 24px;
    }
    .title03 h3 {
        font-size: 20px;
    }
}
/* --------------------------------------------------
  table
 -------------------------------------------------- */
.table01 {
    margin: 0 0 5% 0;
}
.table01 table {
    border-spacing: 0;
    border-top: 1px solid #c8c8c8;
    border-right: 1px solid #c8c8c8;
}
.table01 tr th {
    font-size: 90%;
    text-align: center;
    padding: 1%;
    border-left: 1px solid #c8c8c8;
    border-bottom: 1px solid #c8c8c8;
    background-color: #f1f1f1;
}
.table01 tr td {
    font-size: 90%;
    padding: 1%;
    border-left: 1px solid #c8c8c8;
    border-bottom: 1px solid #c8c8c8;
}
/* --------------------------------------------------
  top_catch
 -------------------------------------------------- */
.top_catch_inner {
    position: relative;
    max-width: 100%;
    text-align: center;
    margin: 0 auto 8%;
}
.top_catch_icon01 {
    position: absolute;
    left: 1%;
    bottom: -40%;
}
.top_catch_icon02 {
    position: absolute;
    right: 1%;
    bottom: -40%;
}
@media screen and (max-width: 767px) {
    .top_catch_inner {
        width: 96%;
        margin: 0 2% 30% 2%;
    }
    .top_catch_icon01 {
        position: absolute;
        width: 30%;
        left: -10%;
        bottom: -60%;
    }
    .top_catch_icon02 {
        position: absolute;
        width: 30%;
        text-align: right;
        right: 0;
        bottom: -110%;
    }
}
/* --------------------------------------------------
  top_about
 -------------------------------------------------- */
.top_about_inner {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.top_about_box {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
    margin: auto;
}
.top_about_box_left {
    width: 520px;
    vertical-align: middle;
}
.top_about_box_left .video {
    width: 100%;
    height: auto;
    border-radius: 20px;
}
.top_about_box_right {
    width: calc(100% - 600px);
    vertical-align: middle;
}
.top_about_box_right h3 {
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 20px 0;
}
@media screen and (max-width: 767px) {
    .top_about_inner {
        width: 100%;
    }
    .top_about_box {
        width: 96%;
        margin: 0 2% 0 2%;
        flex-direction: column;
    }
    .top_about_box_left {
        width: 100%;
    }
    .top_about_box_left iframe {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }
    .top_about_box_right {
        width: 100%;
    }
    .top_about_box_right h3 {
        font-size: 20px;
        font-weight: bold;
        margin: 0 0 5% 0;
    }
    .top_about_box_right p {
        margin: 0 0 5% 0;
    }
}
/* --------------------------------------------------
  about_inner
 -------------------------------------------------- */
.about_inner {
    max-width: 100%;
    margin: auto;
}
.about_visual_box {
    max-width: 1060px;
    margin: 0 auto 8%;
    padding: 50px;
    background-color: #fff;
    border-radius: 20px;
}
.about_visual_image {
    width: 100%;
    height: auto;
}
.about_strengths_list {
    margin: 0 auto 5%;
}
.about_strengths_list dl {
    width: 1060px;
    margin: 0 auto 3%;
    background-color: #fff;
    border-radius: 20px;
    padding: 50px;
}
.about_strengths_list dl dt {
    width: 30%;
    display: inline-block;
    vertical-align: top;
}
.about_strengths_list dl dt img {
    width: 100%;
    height: auto;
}
.about_strengths_list dl dd {
    width: 64%;
    display: inline-block;
    vertical-align: top;
    padding: 0 0 0 5%;
}
.about_strengths_list dl dd h3 {
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    border-radius: 8px;
    display: inline;
    padding: 5px 20px 5px 20px;
    background-color: #90c31e;
}
.about_strengths_list dl dd h4 {
    font-size: 20px;
    font-weight: 500;
    color: #90c31e;
    margin: 5px 0 5px 0;
}
.about_strengths_list dl dd p {
    font-size: 14px;
}
.about_support_image {
    width: 1160px;
    margin: auto;
}
.about_support_list {
    width: 1060px;
    margin: 0 auto 8%;
    background-color: #fff;
    border-radius: 20px;
    padding: 50px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}
.about_support_list dl {
    width: 49%;
    margin: 1% 0 1% 0;
}
.about_support_list dl dt {
    width: 100%;
    margin: 0 0 10px 0;
}
.about_support_list dl dt h3 {
    width: 120px;
    text-align: center;
    color: #fff;
    border-radius: 8px;
    display: inline-block;
    margin: 0 10px 0 0;
    padding: 2px 10px 2px 10px;
    background-color: #90c31e;
}
.about_support_list dl dt h4 {
    font-weight: 500;
    color: #90c31e;
    display: inline-block;
}
.about_support_list dl dt img {
    width: 100%;
    height: auto;
}
.about_support_list dl dd {
    width: 100%;
}
.about_partner_list {
    width: 1060px;
    margin: 0 auto 8%;
    background-color: #fff;
    border-radius: 20px;
    padding: 50px;
}
.about_partner_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}
.about_partner_list ul li {
    width: 48%;
    border-radius: 6px;
}
.about_partner_list ul li img {
    width: 100%;
    height: auto;
    display: inline-block;
    vertical-align: middle;
    border-radius: 12px;
}
.about_logo_list {
    width: 1060px;
    margin: 0 auto 8%;
    background-color: #fff;
    border-radius: 20px;
    padding: 50px;
}
.about_logo_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}
.about_logo_list ul li {
    width: 10%;
    margin: 2% 2% 2% 2%;
}
.about_logo_list ul li img {
    width: 100%;
    height: auto;
}
@media screen and (max-width: 767px) {
    .about_visual {
        width: 100%;
    }
    .about_visual_box {
        width: 90%;
        padding: 5%;
    }
    .about_visual_box img {
        width: 100%;
        height: auto;
    }
    .about_box_left {
        width: 100%;
    }
    .about_box_right {
        width: 100%;
    }
    .about_strengths_list dl {
        width: 90%;
        padding: 5%;
    }
    .about_strengths_list dl dt {
        width: 100%;
        display: block;
        margin: 0 0 5% 0;
    }
    .about_strengths_list dl dd {
        width: 100%;
        display: block;
        padding: 0;
    }
    .about_inner {
        width: 96%;
        margin: 0 2% 5% 2%;
    }
    .about_support_image {
        width: 100%;
    }
    .about_support_list {
        width: 90%;
        padding: 5%;
        display: block;
    }
    .about_support_list dl {
        width: 100%;
        margin: 1% 0 1% 0;
    }
    .about_support_list dl dt {
        width: 100%;
        margin: 0 0 2% 0;
    }
    .about_support_list dl dd {
        margin: 0 0 5% 0;
    }
    .about_partner_list {
        width: 90%;
        padding: 5%;
    }
    .about_partner_list ul {
        display: block;
    }
    .about_partner_list ul li {
        width: 100%;
        border-radius: 6px;
    }
    .about_partner_list ul li img {
        width: 100%;
        height: auto;
        display: inline-block;
        vertical-align: middle;
        border-radius: 12px;
    }
    .about_logo_list {
        width: 90%;
        padding: 5%;
    }
    .about_logo_list ul {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .about_logo_list ul li {
        width: 30%;
        margin: 1% 0 1% 0;
    }
}
/* --------------------------------------------------
  top_strengths
 -------------------------------------------------- */
.top_strengths_inner {
    max-width: 100%;
    margin: auto;
    padding: 80px 0 80px 0;
    background-color: #90c31e;
}
.top_strengths_list {
    max-width: 1160px;
    margin: auto;
}
.top_strengths_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}
.top_strengths_list ul li {
    width: 340px;
    position: relative;
    transition: box-shadow 0.3s;
    margin: 0 0 2% 0;
    padding: 15px;
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 0 0 16px #d1d1d1;
}
.top_strengths_list ul li img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    position: relative;
}
.top_strengths_list ul li h3 {
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    position: absolute;
    top: 58%;
    right: 0;
    left: 0;
    margin: auto;
}
.top_strengths_list ul li p {
    font-size: 14px;
    line-height: 1.8;
    padding: 5%;
}
.top_strengths_list ul li:hover {
    box-shadow: 0 0 30px rgba(33, 33, 33, 0.2);
}
.top_strengths_icon {
    position: absolute;
    font-size: 20px;
    top: -5%;
    left: -3%;
    color: #fff;
    line-height: 60px;
    text-align: center;
    font-family: "Arial", "メイリオ";
    width: 60px; /*幅*/
    height: 60px; /*高さ*/
    border-radius: 50%; /*角丸*/
    background-color: #4b4948;
}
.top_strengths_tip {
    font-size: 20px;
    font-weight: bold;
    color: #90c31e;
    text-align: center;
    margin: 0 0 5% 0;
}
@media screen and (max-width: 767px) {
    .top_strengths_inner {
        width: 100%;
        padding: 5% 0 5% 0;
    }
    .top_strengths_list {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .top_strengths_list ul {
        display: block;
    }
    .top_strengths_list ul li {
        width: 90%;
        padding: 5%;
    }
    .top_strengths_list ul li h3 {
    }
    .top_strengths_list ul li p {
        padding: 5% 2% 5% 2%;
    }
    .top_strengths_icon {
        position: absolute;
        font-size: 20px;
        top: -3%;
        left: -1%;
    }
}
/* --------------------------------------------------
  top_function
 -------------------------------------------------- */
.top_function_inner {
    position: relative;
    width: 100%;
    padding: 80px 0 80px 0;
    background-color: #fff;
}
.top_function_list {
    max-width: 1160px;
    margin: auto;
}
.top_function_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}
.top_function_list ul li {
    width: 310px;
    position: relative;
    transition: box-shadow 0.3s;
    margin: 0 0 4% 0;
    padding: 40px 30px 30px 30px;
    border-radius: 20px;
    background-color: #ecf0f7;
}
.top_function_list ul li h3 {
    font-size: 20px;
    font-weight: 500;
    color: #90c31f;
    margin: 0 0 5% 0;
}
.top_function_list ul li p {
    font-size: 14px;
}
.top_function_icon {
    position: absolute;
    font-size: 60px;
    top: -60px;
    left: 5px;
    color: #cfcfcf;
    font-family: "Arial", "メイリオ";
}
.top_function_tip {
    position: absolute;
    font-size: 20px;
    top: 20px;
    right: 30px;
}
.top_function_tip img {
    width: 100%;
    height: auto;
}
.top_function_icon01 {
    position: absolute;
    left: 0;
    bottom: -10%;
}
.top_function_icon02 {
    position: absolute;
    top: 0;
    right: 0;
}
@media screen and (max-width: 767px) {
    .top_function_inner {
        width: 100%;
        padding: 5% 0 5% 0;
    }
    .top_function_list {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .top_function_list ul {
        display: block;
    }
    .top_function_list ul li {
        width: 90%;
        margin: 0 0 5% 0;
        padding: 5%;
    }
    .top_function_icon {
        position: absolute;
        font-size: 40px;
        top: -40px;
        left: 5px;
        color: #cfcfcf;
        font-family: "Arial", "メイリオ";
    }
    .top_function_icon01 {
        position: absolute;
        width: 20%;
        left: 0;
        bottom: -5%;
    }
    .top_function_icon02 {
        position: absolute;
        width: 30%;
        top: 0;
        right: 0;
    }
}
/* --------------------------------------------------
  function_inner
 -------------------------------------------------- */
.function_inner {
    max-width: 100%;
    margin: auto;
}
.function_list {
    max-width: 1160px;
    margin: 0 auto 8%;
}

.function_alignment_inner {
    max-width: 100%;
    margin: auto;
}
.function_alignment_list {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.function_alignment_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.function_alignment_list ul li {
    width: 46%;
    padding: 20px;
    text-align: center;
    position: relative;
    border-radius: 20px;
    background-color: #fff;
}
.function_alignment_list ul li img {
    width: 100%;
    height: auto;
}
.function_alignment_list ul li h3 {
    font-size: 18px;
    font-weight: 700;
    color: #90c31e;
    margin: 0 0 2% 0;
}
/* tab */
.tab_set {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
/* タブの名前 */
.tab_label {
    width: 14.15%;
    text-align: center;
    color: #90c31e;
    background: #fff;
    margin: 0 1px 0 0;
    padding: 15px 0;
    order: -1;
    position: relative;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0px 0px 15px rgba(230, 230, 230, 0.8);
}
.tab_label.label_left {
    border-radius: 16px 0 0 16px;
}
.tab_label.label_right {
    border-radius: 0 16px 16px 0;
}
.image_height {
    display: block;
    margin: auto;
    width: 50%;
}
.tab_label img {
    width: 80%;
    height: auto;
    margin: 0 0 10px 0;
}
/* 本文 */
.tab_content {
    width: 100%;
    display: none;
    margin: 20px 0 0 0;
    padding: 20px 40px 20px 40px;
    border-radius: 20px;
    background-color: #fff;
}
.tab_title {
}
.tab_title h3 {
    font-size: 18px;
    font-weight: bold;
    display: inline-block;
    margin: 0 8px 0 0;
}
.tab_title h3::before {
    content: "\f22d";
    font-size: 26px;
    color: #20b9ee;
    font-family: "Font Awesome 5 Free";
    position: relative;
    top: 4px;
    margin: 0 8px 0 0;
}
/* タブをクリックした時のCSSだよ */
.tab_switch:checked + .tab_label {
    color: #fff;
    background: #90c31e;
}
.tab_switch:checked + .tab_label img {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(20%) invert(1);
}
.tab_switch:checked + .tab_label + .tab_content {
    display: block;
}
/* ラジオボタンだよ */
.tab_switch {
    display: none;
}

/*ウィンドウサイズが769px以下になった時のCSSだよ*/
@media print, screen and (max-width: 767px) {
    .tab_set {
        display: block;
    }

    .tab_label {
        width: 100%;
        display: block;
        margin: 10px 0 10px 0;
        padding: 5px 0;
        border-radius: 16px;
    }
    .tab_label.label_left {
        border-radius: 16px;
    }
    .tab_label.label_right {
        border-radius: 16px;
    }
    .image_height {
        width: 15%;
        display: inline-block;
        vertical-align: middle;
    }
    .tab_label img {
        margin: 0;
    }
    .tab_content {
        width: 96%;
        margin: 0;
        padding: 2%;
    }
    .tab_content p {
        font-size: 14px;
    }
    .travelclinic .tab_label.last {
        border-bottom: none;
    }

    .travelclinic .tab_switch:checked + .tab_label {
        border-bottom: 1px solid #59a8b7;
    }
}
@media screen and (max-width: 767px) {
    .function_inner {
        width: 100%;
        margin: 0 auto 5%;
    }
    .function_list {
        width: 96%;
        margin: 0 2% 5% 2%;
    }
    .function_list table .function {
        width: 96%;
        color: #fff;
        display: block;
        background-color: #575757;
        padding: 2%;
        border-bottom: 1px solid #000;
    }
    .function_list table .item {
        width: 96%;
        display: block;
        background-color: #f5f5f5;
        padding: 2%;
    }
    .function_list table .description {
        width: 96%;
        display: block;
        padding: 2% 2% 5% 2%;
    }
    .function_list table tr th {
        display: none !important;
    }
    .function_list table tr td {
        padding: 0;
        border: none;
    }
    .function_alignment_inner {
        max-width: 100%;
        margin: 0 auto 5%;
    }
    .function_alignment_list {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .function_alignment_list ul {
        display: block;
    }
    .function_alignment_list ul li {
        width: 90%;
        margin: 0 0 5% 0;
        padding: 5%;
    }

    .function_alignment_list ul li h3 {
        font-size: 20px;
    }
}
/* --------------------------------------------------
  top_unique
 -------------------------------------------------- */
.top_unique_inner {
    width: 100%;
    margin: auto;
    padding: 80px 0 0 0;
    background-color: #f3f5f9;
}
.top_unique_image {
    width: 870px;
    margin: 0 auto 2%;
}
.top_unique_image img {
    width: 100%;
    height: auto;
}
.top_unique_list {
    max-width: 1160px;
    margin: auto;
    background-color: #fff;
    border-radius: 20px;
}
.top_unique_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 30px;
}
.top_unique_list ul li {
    width: 48%;
}
.top_unique_list ul li h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 2% 0;
}
.top_unique_list ul li img {
    border-radius: 12px;
    border: 1px solid #e3e3e3;
}
@media screen and (max-width: 767px) {
    .top_unique_inner {
        width: 100%;
        padding: 5% 0 0 0;
    }
    .top_unique_image {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .top_unique_list {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .top_unique_list ul {
        display: block;
        padding: 5%;
    }
    .top_unique_list ul li {
        width: 100%;
        margin: 0 0 5% 0;
    }
    .top_unique_list ul li h3 {
        font-size: 20px;
    }
}
/* --------------------------------------------------
  top_operation
 -------------------------------------------------- */
.top_operation_inner {
    width: 100%;
    margin: auto;
    padding: 80px 0 80px 0;
    background-color: #f3f5f9;
}
.top_operation_box {
    width: 870px;
    text-align: center;
    margin: auto;
}
.top_operation_box .video {
    width: 100%;
    height: auto;
    margin: 0 auto 2%;
    border-radius: 20px;
}
@media screen and (max-width: 767px) {
    .top_operation_inner {
        width: 100%;
        padding: 5% 0 5% 0;
    }
    .top_operation_box {
        width: 96%;
        height: auto;
        position: static;
        transform: none;
        -webkit-transform: none;
        -ms-transform: none;
        margin: 0 2% 0 2%;
    }
    .top_operation_box .video {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }
}
/* --------------------------------------------------
  top_casestudy
 -------------------------------------------------- */
.slider_casestudy_inner {
    max-width: 100%;
    margin: auto;
    padding: 80px 0 80px 0;
    background-color: #90c31e;
}
.slider_casestudy {
}
.slider_casestudy li {
    padding: 20px;
    border-radius: 20px;
    background-color: #fff;
    transition: box-shadow 0.3s;
}
.slider_casestudy li:hover {
    box-shadow: 0px 0px 15px rgba(33, 33, 33, 0.3);
}
.slider_casestudy_left {
    width: 40%;
    display: inline-block;
    vertical-align: middle;
}
.slider_casestudy_left img {
    width:100%;
    height: 240px;
    object-fit: cover;
}
.slider_casestudy_right {
    width: 52%;
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 0 7%;
}
.slider_casestudy li h3 {
    font-size: 16px;
    font-weight: 600;
    color: #90c31f;
    line-height: 1.6;
    margin: 4% 0 4% 0;
}
.casestudy_name {
    display: block;
}
.casestudy_name span {
    font-size: 12px;
    color: #fff;
    padding: 1% 2% 1% 2%;
    background-color: #f7b11e;
    border-radius: 6px;
}
.casestudy_key {
}
.casestudy_key span,
.casestudy_key span a {
    font-size: 12px;
    color: #c8c8c8;
    margin: 0 5px 0 5px;
}
@media screen and (max-width: 767px) {
    .slider_casestudy_inner {
        width: 100%;
        padding: 5% 0 5% 0;
    }
    .slider_casestudy li {
        padding: 15px;
    }
    .slider_casestudy_left {
        width: 100%;
        display: block;
    }
    .slider_casestudy_left img {
        width: 100%;
        height: auto;
        object-fit: none;
    }
    .slider_casestudy_right {
        width: 100%;
        display: block;
        margin: 0;
    }
}
/* --------------------------------------------------
  top_casestudy
 -------------------------------------------------- */
.top_casestudy_inner {
    max-width: 100%;
    margin: auto;
    padding: 80px 0 80px 0;
    background-color: #90c31e;
}
.top_casestudy_box {
    max-width: 1160px;
    margin: auto;
    padding: 30px;
    border-radius: 20px;
    background-color: #fff;
}
.top_casestudy_left {
    width: 58%;
    display: inline-block;
    vertical-align:top;
}
.top_casestudy_left img{
    border-radius: 12px;
}
.top_casestudy_left h3 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.6;
}
.top_casestudy_left p {
    font-size: 14px;
    font-weight: normal;
    line-height: 1.6;
	margin:2% 0 4% 0;
}
.top_casestudy_right {
    width: 38%;
    display: inline-block;
    vertical-align:top;
	margin:0 0 0 3.5%;
}
.top_casestudy_right img{
    border-radius: 12px;
}
.top_casestudy_right h3 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.6;
}
.top_casestudy_right p {
    font-size: 14px;
    font-weight: normal;
    line-height: 1.6;
	margin:2% 0 4% 0;
}
.top_casestudy_right ul{
	height:720px;
	padding:0 30px 0 0;
    overflow:auto;
    overflow-y:scroll;
}
.top_casestudy_right ul li{
	margin:0 0 2% 0;
}


.top_casestudy_intro {
	padding:4%;
}
.top_casestudy_name {
    display: block;
}
.top_casestudy_name span {
    font-size: 12px;
    color: #fff;
    padding: 1% 2% 1% 2%;
    background-color: #f7b11e;
    border-radius: 6px;
}
@media screen and (max-width: 767px) {
.top_casestudy_inner {
    width: 100%;
    margin: 0 auto 5%;
}
.top_casestudy_box {
    width: 92%;
    margin: 0 2% 5% 2%;
    padding: 2%;
}
.top_casestudy_left {
    width: 100%;
	display:block;
}
.top_casestudy_right {
    width: 100%;
	display:block;
	margin:0;
}
.top_casestudy_right ul{
	height: auto;
	padding:0;
    overflow:auto;
    overflow-y:none;
}
}
/* --------------------------------------------------
  casestudy_inner
 -------------------------------------------------- */
.casestudy_inner {
    max-width: 100%;
    margin: auto;
}
.casestudy_list {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.casestudy_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.casestudy_list ul li {
    width: 28%;
    margin: 0 2% 3% 0;
    padding: 2%;
    border-radius: 20px;
    background-color: #fff;
    transition: box-shadow 0.3s;
}
.casestudy_list ul li:nth-child(3n) {
    margin: 0 0 3% 0;
}
.casestudy_list ul li:hover {
    box-shadow: 0px 0px 15px rgba(33, 33, 33, 0.3);
}
.casestudy_list ul li img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 0 0 3% 0;
}
.casestudy_list ul li h3 {
    font-size: 18px;
    line-height: 1.8;
    font-weight: 700;
    margin: 3% 0 0 0;
}
.casestudy_aria {
    padding: 4%;
}
@media screen and (max-width: 767px) {
    .casestudy_inner {
        width: 100%;
        margin: 0 auto 5%;
    }
    .casestudy_list {
        width: 96%;
        margin: 0 2% 5% 2%;
    }
    .casestudy_list ul {
        display: block;
    }
    .casestudy_list ul li {
        width: 90%;
        margin: 0 0 5% 0;
        padding: 5%;
    }
    .casestudy_list ul li img {
        margin: 0 0 1% 0;
    }
    .casestudy_aria {
        padding: 2%;
    }
}
/* --------------------------------------------------
  casestudy_details
 -------------------------------------------------- */
.casestudy_details {
    max-width: 860px;
    margin: 0 auto 8%;
}
.casestudy_details_left {
    width: 49%;
    display: inline-block;
    vertical-align: top;
    margin: 0 0 5% 0;
}
.casestudy_details_right {
    width: 49%;
    font-size: 12px;
    text-align: right;
    display: inline-block;
    vertical-align: top;
    margin: 0 0 5% 0;
}
.casestudy_details img {
    max-width: 100%;
    height: auto;
    margin: 0 0 5% 0;
    border-radius: 20px;
}
.casestudy_details figure {
    max-width: 100%;
    height: auto;
    margin: 0 0 5% 0;
}
.casestudy_details figure img {
    margin: 0 0 1% 0;
}
.casestudy_details figure figcaption {
    font-size: 14px;
}
.casestudy_body {
    margin: 0 auto 8%;
    padding: 50px;
    border-radius: 20px;
    background-color: #fff;
}
.casestudy_body p {
    margin: 0 0 5% 0;
    font-size: 14px;
}
.iframe_inner {
    position: relative;
    margin: 0 0 5% 0;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.iframe_inner iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 767px) {
    .casestudy_details_left {
        width: 100%;
        display: block;
        margin: 0 0 2% 0;
    }
    .casestudy_details_right {
        width: 100%;
        display: block;
        text-align: left;
        margin: 0 0 5% 0;
    }
    .casestudy_details {
        width: 96%;
        padding: 0 2% 0 2%;
    }
    .casestudy_body {
        padding: 5%;
    }
}

/* --------------------------------------------------
  search
 -------------------------------------------------- */
.casestudy_search{
    max-width: 1100px;
	margin:0 auto 3%;
    border-radius: 20px;
	padding: 30px 30px 80px 30px;
    background-color: #fff;
}
.casestudy_search dl{

}
.casestudy_search dl:first-child{
    margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	border-bottom:1px dotted #eaeaea;
}
.casestudy_search dl dt{
	width:16%;
	display:inline-block;
	vertical-align:top;
}
.casestudy_search dl dd{
	width:83%;
	display:inline-block;
	vertical-align:top;
}
.casestudy_search h3{
    font-size: 16px;
	font-weight:bold;
	color:#000;
}
.casestudy_search_title{
    font-size: 18px;
	font-weight: bold;
	margin:0 0 30px 0;
	padding:0 0 10px 0;
	border-bottom:1px solid #eaeaea;
}
.casestudy_search label{
	margin:0 3% 0 0;
}
.casestudy_search input[type="submit"]{
	color:#000;
    float: inline-end;
    border-radius: 20px;
	margin:2% 0 0 0;
	padding:5px 30px 5px 30px;
	border:2px solid #90c31e;
	cursor: pointer;
    background-color: #fff;
}
.casestudy_search input[type="submit"]a:link {
	color:#000;
    background-color: #fff;
}
/* マウスを乗せたとき */
.casestudy_search input[type="submit"]:hover {
    background-color: #90c31e;   /* 背景色を変更 */
    color: #fff;                 /* 文字色を白に */
}

/* クリックしている間 */
.casestudy_search input[type="submit"]:active {
    background-color: #6b9215;   /* 少し濃い緑に */
    border-color: #6b9215;
}
input[type="checkbox"][name="casestudy_tag[]"] {
    width: 12px;      /* 幅 */
    height: 12px;     /* 高さ */
    transform: scale(1.5); /* 1.5倍に拡大 */
    margin-right: 5px;     /* ラベルとの間隔 */
    cursor: pointer;       /* ポインター表示 */
}
@media screen and (max-width: 767px) {
.casestudy_search{
    width: 86%;
    margin: 0 2% 5% 2%;
    padding: 5% 5% 18% 5%;
}
.casestudy_search dl{

}
.casestudy_search dl:first-child{
    margin: 0 0 15px 0;
	padding: 0 0 15px 0;
	border-bottom:1px dotted #eaeaea;
}
.casestudy_search dl dt{
	width:100%;
	display: block;
}
.casestudy_search dl dd{
	width:100%;
	display: block;
}
.casestudy_search input[type="submit"]{
	color:#000;
	margin: 5% 0 0 0;
}
}
/* --------------------------------------------------
  top_price
 -------------------------------------------------- */
.top_price_inner {
    position: relative;
    width: 100%;
    margin: auto;
    padding: 80px 0 80px 0;
}
.top_price_list {
    max-width: 1160px;
    margin: auto;
}
.top_price_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}
.top_price_list ul li {
    position: relative;
    width: 31%;
    margin: 0 0 2% 0;
    padding: 0 0 2% 0;
    border-radius: 20px;
    background-color: #eef0f3;
    /*box-shadow: 0px 0px 15px rgba(147,147,147,.3);*/
}
.top_price_list ul li h3 {
    font-weight: 500;
    color: #fff;
    text-align: center;
    margin: 0 0 5% 0;
    padding: 5% 0 5% 0;
    border-radius: 20px 20px 0 0;
}
.top_price_list ul li h3.green {
    background-color: #90c31e;
}
.top_price_list ul li h3.orange {
    background-color: #f7b01a;
}
.top_price_list ul li h3.blue {
    background-color: #1ab7ee;
}
.top_price_list ul li h3.green span {
    padding: 1% 10% 1% 10%;
    border-radius: 48px;
    background-color: #acd257;
}
.top_price_list ul li h3.orange span {
    padding: 1% 10% 1% 10%;
    border-radius: 48px;
    background-color: #fac960;
}
.top_price_list ul li h3.blue span {
    padding: 1% 10% 1% 10%;
    border-radius: 48px;
    background-color: #58cbf3;
}
.hiyou {
    padding: 4% 0 4% 0;
    border-top: 1px solid #bbe264;
    border-bottom: 1px solid #bbe264;
    background-color: #e7f8c1;
}

.top_price_details {
    text-align: center;
    margin: 5%;
    padding: 2%;
    border-radius: 14px;
    background-color: #fff;
}
.top_price_details dl {
    width: 100%;
    font-size: 13px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 10px 0 10px 0;
    border-bottom: 1px solid #cbcbcb;
}
.top_price_details dl dt {
    width: 45%;
}
.top_price_details dl dd {
    width: 55%;
}
.triangle {
    width: 0;
    height: 0;
    margin: 4% auto 2%;
    border-style: solid;
    border-right: 16px solid transparent;
    border-left: 16px solid transparent;
    border-top: 14px solid #c6c6c6;
    border-bottom: 0;
}
.price_icon {
    position: absolute;
    font-size: 14px;
    top: 250px;
    left: 8%;
    color: #fff;
    text-align: center;
    padding: 0 10px 0 10px;
    border-radius: 6px;
    background-color: #ff7553;
}
.top_price_icon01 {
    position: absolute;
    left: 0;
    bottom: -30%;
}
.top_price_icon02 {
    position: absolute;
    right: 0;
    bottom: 0;
}
@media screen and (max-width: 767px) {
    .top_price_inner {
        width: 100%;
        padding: 5% 0 5% 0;
    }
    .top_price_list {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .top_price_list ul {
        display: block;
    }
    .top_price_list ul li {
        width: 100%;
        margin: 0 0 5% 0;
        padding: 0 0 2% 0;
    }
    .top_price_icon01 {
        display: none;
    }
    .top_price_icon02 {
        display: none;
    }
}
/* --------------------------------------------------
  price_inner
 -------------------------------------------------- */
.price_inner {
    width: 100%;
    margin: 0 auto 8%;
}
.price_list {
    max-width: 1160px;
    margin: auto;
}
.price_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}
.price_list ul li {
    position: relative;
    width: 31%;
    margin: 0 0 2% 0;
    padding: 0 0 2% 0;
    border-radius: 20px;
    background-color: #eef0f3;
    /*box-shadow: 0px 0px 15px rgba(147,147,147,.3);*/
}
.price_list ul li h3 {
    font-weight: 500;
    color: #fff;
    text-align: center;
    margin: 0 0 5% 0;
    padding: 5% 0 5% 0;
    border-radius: 20px 20px 0 0;
}
.price_list ul li h3.green {
    background-color: #90c31e;
}
.price_list ul li h3.orange {
    background-color: #f7b01a;
}
.price_list ul li h3.blue {
    background-color: #1ab7ee;
}
.price_list ul li h3.green span {
    padding: 1% 10% 1% 10%;
    border-radius: 48px;
    background-color: #acd257;
}
.price_list ul li h3.orange span {
    padding: 1% 10% 1% 10%;
    border-radius: 48px;
    background-color: #fac960;
}
.price_list ul li h3.blue span {
    padding: 1% 10% 1% 10%;
    border-radius: 48px;
    background-color: #58cbf3;
}

.price_details {
    text-align: center;
    margin: 5%;
    padding: 2%;
    border-radius: 14px;
    background-color: #fff;
}
.price_details dl {
    width: 100%;
    font-size: 13px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 10px 0 10px 0;
    border-bottom: 1px solid #cbcbcb;
}
.price_details dl dt {
    width: 45%;
}
.price_details dl dd {
    width: 55%;
}
.price_comparison_inner {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.price_comparison_list {
    font-size: 14px;
}
.price_comparison_list table {
    border-collapse: separate;
    border-spacing: 10px 5px;
}
.price_comparison_list table tr th {
    font-weight: 700;
    color: #fff;
    margin: 0 1% 0 1%;
    padding: 1%;
    text-align: center;
    border-radius: 20px 20px 0 0;
}
.price_comparison_list table tr th.gray {
    background-color: #b4bbc7;
}
.price_comparison_list table tr th.green {
    background-color: #90c31e;
}
.price_comparison_list table tr th.orange {
    background-color: #f7b01a;
}
.price_comparison_list table tr th.blue {
    background-color: #1ab7ee;
}
.price_comparison_list table tr td {
    padding: 0.8% 1% 0.8% 1%;
    vertical-align: top;
    background-color: #fff;
}
.price_basic_inner {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.price_basic_image {
    width: 760px;
    margin: auto;
}
.price_auxiliary_inner {
    width: 100%;
    margin: 0 auto 8%;
}
.price_auxiliary_box {
    max-width: 1080px;
    margin: 0 auto 4%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
}
.price_auxiliary_box_left {
    width: 620px;
    vertical-align: middle;
}
.price_auxiliary_box_right {
    width: calc(1060px - 650px);
    vertical-align: middle;
}
.price_auxiliary_box_right h3 {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.6;
    margin: 0 0 2% 0;
}
@media screen and (max-width: 767px) {
    .price_inner {
        width: 100%;
        margin: 0 auto 5%;
    }
    .price_list {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .price_list ul {
        display: block;
    }
    .price_list ul li {
        width: 90%;
        margin: 0 0 5% 0;
        padding: 5%;
    }
    .price_list ul li h3 {
        padding: 3% 0 3% 0;
    }
    .price_list ul li p {
        text-align: center;
        margin: 0 0 3% 0;
    }
    .price_details dl {
        font-size: 16px;
        padding: 2% 0 2% 0;
    }
    .price_comparison_inner {
        width: 100%;
        margin: 0 auto 5%;
    }
    .price_comparison_list {
        width: 96%;
        font-size: 12px;
        margin: 0 2% 0 2%;
    }
    .price_comparison_list table {
        border-collapse: separate;
        border-spacing: 1px 1px;
    }

    .price_basic_inner {
        width: 100%;
        margin: 0 auto 10%;
    }
    .price_basic_image {
        width: 100%;
    }
    .price_auxiliary_inner {
        width: 100%;
        margin: 0 auto 10%;
    }
    .price_auxiliary_box {
        width: 96%;
        margin: 0 2% 4% 2%;
        display: block;
    }
    .price_auxiliary_box_left {
        width: 100%;
    }
    .price_auxiliary_box_right {
        width: 100%;
    }
    .price_auxiliary_box_right h3 {
        font-size: 20px;
        margin: 5% 0 5% 0;
    }
}
/* --------------------------------------------------
  top_flow
 -------------------------------------------------- */
.top_flow_inner {
    width: 100%;
    margin: 0 auto 8%;
    padding: 80px 0 80px 0;
    background-color: #f3f5f9;
}
.top_flow_navi {
    max-width: 1160px;
    margin: 5% auto 0;
}
.top_flow_navi ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.top_flow_navi ul li {
    width: 20%;
    text-align: center;
    position: relative;
    margin: 0 7% 0 0;
}
.top_flow_navi ul li img {
    width: auto !important;
    height: auto;
    margin: 0 0 5% 0;
}
.top_flow_navi ul li:last-child {
    width: 20%;
    margin: 0 0 0 0;
}
.top_flow_navi ul li h3 {
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    background-color: #4b4948;
    border-radius: 48px;
}
.top_flow_navi ul li::after {
    content: "\f105";
    font-size: 30px;
    color: #d4d8e0;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    position: absolute;
    top: 38%;
    right: -20%;
}
.top_flow_navi ul li:last-child::after {
    content: "";
}
.top_flow_icon {
    position: absolute;
    font-size: 40px;
    top: -30%;
    left: 0;
    color: #cfcfcf;
    font-family: "Arial", "メイリオ";
}
@media screen and (max-width: 767px) {
    .top_flow_inner {
        width: 100%;
        padding: 5% 0 5% 0;
    }
    .top_flow_navi {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .top_flow_navi ul {
        display: block;
    }
    .top_flow_navi ul li {
        width: 100%;
        margin: 0 0 5% 0;
    }
    .top_flow_navi ul li img {
        width: 30%;
        height: auto;
        display: inline-block;
        vertical-align: middle;
    }
    .top_flow_navi ul li h3 {
        width: 63%;
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 0 5%;
    }
    .top_flow_navi ul li:last-child {
        width: 100%;
        margin: 0 0 5% 0;
    }
    .top_flow_navi ul li::after {
        content: "\f107";
        font-size: 40px;
        top: 18%;
        right: 55%;
    }
    .top_flow_icon {
        font-size: 30px;
        top: -2%;
        left: 35%;
    }
}
/* --------------------------------------------------
  flow_inner
 -------------------------------------------------- */
.flow_inner {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.flow_navi {
    width: 100%;
    margin: 0 auto 5%;
}
.flow_navi ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flow_navi ul li {
    width: 22%;
    text-align: center;
    position: relative;
    margin: 0 5% 0 0;
}
.flow_navi ul li:last-child {
    width: 22%;
    margin: 0 0 0 0;
}
.flow_navi ul li h3 {
    font-size: 18px;
    font-weight: 500;
}
.flow_navi ul li::after {
    content: "\f105";
    font-size: 30px;
    color: #edd249;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    position: absolute;
    top: 38%;
    right: -20%;
}
.flow_navi ul li:last-child::after {
    content: "";
}
@media screen and (max-width: 767px) {
    .flow_inner {
        width: 100%;
        margin: 0 auto 5%;
    }
    .flow_navi {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .flow_navi ul {
        display: block;
    }
    .flow_navi ul li {
        width: 100%;
        margin: 0 0 5% 0;
    }
    .flow_navi ul li img {
        width: 30%;
        height: auto;
        display: inline-block;
        vertical-align: middle;
    }
    .flow_navi ul li h3 {
        width: 63%;
        text-align: left;
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 0 5%;
    }
    .flow_navi ul li:last-child {
        width: 100%;
        margin: 0 0 5% 0;
    }
    .flow_navi ul li::after {
        content: "\f107";
        font-size: 40px;
        top: 20%;
        right: 10%;
    }
}
/* --------------------------------------------------
  top_ebook
 -------------------------------------------------- */
.top_ebook_inner {
    width: 100%;
    margin: auto;
    padding: 80px 0 80px 0;
    background-color: #90c31e;
}
.ebook_key {
}
.ebook_key span,
.ebook_key span a {
    font-size: 12px;
    color: #c8c8c8;
    margin: 0 5px 0 5px;
}
.slider_ebook_inner {
}
.slider_ebook li {
    padding: 10px;
    border-radius: 20px;
    transition: box-shadow 0.3s;
    background-color: #fff;
}
.slider_ebook li:hover {
    box-shadow: 0px 0px 15px rgba(33, 33, 33, 0.3);
}
.slider_ebook li h3 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.6;
}
.slider_ebook_aria {
    min-height: 90px;
    padding: 4%;
}
@media screen and (max-width: 767px) {
    .top_ebook_inner {
        width: 100%;
        padding: 5% 0 5% 0;
    }
    .slider_ebook_inner {
        margin: 0 2% 0 2%;
    }
    .slider_ebook_aria {
        min-height: inherit;
        padding: 4%;
    }
}
/* --------------------------------------------------
  ebook_inner
 -------------------------------------------------- */
.ebook_inner {
    max-width: 100%;
    margin: auto;
}
.ebook_special {
    max-width: 1160px;
    margin: 0 auto 2%;
}
.ebook_special_box {
    padding: 2%;
    border-radius: 20px;
    background-color: #fff;
    transition: box-shadow 0.3s;
}
.ebook_special_box:hover {
    box-shadow: 0px 0px 15px rgba(33, 33, 33, 0.3);
}
.ebook_special_left {
	width:500px;
	display:inline-block;
	vertical-align:middle;
}
.ebook_special_left img{
	width: 100%;
    border-radius: 10px;
}
.ebook_special_right {
	width:575px;
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 30px;
}
.ebook_special_right h3 {
    font-size: 18px;
    line-height: 1.8;
    font-weight: 700;
	color:#000;
}
.ebook_special_right p {
    font-size: 14px;
    margin: 3% 0 0 0;
}
.ebook_list {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.ebook_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.ebook_list ul li {
    width: 28%;
    margin: 0 2% 3% 0;
    padding: 2%;
    border-radius: 20px;
    background-color: #fff;
    transition: box-shadow 0.3s;
}
.ebook_list ul li:nth-child(3n) {
    margin: 0 0 3% 0;
}
.ebook_list ul li:hover {
    box-shadow: 0px 0px 15px rgba(33, 33, 33, 0.3);
}
.ebook_list ul li img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 0 0 3% 0;
}
.ebook_list ul li h3 {
    font-size: 18px;
    line-height: 1.8;
    font-weight: 700;
    margin: 3% 0 0 0;
}
.ebook_aria {
    padding: 4%;
}
@media screen and (max-width: 767px) {
.ebook_inner {
    width: 100%;
    margin: 0 auto 5%;
}
.ebook_special {
    max-width: 96%;
    margin: 0 2% 5% 2%;
}
.ebook_special_box {
	width: 90%;
    padding: 5%;
    border-radius: 20px;
    background-color: #fff;
    transition: box-shadow 0.3s;
}
.ebook_special_left {
    width: 100%;
}
.ebook_special_right {
    width: 96%;
	margin:0;
    padding: 2%;
}
.ebook_list {
    max-width: 96%;
    margin: 0 2% 5% 2%;
}
.ebook_list ul {
    display: block;
}
.ebook_list ul li {
    width: 90%;
    padding: 5%;
}
.ebook_list ul li img {
    margin: 0 0 1% 0;
}
.ebook_aria {
    padding: 2%;
}
}
/* --------------------------------------------------
  ebook_details
 -------------------------------------------------- */
.ebook_details {
    max-width: 860px;
    margin: 0 auto 8%;
}
.ebook_details img {
    max-width: 100%;
    height: auto;
    margin: 0 0 5% 0;
}
.ebook_body {
    margin: 0 auto 8%;
    padding: 50px;
    border-radius: 20px;
    background-color: #fff;
}
.ebook_body p {
    margin: 0 0 5% 0;
}
.slider_ebook_inner {
    margin: 0 0 5% 0;
}
.slider_ebook_details li {
    transition: box-shadow 0.3s;
}
.slider_ebook_details li:hover {
    box-shadow: 0px 0px 15px rgba(33, 33, 33, 0.3);
}
@media screen and (max-width: 767px) {
    .ebook_details {
        width: 96%;
        padding: 0 2% 0 2%;
    }
    .ebook_details img {
        margin: 0;
    }
    .ebook_body {
        padding: 5%;
    }
    .ebook_body p {
        margin: 0;
    }
}
/* --------------------------------------------------
  top_event
 -------------------------------------------------- */
.top_event_inner {
    width: 100%;
    margin: auto;
    padding: 80px 0 80px 0;
}
.top_event_list {
    max-width: 1160px;
    margin: auto;
}
.top_event_list ul {
}
.top_event_list ul li {
    font-size: 14px;
    position: relative;
    margin: 1% 0 1% 0;
    transition: box-shadow 0.3s;
    border-bottom: 1px solid #e1e6ec;
}
.top_event_list ul li a {
    display: block;
    padding: 2% 0 2% 0;
}
.top_event_list ul li:hover {
    box-shadow: 0 0 30px rgba(33, 33, 33, 0.4);
}
.top_event_list ul li a::after {
    content: "\f22d";
    display: block;
    font-size: 36px;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #90c31e;
    line-height: 0.6;
    position: absolute;
    right: 1%;
    top: 50%;
    transform: translate(-50%, -10px);
    background-size: 10px 10px;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.event01 {
    width: 10%;
    text-align: center;
    display: inline-block;
}
.event02 {
    width: 10%;
    display: inline-block;
}
.event03 {
    width: 79%;
    display: inline-block;
}
.reception {
    color: #fff;
    padding: 5% 8% 5% 8%;
    border-radius: 6px;
    background-color: #b1db52;
}
.reception_no {
    color: #fff;
    padding: 5% 8% 5% 8%;
    border-radius: 6px;
    background-color: #999;
}
@media screen and (max-width: 767px) {
    .top_event_inner {
        width: 100%;
        padding: 5% 0 5% 0;
    }
    .top_event_list {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .top_event_list ul li {
        font-size: 16px;
    }
    .event01 {
        width: 20%;
        text-align: left;
        font-weight: bold;
    }
    .event02 {
        width: 70%;
        padding: 0 0 2% 0;
    }
    .event03 {
        width: 95%;
        font-size: 13px;
        display: block;
        margin: 0 5% 2% 0;
    }
    .reception {
        padding: 1% 5% 1% 5%;
    }
    .reception_no {
        padding: 1% 5% 1% 5%;
    }
}
/* --------------------------------------------------
  event_inner
 -------------------------------------------------- */
.event_inner {
    max-width: 100%;
    margin: auto;
}
.event_special {
    max-width: 1160px;
    margin: 0 auto 2%;
}
.event_special_box {
    padding: 2%;
    border-radius: 20px;
    background-color: #fff;
    transition: box-shadow 0.3s;
}
.event_special_box:hover {
    box-shadow: 0px 0px 15px rgba(33, 33, 33, 0.3);
}
.event_special_left {
	width:500px;
	display:inline-block;
	vertical-align:middle;
}
.event_special_left img{
	width: 100%;
    border-radius: 10px;
}
.event_special_right {
	width:575px;
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 30px;
}
.event_special_right h3 {
    font-size: 18px;
    line-height: 1.8;
    font-weight: 700;
	color:#000;
}
.event_special_date {
    margin: 2% 0 0 0;
}
.event_special_date table {
	font-size:14px;
    border-spacing: 0;
}
.event_special_date table tr th {
    width: 20%;
    font-weight: bold;
    text-align: left;
    padding: 0.5% 2% 0.5% 2%;
	background-color:#eeeeee;
	border-bottom:1px solid #fff;
}
.event_special_date table tr td {
    width: 80%;
    padding: 0.5% 2% 0.5% 2%;
    vertical-align: top;
	border-bottom:1px solid #fff;
}
.event_list {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.event_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.event_list ul li {
    position: relative;
    width: 28%;
    margin: 0 2% 3% 0;
    padding: 2%;
    border-radius: 20px;
    background-color: #fff;
    transition: box-shadow 0.3s;
}
.event_list ul li:nth-child(3n) {
    margin: 0 0 3% 0;
}
.event_list ul li:hover {
    box-shadow: 0px 0px 15px rgba(33, 33, 33, 0.3);
}
.event_list ul li img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 0 0 3% 0;
}
.event_list ul li h3 {
    font-size: 18px;
    line-height: 1.8;
    font-weight: 700;
    margin: 3% 0 0 0;
}
.event_situation {
    /*position: absolute;
    top: 0;
    left: 0;*/
}
.accepting {
    color: #fff;
    padding: 2px 10px 2px 10px;
    border-radius: 8px;
    width: max-content;
    display: block;
    background-color: #0399b1;
}
.end {
    color: #fff;
    padding: 2px 10px 2px 10px;
    border-radius: 8px;
    width: max-content;
    display: block;
    background-color: #999;
}
.event_date {
    margin: 2% 0 0 0;
}
.event_date table {
    font-size: 12px;
    border-spacing: 0;
}
.event_date table tr th {
    width: 30%;
    font-weight: bold;
    text-align: left;
    padding: 1%;
}
.event_date table tr td {
    width: 70%;
    padding: 1%;
    vertical-align: top;
}
@media screen and (max-width: 767px) {
.event_inner {
    width: 100%;
    margin: 0 auto 5%;
}
.event_special {
    max-width: 96%;
    margin: 0 2% 5% 2%;
}
.event_special_box {
	width: 90%;
    padding: 5%;
    border-radius: 20px;
    background-color: #fff;
    transition: box-shadow 0.3s;
}
.event_special_left {
    width: 100%;
}
.event_special_right {
    width: 96%;
	margin:0;
    padding: 2%;
}
.event_special_date table tr th {
    width: 96%;
    display: block;

}
.event_special_date table tr td {
    width: 96%;
    display: block;
}
.event_list {
    width: 96%;
    margin: 0 2% 5% 2%;
}
.event_list ul {
    display: block;
}
.event_list ul li {
    width: 90%;
    margin: 0 0 5% 0;
    padding: 5%;
}
}
/* --------------------------------------------------
  event_details
 -------------------------------------------------- */
.event_details {
    max-width: 860px;
    margin: 0 auto 8%;
}
.event_details img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 0 0 3% 0;
}
.event_body {
    margin: 0 auto 8%;
    padding: 50px;
    border-radius: 20px;
    background-color: #fff;
}
.event_body p {
    margin: 0 0 5% 0;
}
.event_body_date {
    margin: 5% 0 10% 0;
}
.event_body_date table {
    border-spacing: 0;
}
.event_body_date table tr th {
    width: 30%;
    text-align: left;
}
.event_body_date table tr td {
    width: 70%;
    vertical-align: top;
}
.event_body_teacher {
}
.event_body_teacher_left {
    width: 25%;
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 5% 0;
}
.event_body_teacher_left img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}
.event_body_teacher_right {
    width: 69%;
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 5% 0;
    padding: 0 0 0 5%;
}
.event_body_teacher_right p {
    margin: 0 !important;
}
@media screen and (max-width: 767px) {
    .event_details {
        width: 96%;
        padding: 0 2% 0 2%;
    }
    .event_body {
        padding: 5%;
    }
    .event_body_date {
        width: 100%;
        font-size: 16px;
    }
    .event_body_date table tr th {
        width: 96%;
        display: block;
        text-align: left;
        padding: 0 0 2% 0;
        border-bottom: 1px solid #ededed;
    }
    .event_body_date table tr td {
        width: 96%;
        display: block;
        vertical-align: top;
        overflow-wrap: break-word;
        margin: 0 0 4% 0;
    }
    .event_body_teacher_left {
        width: 100%;
        display: block;
        margin: 0 0 2% 0;
    }
    .event_body_teacher_right {
        width: 100%;
        display: block;
        margin: 0 0 5% 0;
        padding: 0;
    }
}
/* --------------------------------------------------
  top_topics
 -------------------------------------------------- */
.top_topics_inner {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.top_topics_box {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
    margin: auto;
    padding: 40px;
    background-color: #fff;
    border-radius: 20px;
}
.top_topics_box_left {
    width: 250px;
    vertical-align: middle;
}
.top_topics_box_left .video {
    width: 100%;
    padding: 10px;
    border-radius: 25px;
    position: relative;
    background: #fff;
    box-shadow: 0 4px 40px #c9c6d0;
}
.top_topics_box_right {
    width: calc(1160px - 400px);
    vertical-align: middle;
}
.top_topics_box_right h3 {
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 20px 0;
}
@media screen and (max-width: 767px) {
    .top_topics_inner {
        width: 100%;
    }
    .top_topics_box {
        width: 96%;
        margin: 0 2% 0 2%;
        padding: 0;
        display: block;
        background-color: #f3f5f9;
        border-radius: 0;
    }
    .top_topics_box_left {
        width: 100%;
        text-align: center;
        margin: 0 0 5% 0;
    }
    .top_topics_box_left .video {
        width: 80%;
        margin: auto;
        padding: 10px;
        border-radius: 25px;
        position: relative;
        background: #fff;
        box-shadow: 0 4px 40px #c9c6d0;
    }
    .top_topics_box_right {
        width: 100%;
    }
    .top_topics_box_right h3 {
        font-size: 20px;
        font-weight: bold;
        margin: 0 0 5% 0;
    }
    .top_topics_box_right p {
        margin: 0 0 5% 0;
    }
}
/* --------------------------------------------------
  top_faq
 -------------------------------------------------- */
.top_faq_inner {
    width: 100%;
    margin: auto;
    padding: 80px 0 80px 0;
    background: url(/web/img/faq_bg.png) center center no-repeat;
    background-size: cover;
}
.top_faq_list {
    max-width: 800px;
    margin: auto;
}
.top_faq_list ul {
}
.top_faq_list ul li {
    margin: 1% 0 1% 0;
}

/*アコーディオン全体*/
.accordion {
    list-style: none;
    max-width: 100%;
    margin: 0 auto 8%;
}
.accordion li {
    padding: 5px 20px 5px 20px;
    border-radius: 20px;
    background-color: #fff;
}
/*アコーディオンタイトル*/
.accordion_q {
    position: relative; /*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    padding: 1% 10% 1% 0;
    transition: all 0.5s ease;
}
.accordion_q h3 {
    font-weight: bold;
}
.accordion_q h3::before {
    content: "\51";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 20px;
    color: #90c31e;
    margin: 0 10px 0 0;
}
/*アイコンの＋と×*/
.accordion_q::before,
.accordion_q::after {
    position: absolute;
    content: "";
    width: 15px;
    height: 2px;
    background-color: #7eb700;
}
.accordion_q::before {
    top: 48%;
    right: 15px;
    transform: rotate(0deg);
}
.accordion_q::after {
    top: 48%;
    right: 15px;
    transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.accordion_q.close::before {
    transform: rotate(45deg);
}
.accordion_q.close::after {
    transform: rotate(-45deg);
}
.accordion_box {
    display: none; /*はじめは非表示*/
    background: #f6ffe3;
    margin: 0 0 3% 0;
    padding: 2% 1% 2% 1%;
}
.accordion_box p {
    font-size: 14px;
    padding-left: 2em;
    text-indent: -2em;
}
.accordion_box p::before {
    content: "A. ";
    padding-left: 1em;
    text-indent: -1em;
}
@media screen and (max-width: 767px) {
    .top_faq_inner {
        width: 100%;
        padding: 5% 0 5% 0;
    }
    .top_faq_list {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .accordion_q::before {
        right: 0;
    }
    .accordion_q::after {
        right: 0;
    }
}
/* --------------------------------------------------
  top_faq
 -------------------------------------------------- */
.faq_inner {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.faq_list {
}
.faq_list ul {
}
.faq_list ul li {
    margin: 1% 0 1% 0;
}
@media screen and (max-width: 767px) {
    .top_faq_list {
        max-width: 100%;
        margin: 0 auto 10%;
    }
    .faq_list {
        max-width: 96%;
        margin: 0 2% 0 2%;
    }
}
/* --------------------------------------------------
  news_inner
 -------------------------------------------------- */
.news_inner {
    max-width: 100%;
    margin: auto;
}
.news_list {
    max-width: 1060px;
    margin: 0 auto 8%;
    padding: 50px;
    background-color: #fff;
    border-radius: 20px;
}
.news_list dl {
    border-bottom: 1px solid #e6eae0;
}
.news_list dl a {
    padding: 2% 0 2% 0;
    display: block;
    position: relative;
}
.news_list dl dt {
    width: 26%;
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 0 2% 0 2%;
}
.news_list dl dt span {
    font-size: 12px;
    color: #fff;
    margin: 0 5% 0 5%;
    padding: 2% 5% 3% 5%;
    border-radius: 4px;
    background-color: #6eba02;
}
.news_list dl dd {
    width: 62%;
    display: inline-block;
    vertical-align: top;
    padding: 0 5% 0 2%;
}
.news_list dl dd h3 {
    font-weight: 700;
}
.news_list dl a::after {
    content: "\f22d";
    display: block;
    font-size: 36px;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #90c31e;
    line-height: 0.6;
    position: absolute;
    right: 1%;
    top: 50%;
    transform: translate(-50%, -10px);
    background-size: 10px 10px;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
@media screen and (max-width: 767px) {
    .news_inner {
        width: 96%;
        margin: 0 2% 5% 2%;
    }
    .news_list {
        max-width: 90%;
        padding: 5%;
    }
    .news_list dl {
        margin: 0 0 5% 0;
    }
    .news_list dl dt {
        width: 100%;
        display: block;
        padding: 0 0 2% 0;
    }
    .news_list dl dt span {
        margin: 0 2% 0 2%;
        padding: 1% 3% 1.5% 3%;
    }
    .news_list dl dd {
        width: 95%;
        display: block;
        padding: 0 5% 0 0;
    }
    .news_list dl a::after {
        right: -5%;
    }
}
/* --------------------------------------------------
  news_details
 -------------------------------------------------- */
.news_details {
    max-width: 860px;
    margin: 0 auto 8%;
}
.news_date {
    margin: 2% 0 0 0;
}
.news_details img {
    max-width: 100%;
    height: auto;
    margin: 0 0 5% 0;
}
.news_body {
    margin: 0 auto 8%;
    padding: 50px;
    border-radius: 20px;
    background-color: #fff;
}
.news_body p {
    margin: 0 0 5% 0;
}
.news_body p a:link {
    color: #74a900;
    text-decoration: underline;
}
.news_body p a:hover {
    color: #90c31f;
    text-decoration: none;
}
@media screen and (max-width: 767px) {
    .news_details {
        width: 96%;
        padding: 0 2% 0 2%;
    }
    .news_body {
        max-width: 90%;
        padding: 5%;
        overflow-wrap: break-word;
    }
}
/* --------------------------------------------------
  blog_inner
 -------------------------------------------------- */
.blog_inner {
    max-width: 100%;
    margin: auto;
}
.blog_list {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.blog_list ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}
.blog_list ul li {
    width: 45%;
    margin: 0 0 3% 0;
    padding: 20px;
    border-radius: 20px;
    background-color: #fff;
    transition: box-shadow 0.3s;
}
.blog_list ul li:hover {
    box-shadow: 0px 0px 15px rgba(33, 33, 33, 0.3);
}
.blog_list ul li img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 0 0 3% 0;
}
.blog_list ul li h3 {
    font-size: 24px;
    line-height: 1.6;
    font-weight: 700;
    padding: 0 0 3% 0;
}
.blog_list ul li p {
    font-size: 16px;
    line-height: 1.8;
    padding: 0 0 2% 0;
}
.blog_list_aria {
    padding: 4%;
}
@media screen and (max-width: 767px) {
    .blog_inner {
        width: 100%;
        margin: 0 auto 5%;
    }
    .blog_list {
        width: 96%;
        margin: 0 2% 5% 2%;
    }
    .blog_list ul {
        display: block;
    }
    .blog_list ul li {
        width: 90%;
        margin: 0 0 5% 0;
        padding: 5%;
    }
    .blog_list_aria {
        padding: 0;
    }
}
/* --------------------------------------------------
  blog_details
 -------------------------------------------------- */
.blog_details {
    max-width: 860px;
    margin: 0 auto 8%;
}
.blog_details img {
    max-width: 100%;
    height: auto;
    margin: 0 0 5% 0;
    border-radius: 20px;
}
.blog_body {
    padding: 50px;
    border-radius: 20px;
    background-color: #fff;
}
.blog_body p,
.blog_body .list_in_cont {
    margin: 0 0 5% 0;
}
.blog_body .blog_main_cont a {
    color: #74a900;
    text-decoration: underline;
    padding: 0;
    border-radius: 0;
}

.blog_body .blog_main_cont a:hover {
    color: #90c31f;
    text-decoration: none;
}
.blog_author {
    max-width: 860px;
    margin: 0 auto 0;
    padding: 20px;
    border-radius: 20px;
	border:1px solid #CCC;
}
.blog_author_title {
    font-size: 14px;
    width: fit-content;
    color: #FFF;
    margin: 0 0 0 20px;
    padding: 2px 20px 2px 20px;
    border-radius: 20px 20px 0px 0px;
    background-color: #CCC;
}
.blog_author dl {}
.blog_author dl dt {
    width: 200px;
    display: inline-block;
    vertical-align: middle;
    padding: 0;
}
.blog_author dl dt img {
    max-width: 100%;
    height: auto;
    margin: 0;
    border-radius: 20px;
}
.blog_author dl dd {
    width: 490px;
    display: inline-block;
    vertical-align: middle;
    padding: 0 0 0 20px;
}
.blog_author dl dd h6{
    font-size: 16px;
    font-weight: 800;
    line-height: 1.6;
	margin:0 0 2% 0;
}
.blog_author dl dd p{
    font-size: 14px;
    line-height: 1.8;
	margin:0;
	padding:0
}
@media screen and (max-width: 767px) {
.blog_details {
	width: 96%;
	padding: 0 2% 0 2%;
}
.blog_body {
	padding: 5%;
}
.blog_author {
    max-width: 100%;
    padding: 5%;
}
.blog_author dl {}
.blog_author dl dt {
    width: 100%;
    display: block;
}
.blog_author dl dd {
    width: 100%;
    display: block;
    padding: 0;
}
}
/* --------------------------------------------------
  mokuji
 -------------------------------------------------- */
#toc_container {
    margin: 0 0 5%;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid #e8e8e8;
}
.toc_title {
    font-weight: 700;
    display: inline-block;
    color: #fff;
    padding: 8px 20px 8px 20px;
    border-radius: 12px;
    background-color: #90c31e;
}
.toc_title a {
    font-size: 12px;
    color: #fff;
}
.toc_number {
    color: #90c31e;
}
.toc_number::after {
    content: "｜";
}
ul.toc_list li ul li {
    padding: 0 0 0 20px;
}
/* --------------------------------------------------
  keyword_list
 -------------------------------------------------- */
.keyword_list {
}
.keyword_list a {
    color: #eea60f;
    font-size: 14px;
    text-decoration: underline;
    display: inline-block;
    margin: 0 1.5% 0 1.5%;
}
.keyword_list a:hover {
    color: #fabf45;
    text-decoration: none;
}
.keyword_list a::before {
    content: "#";
}

@media screen and (max-width: 1020px) {
    .keyword_list {
        padding: 0 2% 0 2%;
    }
}
/* related
----------------------------------- */
.related_inner {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.related_list {
    padding: 50px;
    border-radius: 20px;
    background-color: #fff;
}
.related_list ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.related_list ul li {
    width: 31%;
    margin: 1% 1% 1% 0;
    background-color: #fff;
}
.related_list ul li a {
    display: block;
}
.related_list ul li:nth-child(3n) {
    margin: 0 0 2% 0;
}
.related_img {
    width: 25%;
    display: inline-block;
    vertical-align: middle;
}
.related_img img {
    width: 100%;
    height: auto;
}
.related_text {
    width: 65%;
    font-size: 90%;
    font-weight: 600;
    line-height: 1.6;
    display: inline-block;
    vertical-align: middle;
    padding: 0 0 0 5%;
}
.related_text p {
    margin: 0;
    padding: 0;
}
@media screen and (max-width: 767px) {
    .related_inner {
        width: 96%;
        margin: 0 2% 5% 2%;
    }
    .related_list {
        width: 90%;
        padding: 5%;
    }
    .related_list ul {
        display: block;
    }
    .related_list ul li {
        width: 100%;
        margin: 0 0 5% 0;
    }
    .related_img {
        width: 30%;
    }
    .related_img img {
        width: 100%;
        height: auto;
    }
    .related_text {
        width: 65%;
        padding: 0 0 0 3%;
    }
}
/* --------------------------------------------------
  company_inner
 -------------------------------------------------- */
.company_inner {
    max-width: 100%;
    margin: 0 auto 8%;
}
.company_box {
    max-width: 1060px;
    margin: 0 auto 8%;
    padding: 50px;
    background-color: #fff;
    border-radius: 20px;
}
.company_box dl {
    margin: 1% 0 1% 0;
    border-bottom: 1px solid #e6eae0;
}
.company_box dl dt {
    width: 25%;
    display: inline-block;
    vertical-align: top;
    padding: 1% 2% 1% 2%;
}
.company_box dl dt::before {
    content: "\f22d";
    font-size: 24px;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    color: #90c31e;
    position: relative;
    line-height: 1.4;
    top: 4px;
    margin: 0 8px 0 0;
}
.company_box dl dd {
    width: 66%;
    display: inline-block;
    vertical-align: top;
    padding: 1% 2% 1% 2%;
    background-color: #fff;
}
.company_box dl dd h3 {
    font-weight: 700;
}
@media screen and (max-width: 767px) {
    .company_inner {
        width: 100%;
        margin: 0 auto 5%;
    }
    .company_box {
        max-width: 96%;
        margin: 0 2% 0 2%;
    }
    .company_box dl {
        margin: 0 0 5% 0;
        border-bottom: none;
    }
    .company_box dl dt {
        width: 96%;
        display: block;
    }
    .company_box dl dd {
        width: 96%;
        display: block;
        padding: 1% 2% 1% 2%;
    }
}
/* --------------------------------------------------
  policy_inner
 -------------------------------------------------- */
.policy_inner {
    max-width: 100%;
    margin: 0 auto 8%;
}
.policy_box {
    max-width: 1060px;
    margin: 0 auto 8%;
    padding: 50px;
    background-color: #fff;
    border-radius: 20px;
}
.policy_box h4 {
    font-size: 20px;
    font-weight: 600;
}
@media screen and (max-width: 767px) {
}
/* --------------------------------------------------
  contact_inner
 -------------------------------------------------- */
.contact_inner {
    max-width: 100%;
    margin: 0 auto 8%;
}
.contact_info {
    max-width: 1060px;
    margin: 0 auto 8%;
    padding: 50px;
    background-color: #fff;
    border-radius: 20px;
}
.contact_box {
}
.contact_box table {
    border-spacing: 0;
    margin: 0 auto 5%;
}
.contact_box table tr th {
    width: 40%;
    text-align: left;
    vertical-align: top;
    padding: 2%;
    border-bottom: 1px solid #fff;
    background-color: #e8e8e8;
}
.contact_box table tr td {
    width: 60%;
    vertical-align: top;
    padding: 2%;
    border-bottom: 1px solid #c7dfa6;
}
.contact_box table tr td:first-child {
}
.wpcf7-list-item {
    display: block;
}
.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
    background-color: #f3f3f3;
    border: 1px solid #cdcdcd;
    margin: 0 0 1px 0;
    padding: 10px;
}
.wpcf7-not-valid-tip {
    margin: 0;
    padding: 0;
}
.co_button {
    display: inline-block;
    text-align: center;
    font-weight: normal;
    position: relative;
    color: #fff;
    margin: 2% 1% 0 1%;
    padding: 20px 60px 20px 60px;
    border-radius: 46px;
    text-transform: uppercase;
    transition: 0.5s;
    background-size: 200% auto;
    background-image: linear-gradient(to right, #6eba02 0%, #96d53c 51%, #6eba02 100%);
    border: 0;
}
.co_button:hover {
    cursor: pointer;
    background-image: linear-gradient(to right, #7ec419 0%, #96d53c 51%, #579500 100%) !important;
}
.co_button:disabled:hover {
    cursor: no-drop;
    background-image: linear-gradient(to right, #6eba02 0%, #96d53c 51%, #6eba02 100%) !important;
}
.wpcf7-textarea {
    width: 90%;
}
.contact_inner .wpcf7c-conf {
    border: none;
    background-color: #fff;
}
.contact_box input[type="checkbox"] {
    width: 14px;
    height: 14px;
    margin: 0 5px 0 0;
    -moz-transform: scale(1.4);
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
}
.contact_box input[type="radio"] {
    width: fit-content;
    margin: 0 5px 0 0;
    -moz-transform: scale(1.4);
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
}
span.wpcf7-list-item {
    display: block !important;
}
.form_item .wpcf7-radio span.wpcf7-list-item label,
.form_item .wpcf7-checkbox span.wpcf7-list-item label {
    display: flex;
    align-items: baseline;
    gap: 5px;
}
.f_s_s {
    width: 96%;
}
.f_s_b {
    width: 100%;
}
/*　注釈 */
.contact_come {
    font-size: 80%;
    line-height: 1.6;
	margin:0 0 2% 0 !important;
}
.must {
    font-size: 80%;
    font-weight: normal;
    color: #fff;
    border-radius: 8px;
    margin: 0 0 0 10px;
    padding: 5px 10px;
    letter-spacing: 0.2em;
    background: #ff1a00;
    float: right;
}
.grecaptcha-badge {
    margin: 5% auto 0;
}
::placeholder {
    color: #c7c7c7;
}
.step {
    width: 100%;
    margin: 5% auto 5%;
    padding: 2% 0 2% 0;
    background-color: #90c31e;
}
.step ul {
    overflow-y: hidden;
    display: flex;
    list-style: none;
    justify-content: center;
}
.step ul li {
    color: #90c31e;
    position: relative;
    padding: 15px 30px 15px 50px;
    margin: 0 16px 0 0;
    background: #fff;
}
/*　先端部分 */
.step ul li::before {
    content: "";
    position: absolute;
    top: -28px;
    right: -80px;
    border-width: 60px 40px;
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    z-index: 10;
}

/* 白いスペース部分 */
.step ul li::after {
    content: "";
    position: absolute;
    top: -28px;
    right: -82px;
    border-width: 60px 40px;
    border-color: transparent transparent transparent #90c31e;
    border-style: solid;
    z-index: 5;
}
/* 現在のステップ */
.step ul li.active {
    color: #fff;
    background: #a6d11b;
}
.step ul li.active::before {
    border-color: transparent transparent transparent #a6d11b;
}
/* 最後のステップのレイアウト */
.step ul li:last-child:before,
li:last-child:after {
    display: none;
}
.step ul li:first-child {
    border-radius: 12px 0 0 12px;
}
.step ul li:last-child {
    border-radius: 0 12px 12px 0;
    padding-right: 30px;
}
/*  */
.wpcf7-form-control-wrap input.readonly {
    width: 100%;
    background-color: #fff;
    pointer-events: none;
    border: none;
    padding: 2px;
}
.demo_inner {
    max-width: 1160px;
    margin: 0 auto 8%;
}
.demo_box {
}
.demo_box_left {
    display: inline-block;
    width: 320px;
    vertical-align: middle;
}
.demo_box_left img {
    width: 100%;
    height: auto;
}
.demo_box_right {
    display: inline-block;
    width: 775px;
    vertical-align: middle;
    margin: 0 0 0 50px;
}
.contact_info_end {
    width:100%;
	color:#FFF;
    margin: 0 auto 5%;
    background-color: #47c249;
}
.contact_info_end_title{
	text-align:center;
    margin: 0 0 3% 0;
}
.contact_info_end_title h3{
    font-size: 24px;
    font-weight: bold;
}
.contact_info_end_box {
    max-width: 1160px;
	margin:auto;
    padding: 3% 0 3% 0;
}
.contact_info_end_left {
    width: 55%;
    display: inline-block;
    vertical-align: middle;
}
.contact_info_end_left ul{
	margin:0 0 2% 0;
}
.contact_info_end_left ul li{
    font-size: 18px;
}
.contact_info_end_right {
    width: 43%;
    display: inline-block;
    vertical-align: middle;
}
.contact_sub_end {
    width:100%;
    margin: 0 auto 8%;
}
.contact_sub_end_subtitle {
	text-align:center;
    margin: 0 0 3% 0;
}
.contact_sub_end_subtitle h4{
    font-size: 28px;
}
.contact_sub_end_subtitle p{
    font-size: 16px;
}
.contact_sub_end_box {
    max-width: 1160px;
	margin:auto;
    padding: 3% 0 3% 0;
}
.contact_sub_end_left {
    width: 55%;
    display: inline-block;
    vertical-align: middle;
}
.contact_sub_end_left ul{
	margin:2% 0 2% 0;
}
.contact_sub_end_left ul li{
    font-size: 16px;
}
.contact_sub_end_right {
    width: 43%;
    display: inline-block;
    vertical-align: middle;
}
@media screen and (max-width: 1080px) {
    .contact_inner {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .contact_info {
        width: 90%;
        padding: 5%;
    }
    .contact_box {
        max-width: 100%;
        padding: 0;
    }
    .contact_box table tr th {
        width: 96%;
        font-weight: 600;
        display: block;
        padding: 2% 2% 2% 2%;
        background-color: none;
        border-bottom: 1px solid #ccc;
    }
    .contact_box table tr td {
        width: 96%;
        display: block;
        margin: 0 0 3% 0;
        padding: 2% 2% 2% 2%;
        border-bottom: none;
    }
    .wpcf7-list-item {
        display: block;
    }
    .wpcf7-form-control-wrap input,
    .wpcf7-form-control-wrap textarea {
        width: 96%;
        white-space: normal;
        background-color: #f3f3f3;
        border: 1px solid #cdcdcd;
        margin: 0 0 1px 0;
        padding: 5px;
    }
    .wpcf7-not-valid-tip {
        margin: 0;
        padding: 0;
    }
    .f_s_s {
        width: 96%;
    }
    .f_s_b {
        width: 96%;
    }
    .wpcf7-textarea {
        width: 96%;
    }
    .co_button {
        text-align: center;
        padding: 5%;
    }
    .wpcf7-text,
    .wpcf7-textarea {
    }
    .step {
        width: 96%;
        margin: 5% auto 5%;
        padding: 2%;
    }
    .step ul {
        margin: 0 -20px 0 0;
    }
    .step ul li {
        padding: 4% 8% 4% 8%;
        margin: 0 6% 0 0;
    }
    /*　先端部分 */
    .step ul li::before {
        content: "";
        position: absolute;
        top: -30px;
        right: -80px;
        border-width: 60px 40px;
        border-color: transparent transparent transparent #fff;
        border-style: solid;
        z-index: 10;
    }
    /* 白いスペース部分 */
    .step ul li::after {
        content: "";
        position: absolute;
        top: -30px;
        right: -82px;
        border-width: 60px 40px;
        border-color: transparent transparent transparent #90c31e;
        border-style: solid;
        z-index: 5;
    }

    /*  */
    .demo_inner {
        width: 96%;
        margin: 0 auto 10%;
        padding: 0 2% 0 2%;
    }
    .demo_box {
    }
    .demo_box_left {
        display: block;
        width: 100%;
    }
    .demo_box_right {
        display: block;
        width: 100%;
        margin: 2% 0 0 0;
    }
.contact_info_end_title h3{
    font-size: 18px;
}
.contact_info_end_box {
    max-width:100%;
}
.contact_info_end_left {
    width:100%;
    display: block;
}
.contact_info_end_left p{
	margin:0 2% 0 2%;
}
.contact_info_end_left ul{
	margin:0 2% 2% 2%;
}
.contact_info_end_left ul li{
    font-size: 16px;
}
.contact_info_end_right {
	display:none;
}	
.contact_info_end_photo{
	margin:0 2% 2% 2%;
}
.contact_sub_end_subtitle h4{
    font-size: 18px;
	font-weight:bold;
}
.contact_sub_end_subtitle p{
    font-size: 14px;
}
.contact_sub_end_box {
    max-width:100%;
}
.contact_sub_end_left {
    width:100%;
    display: block;
}
.contact_sub_end_left p{
	margin:0 2% 0 2%;
}
.contact_sub_end_photo{
	margin:0 2% 2% 2%;
}
.contact_sub_end_left ul{
	margin:0 2% 2% 2%;
}
.contact_sub_end_left ul li{
    font-size: 14px;
}
.contact_sub_end_right {
	display:none;
}	
}
/* sitemap
----------------------------------- */
.sitemap_inner {
    max-width: 100%;
    margin: 0 auto 8%;
}
.sitemap_box {
    max-width: 1060px;
    margin: 0 auto 8%;
    padding: 50px;
    background-color: #fff;
    border-radius: 20px;
}
.sitemap_inner ul {
    padding: 0 0 2% 0;
}
.sitemap_inner ul li a {
}
.sitemap_inner ul li.sitemap_one {
    display: block;
    margin: 0px 0px 10px 0px;
    padding: 10px;
    background-color: #f2f2f2;
    clear: both;
}
.sitemap_inner ul li.sitemap_two {
    padding: 0px 0px 10px 40px;
}
.sitemap_inner ul li.sitemap_three {
    padding: 0px 0px 10px 80px;
}
@media screen and (max-width: 767px) {
}
/* sns
----------------------------------- */
.share {
    max-width: 100%;
    margin: 10% auto 5%;
    text-align: center;
}
.share ul {
}
.share li {
    width: 18%;
    display: inline-block;
    text-align: center;
    margin: 0 0.5% 0 0.5%;
    border-radius: 3px;
    list-style: none;
}
.share li.share-twitter {
    background: #55acee;
    box-shadow: 0 3px #2795e9;
}
.share li.share-twitter:hover {
    background: #83c3f3;
}
.share li.share-facebook {
    background: #3b5998;
    box-shadow: 0 3px #2d4373;
}
.share li.share-facebook:hover {
    background: #4c70ba;
}
.share li.share-google {
    background: #dd4b39;
    box-shadow: 0 3px #c23321;
}
.share li.share-google:hover {
    background: #e47365;
}
.share li.share-hatena {
    background: #2c6ebd;
    box-shadow: 0 3px #225694;
}
.share li.share-hatena:hover {
    background: #4888d4;
}
.share li.share-pocket {
    background: #f13d53;
    box-shadow: 0 3px #e6152f;
}
.share li.share-pocket:hover {
    background: #f26f7f;
}
.share li.share-line {
    background: #00c300;
    box-shadow: 0 3px #009d00;
}
.share li.share-line:hover {
    background: #2bd92b;
}
.share a {
    display: block;
    padding: 2%;
    color: #ffffff;
    text-decoration: none;
}
.share a:hover {
    text-decoration: none;
    color: #ffffff;
}
@media screen and (max-width: 767px) {
    .share {
        width: 96%;
        padding: 0 2% 0 2%;
    }
    .share li {
        width: 17%;
    }
}
/* --------------------------------------------------
  infotab
 -------------------------------------------------- */
.infotab {
    position: fixed;
    width: 50px;
    bottom: 140px;
    right: 0;
}
.infotab ul {
}
.infotab ul li {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: #fff;
}
.infotab ul li a {
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    display: block;
}
.infotab ul li.tabbottom01 {
    position: relative;
    color: #fff;
    margin: 0 0 10px 0;
    padding: 20px 10px 55px 10px;
    background-color: #1eb9ee;
    border-radius: 12px 0 0 12px;
    box-shadow: 0px 0px 8px #bdbdbd;
}
.infotab ul li.tabbottom02 {
    position: relative;
    color: #fff;
    margin: 0 0 10px 0;
    padding: 20px 10px 55px 10px;
    background-color: #eea60f;
    border-radius: 12px 0 0 12px;
    box-shadow: 0px 0px 8px #bdbdbd;
}
.infotab ul li.tabbottom03 {
    position: relative;
    color: #fff;
    margin: 0 0 10px 0;
    padding: 20px 10px 55px 10px;
    background-color: #90c31f;
    border-radius: 12px 0 0 12px;
    box-shadow: 0px 0px 8px #bdbdbd;
}

.infotab ul li.tabbottom01 a::after,
.infotab ul li.tabbottom02 a::after,
.infotab ul li.tabbottom03 a::after {
    content: "\f22d";
    display: block;
    font-size: 36px;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    line-height: 0.6;
    position: absolute;
    right: 5%;
    top: 80%;
    opacity: 0.5;
    transform: translate(-50%, -10px);
    background-size: 10px 10px;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

@media screen and (max-width: 767px) {
    .infotab {
        position: fixed;
        width: 100%;
        bottom: 0;
        left: 0;
        right: auto;
    }
    .infotab ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        height: inherit;
    }
    .infotab ul li {
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        color: #fff;
    }
    .infotab ul li.tabbottom01 {
        width: 23.33%;
        line-height: 1.6;
        margin: 0;
        padding: 2% 5% 2% 5%;
        border-radius: 0;
        box-shadow: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }
    .infotab ul li.tabbottom02 {
        width: 23.33%;
        line-height: 1.6;
        margin: 0;
        padding: 2% 5% 2% 5%;
        border-radius: 0;
        box-shadow: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }
    .infotab ul li.tabbottom03 {
        width: 23.33%;
        line-height: 1.6;
        margin: 0;
        padding: 2% 5% 2% 5%;
        border-radius: 0;
        box-shadow: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }
    .infotab ul li.tabbottom01 a::after,
    .infotab ul li.tabbottom02 a::after,
    .infotab ul li.tabbottom03 a::after {
        right: 1%;
        top: 50%;
    }
}

/* --------------------------------------------------
  footer
 -------------------------------------------------- */
footer {
    width: 100%;
}
.footer_inner {
    margin: auto;
}
.footer_info_inner {
    width: 100%;
    padding: 80px 0 80px 0;
    background-color: #fff;
}
.footer_info_box {
    width: 1160px;
    margin: auto;
    text-align: center;
}
.footer_info_box h3 {
    font-size: 40px;
    font-weight: 600;
    text-align: left;
    color: #90c31e;
    display: inline-block;
    vertical-align: middle;
}
.footer_info_box p {
    text-align: left;
    display: inline-block;
    vertical-align: middle;
    padding: 0 0 0 20px;
}
.footer_warp_inner {
    width: 100%;
    padding: 80px 0 80px 0;
    background-color: #ececec;
}
.footer_warp {
    width: 1160px;
    margin: auto;
}
.footer_logo {
    display: inline-block;
    width: 20%;
    vertical-align: middle;
}
.footer_menu {
    display: inline-block;
    width: 79%;
    vertical-align: middle;
}
.footer_menu ul {
    text-align: right;
}
.footer_menu ul li {
    display: inline-block;
    font-size: 14px;
    margin: 0 1% 0 1%;
}
.footer_menu ul li a:hover {
    color: #5f8802;
}
.footer_submenu {
    display: inline-block;
    width: 50%;
    vertical-align: middle;
    margin: 5% 0 0 0;
}
.footer_submenu ul {
}
.footer_submenu ul li {
    display: inline-block;
    font-size: 14px;
    margin: 0 1% 0 1%;
}
.footer_submenu ul li a:hover {
    color: #5f8802;
}
.footer_ias {
    width: 17%;
    display: inline-block;
    vertical-align: middle;
    margin: 5% 2% 0 0;
    background-color: #fff;
    padding: 0.5%;
    border-radius: 12px;
}
.footer_ias img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}
.footer_partner {
    width: 29%;
    display: inline-block;
    vertical-align: middle;
    margin: 5% 0 0 0;
}
.footer_partner ul {
}
.footer_partner ul li {
    display: inline-block;
    width: 280px;
    margin: 1% 0 1% 0;
}
.footer_partner ul li img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}
.footer_copy {
    font-size: 12px;
    margin: 5% 0 0 0;
}
@media screen and (max-width: 767px) {
    .footer_inner {
        margin: 0 0 12% 0;
    }
    .footer_info_inner {
        width: 100%;
        padding: 5% 0 5% 0;
    }
    .footer_info_inner h3 {
        font-size: 22px;
    }
    .footer_info_box {
        width: 96%;
        margin: 0 2% 0 2%;
    }
    .footer_info_box p {
        padding: 0;
    }
    .footer_warp_inner {
        width: 100%;
        padding: 5% 0 2% 0;
    }
    .footer_warp {
        width: 96%;
        margin: 5% 2% 3% 2%;
    }
    .footer_logo {
        display: block;
        width: 100%;
        text-align: center;
        margin: 0 0 5% 0;
    }
    .footer_logo img {
        width: 50%;
        height: auto;
    }
    .footer_menu {
        display: block;
        width: 100%;
        margin: 0 0 5% 0;
    }
    .footer_menu ul {
        text-align: center;
    }
    .footer_submenu {
        width: 100%;
    }
    .footer_submenu ul {
        text-align: center;
    }
    .footer_ias {
        width: 40%;
        text-align: center;
        margin: 2% auto 0;
        display: block;
    }
    .footer_partner {
        width: 100%;
        margin: 0 auto 4%;
    }
    .footer_partner ul li {
        width: 49.4%;
        margin: 10px auto 10px auto;
    }
    .footer_copy {
        text-align: center;
    }
}
