@charset "UTF-8";
/* CSS Document */

/*全体の設定
---------------------------------------------------------------------------*/
/*===============================

    Reset

================================*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    line-height: 1;
    -webkit-overflow-scrolling: touch !important;
    
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
}

a:link,
a:visited,
a:hover,
a:active {}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input,
select {
    vertical-align: middle;
}

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-repeat: no-repeat;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.hidden {
    display: none;
}

/*===============================

    Base
    サイト全体のフォント
    字間や行間
    リンクの扱い
    imgのサイズ
    幅の設定等

================================*/

html {
    font-size: 16px;
}

@font-face {
    font-family: Noto Sans JP;
    src: url("../font/Noto_Sans_JP/NotoSansJP-Regular.otf") format("truetype");
}

body {
    /*ゴシック*/
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
    color: #333;
    line-height: 32px;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/*共通の設定
---------------------------------------------------------------------------*/
.pc {
    display: block !important;
}

.sp {
    display: none !important;
}



@media only screen and (max-width: 750px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }
}

/*メインカラーの設定
-------------------------------------------------*/
:root {
	--main-red: #FB0011;
	--main-green: #00B352;
}



/*見出しの設定
-------------------------------------------------*/
.h2_heading_g {
  color: var(--main-green);
  text-align: center;
  margin-top: 120px;
  margin-bottom: 60px;
}

.h2_heading_w {
  color: #fff;
  text-align: center;
  margin-bottom: 60px;
}

.h2_en {
    font-size: 40px;
    font-weight: 800;
    letter-spacing: 3px;
    margin-bottom: 30px;
}

.h2_ja {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

@media only screen and (max-width: 750px){
    .h2_heading_g {
  color: var(--main-green);
  text-align: center;
  margin-top: 100px;
  margin-bottom: 40px;
}
}

/*header
-------------------------------------------------*/
.header_pc {
width: 100%;
height: 100px;
background: #fff;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);

	
}
.header_pc_container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header_pc_container .header_logo {
    margin-left: 15px;
}
.header_pc_container .header_logo > img {
	height: 50px;
}
.pcNav_container {
	display: flex;
	justify-content: flex-end;
	align-items: center
}

.pcNav_container .pcNav {
	display: flex;
    margin-right: 20px;
}

.pcNav_container .pcNav li {
	margin-right: 15px;
}
.pcNav_container .pcNav a {
	display: flex;
	color: var(--main-green);
	font-weight: 600;
    letter-spacing: 1.2px;
}

.pcNav_container .top_lineBtn {
	max-width: 260px;
	height: 100px;
	background-color: var(--main-red);
	font-weight: 600;
	display: flex;
	align-items: center;
}

.pcNav_container .top_lineBtn a {
	display: block;
	width: fit-content;
	margin: 0 auto;
	padding: 0 40px;
	color: #fff;
	font-size: 17px;
	text-align: center;
    letter-spacing: 1.3px;
}

/*------------------スマホ用ヘッダーのスタイルここから*/
.header_sp {
position: fixed; /* ヘッダーを固定する */
top: 0; /* 上部から配置の基準位置を決める */
left: 0; /* 左から配置の基準位置を決める */
width: 100%; /* ヘッダーの横幅を指定する */
height: 55px; /* ヘッダーの高さを指定する */
padding: 10px; /* ヘッダーの余白を指定する(上下左右) */
background-color: #fff; /* ヘッダーの背景色を指定する */
z-index: 500;
}

.sptop_logo {
    max-width: 130px;
    margin-left: 15px;
    margin-top: 0px;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: absolute;
  z-index : 800;
  right : 0px;
  top   : 0px;
  width : 55px;
  height: 55px;
  cursor: pointer;
  text-align: center;
  background-color: var(--main-red);
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left: 13px;
  margin-top: 5px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
width: 34px;
  top : 22px;
  left: 10px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  width: 32px;
    top: 23px;
    left: 12px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 600;
  top  : 0;
  left : 0;
  color: var(--main-green);
  background: rgba(255,255,255,0.9);
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
  height: 100%;
  overflow: auto;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  width: 80%;
}

nav.globalMenuSp ul li {
  

}
nav.globalMenuSp ul li{

}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

ul.spMenu_page li a {
  display: block;
  color: var(--main-green);
  padding: 13px 0;
  text-decoration :none;
}

ul.spMenu_page {
    position: absolute;
    top: 65px;
    left: 0;
    right: 0;
}
ul.spMenu_page li {
    font-weight: 600;
    border-bottom: 1px solid var(--main-green);
}

ul.spMenu_link {
    position: absolute;
    top: 380px;
    left: 0;
    right: 0;
}

ul.spMenu_link .spMenu_link_title {
    margin-bottom: 10px;
    color: var(--main-green);
    font-size: 16px;
    font-weight: 600;
}

ul.spMenu_link .spMenu_hyper {
    color: var(--main-green);
    font-size: 15px;
    font-weight: 600;

}
ul.spMenu_link .spMenu_hyper a{
  display: block;
  color: var(--main-green);
  padding: 4px 0;
  text-decoration :none;
}

.spMenu_logo {
    position: absolute;
    display: inline-block;
    top: 780px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 150px;
    padding-bottom: 100px;
}

body.active {
  height: 100%;
  overflow: hidden;
}

nav.globalMenuSp.active {
    height: 100%;
  overflow: auto;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100;

}

nav.globalMenuSp {

    visibility: hidden;
  }

  nav.globalMenuSp.active {
    opacity: 100;
    visibility: visible;
  }


 @media only screen and (max-width: 750px) {
    
 } 

/*mainvisual
-------------------------------------------------*/
.pc_mainvisual {
    width: 100vw;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 20px;
    text-align: center;
}

.pc_mainvisual img {
    width: 90vw;
}
.sp_mainvisual {
    width: 90vw;
    margin: 0 auto;
    padding-top: 35px;
}
.sp_mainvisual img{
    width: 90vw;
}

/*pick up
-------------------------------------------------*/
#top_pickup {
    width: 100vw;
    margin: 0 auto;
    margin-bottom: 120px;
}


/*スライダーの設定
-------------------------------------------------*/
.slider_container {
  margin: 30px auto 0;
  width: 100%;
}
/* 中央以外のスライド */
.slick-img img {
  height: auto;
  opacity: .3;
  transform: scale(.9);
  transition: opacity .5s, transform .7s;
  width: 95%;
}
/* 中央のスライド */
.slider .slick-center img {
  opacity: 1;
  transform: scale(1);
}

.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 48;
  color:#FB0000;
  vertical-align: -5px;
}

.slider .item_title {
    margin-top: 5px;
    color: #333;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 1.2px;
}


@media only screen and (max-width: 750px) {
    .slick-img {

    }

}

/*HASOKUYA
-------------------------------------------------*/
#top_hasokuya {
    background-color: var(--main-green);
    padding-top: 120px;
    padding-bottom: 120px;
}

#top_hasokuya > .top_hansokuyaWrap {
    max-width: 1100px;
    margin: 0 auto;
}

.top_hansokuyaWrap > .h2_read {
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    line-height: 2.2;
    letter-spacing: 1.3px;
    text-align: center;
}
.top_hansokuyaWrap > .h2_read_sp {
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    line-height: 2;
    letter-spacing: 1.3px;
    text-align: center;
}

.topBusiness_container > ul {
    margin-top: 60px;
    margin-bottom: 70px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.topBusiness_container > ul > li {
    width: 340px;
    margin-bottom: 30px;
}


.topProduct_container {
    background-color: #fff;
    padding-top: 80px;
    padding-bottom: 70px;
    border-radius: 18px;
}

.topProduct_container .top_h3 {
    font-size: 29px;
    color: #333;
    line-height: 2.2;
    letter-spacing: 2.5px;
    text-align: center;
    margin-bottom: 60px;
}
.topProduct_container > ul {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.topProduct_container > ul > .product_item {
    width: 310px;
}

.topProduct_container .product_item > .productImage {
    margin-bottom: 10px;
}

.topProduct_container dl {
    height: fit-content;
    padding-bottom: 40px;
    padding-top: 5px;
    color: #333;
}

.topProduct_container dl > dt {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1.3px;
    margin-bottom: 10px;
}

.topProduct_container dl > dt > a {
    color: #333;
    display: block;
}

.topProduct_container dl > dt img {
    padding-bottom: 3px;
    padding-right: 8px;
}
.topProduct_container dl > dd {
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 1.1px;
}

@media only screen and (max-width: 750px) {
    #top_hasokuya {
    background-color: var(--main-green);
    padding-top: 80px;
    padding-bottom: 100px;
}

    #top_hasokuya > .top_hansokuyaWrap {
    width: 90%;
    margin: 0 auto;
}
    .topBusiness_container > ul > li {
    width: 47%;
    margin-bottom: 20px;
}
}

/*WORKS
-------------------------------------------------*/
.topWorks_container {
    max-width: 1100px;
    margin: 0 auto;
}

.topWorks_container > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding-top: 30px;
}

.topWorks_container > ul > .works_item {
    width: 340px;
    margin-bottom: 60px;
}

.topWorks_container .worksImage a:hover {
    opacity: 0.7;
    transition: 0.25s;
}

.topWorks_container dl {
    margin-top: 20px;
}

.topWorks_container dl > dt {
    font-weight: 600;
}

.topWorks_container dl > dt::before{
  content:'■';
  color: var(--main-green);
  margin-right: 15px;
  font-size: 14px;
}

.topWorks_container dl > dd {
    font-size: 15px;
    color: #262626;
    font-weight: 300;
}

/*SERVICE
-------------------------------------------------*/
#top_service {
    margin-top: 50px;
    margin-bottom: 100px;
}

#top_service > .top_serviceWrap {
    max-width: 1500px;
    margin: 0 auto;
    background-color: #F0F0F0;
    padding: 30px 40px 100px 40px;
}

.top_serviceContainer {
    max-width: 1050px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.top_serviceContainer li {
    max-width: 480px;
    margin-bottom: 45px;
}

.top_serviceContainer li > img {
    box-shadow: 0px 7px 8px -5px #777777;
    border-radius: 10px;

}

.top_serviceContainer > .lp_linkBanner:hover {
    opacity: 0.7;
    transition: 0.25s;
}

@media only screen and (max-width: 750px) {
    #top_service > .top_serviceWrap {
    width: 100%;
}
#top_service .h2_heading_g {
    color: var(--main-green);
    text-align: center;
    margin-top: 60px;
    margin-bottom: 50px;
}

#top_service .h2_heading_g .h2_ja_sp {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 1.4px;
    line-height: 1.6;
}
}



/*CONTACT
-------------------------------------------------*/
#top_contact > .top_cttContainer {
    max-width: 960px;
    margin: 0 auto;
}

.top_cttContainer > .line_banner {
    margin-bottom: 40px;
}

.top_cttContainer > .line_banner > a:hover {
    opacity: 0.7;
    transition: 0.25s;
}

.top_cttContainer > .toiawase_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.top_cttContainer > .toiawase_area > .toiawase_item {
    width: 450px;
    height: 200px;
    margin: 0 auto;
    border: 2px solid #00B352;
    border-radius: 10px;
    text-align: center;
}

.top_cttContainer > .toiawase_area > .toiawase_item > .toiawase_heding {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: 1.8px;
    color: var(--main-green);
    margin-top: 35px;
    margin-bottom: 15px;
}
.top_cttContainer > .toiawase_area > .toiawase_item > .phone_number {
    margin-top: 15px;
    margin-bottom: 15px;
}
.top_cttContainer > .toiawase_area > .toiawase_item > .phone_number > a {
    font-size: 38px;
    font-weight: 800;
    letter-spacing: 2.5px;
    color: var(--main-green);
}

.top_cttContainer > .toiawase_area > .toiawase_item > .toiawase_read {
    font-size: 16px;
    letter-spacing: 1.5px;
    font-weight: 600;
    color: var(--main-green);
}

.top_cttContainer > .toiawase_area > .toiawase_item > .mail_linkBtn {
    max-width: 370px;
    margin: 0 auto;
    text-align: center;
    background-color: var(--main-green);
    margin-bottom: 10px;
}

.top_cttContainer > .toiawase_area > .toiawase_item > .mail_linkBtn > a {
    display: block;
    color: #fff;
    font-weight: 800;
    padding: 10px 0;
}

@media only screen and (max-width: 750px) {
    #top_contact > .top_cttContainer {
    width: 90%;
    margin: 0 auto;
}
    .line_banner_sp {
        width: 95%;
        margin: 0 auto;
        text-align: center;
        margin-bottom: 30px;
    }

    .top_cttContainer > .toiawase_area > .toiawase_item {
    width: 95%;
    margin-bottom: 30px;
}
}

/*INFORMATION
-------------------------------------------------*/
#top_information {
    margin-top: 50px;
    margin-bottom: 100px;
}

#top_information > .top_infoContainer {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.top_infoContainer > .info_item {
    max-width: 400px;
    margin-bottom: 40px;
}

.top_infoContainer > .info_item > a {
    color: #333;
    line-height: 1.6;
}
.top_infoContainer > .info_item > a:hover {
    opacity: 0.7;
    transition: 0.25s;
}

.top_infoContainer > .info_item .info_image > img {
    border-radius: 10px;
} 

.top_infoContainer > .info_item dl {
    margin-top: 10px;
}

.top_infoContainer > .info_item dl > dt {
    font-weight: 600;
    margin-bottom: 10px;
}

.top_infoContainer > .info_item dl > dd {
    font-weight: 200;
    letter-spacing: 1.3px;
}


/*---------------------------共通スタイル*/

/*見出し*/
.section_heading {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-size: 30px;
    letter-spacing: 1.5px;
     position: relative;
     display: inline-block;
     padding-bottom: 13px;
     margin-bottom: 60px;
     margin-top: 120px;
}
.section_heading:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;/*線の上下位置*/
  display: inline-block;
  width: 80px;/*線の長さ*/
  height: 3px;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);/*位置調整*/
  background-color: var(--main-red);/*線の色*/
  border-radius: 2px;/*線の丸み*/
}

.section_subHeading {
    width: 100%;
    margin: 0 auto;
    height: 62px;
    background-color: var(--main-green);
    color: #fff;
    text-align: center;
    font-size: 23px;
    font-weight: 600;
    letter-spacing: 3px;
    line-height: 2.7;
    margin-bottom: 30px;
}

.guideSection_read {
    color: var(--main-green);
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 1.3px;
    line-height: 1.9;
    margin-bottom: 60px;

}

/*ガイド枠*/
.guide_sec_inner {
    max-width: 100%;
    margin: 0 auto;
    border: 2px solid var(--main-green);
    padding-top: 50px;
    padding-bottom: 50px;
    border-radius: 15px;
}

/*---------------------------スマホ共通スタイル*/

.sub_mainvisual {
    background-color: var(--main-green);
    width: 100vw;
    height: 500px;
    position: relative;
}
.sub_mainTitle {
    width: fit-content;
    margin: 0 auto;
    padding-top: 100px;
    text-align: center;
    padding-bottom: 50px;
}

.sub_mainTitle div {
    width: 70px;
    margin: 0 auto;
    margin-bottom: 20px;
}

.sub_mainTitle h2 {
    font-size: 32px;
    color: #fff;
    letter-spacing: 2px;
}

.sub_mainvisual .sub_mainimage_pc {
    max-width: 960px;
    margin: 0 auto;

}

.subCotent {
    padding-top: 150px;
    max-width: 960px;
    margin: 0 auto;
    margin-bottom: 100px;
}


@media only screen and (max-width: 750px) {
    .sub_mainTitle {
        padding-bottom: 30px;
    }
    .sub_mainTitle h2 {
        font-size: 27px;
    }

    .sub_mainvisual .sub_mainimage_sp {
        text-align: center;
    }
    .sub_mainvisual .sub_mainimage_sp > img{
        width: 100%;
        margin: 0 auto;
        height: 300px;
        object-fit:cover;
    }

    .subCotent {
    padding-top: 100px;
    width: 90%;
    margin: 0 auto;
}

}


/*ご利用ガイド
-------------------------------------------------*/

#Guide_hNav .guide_nav_wrap{
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#Guide_hNav .guide_nav_wrap ul {
    width: 305px;
    text-align: center;
}

#Guide_hNav .guide_nav_wrap .guide_chapter {
    width: 305px;
    background-color: var(--main-green);
    height: 64px;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    line-height: 3.7;
    letter-spacing: 1.3px;
    margin-bottom: 10px;
}

#Guide_hNav .guide_nav_wrap .guide_chapter_nav {
    color: var(--main-green);
    font-weight: 600;
    letter-spacing: 1.1px;
    line-height: 1.9;
}

#Guide_sec01 {
    max-width: 1000px;
    margin: 0 auto;
}

.guide_about_images {
    width: fit-content;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 80px;
}

.guide_about_images li {
    width: 210px;
    margin: 0 10px;
}

.about_explainWrap {
    width: fit-content;
    margin: 0 auto;
}

.about_explainWrap dl {
    max-width: 820px;
    margin: 0 auto;
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
}

.about_explainWrap dt {
    background-color: #C14040;
    width: 100%;
    padding: 10px 0 10px 40px;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1.3px;
    border-radius: 8px;
    margin-bottom: 10px;
    position: relative;    
}

.about_explainWrap dt .iine_icon {
    width: 70px;
    position: absolute;
    top: -30px;
    left: -10px;
}

.about_explainWrap dt p {
    padding-left: 30px;
}

.about_explainWrap dd {
    padding: 0 10px;
    color: #333;
    line-height: 1.7;
}

.submit_explainWrap {
    max-width: 880px;
    margin: 0 auto;
    margin-top: 60px;
}

.submit_explainWrap .explain_heading {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
    color: var(--main-green);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1.3px;
    border-bottom: 1px solid var(--main-green);
    padding-bottom: 10px;
    margin-bottom: 30px;
}

.submit_explainWrap .exArea {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px;
}

.exArea .ex_images {
    width: 350px;
}

.exArea .ex_read {
    max-width: 500px;
    padding-left: 30px;
}

.exArea .ex_read p {
    font-size: 16px;
}

.ex_read p .mail_link_honbun a {
    color: var(--main-red);
}

.ex_read p .line_link_honbun a {
    color: var(--main-red);
}

.ex_read p .line_link_honbun img {
    margin-top: 10px;
}

.line_explainArea {
    width: 100%;
    margin: 0 auto;
    background-color: #F5F5F5;
    padding: 30px 20px;
    margin-bottom: 70px;
}

.line_ex_title {
    font-weight: 600;
    margin-bottom: 20px;
    font-size: 18px;
}

.line_ex_txt {
    margin-bottom: 40px;
}

.line_detail_flow {
    display: flex;
    flex-wrap: wrap;
}

.line_detail_flow dl {
    width: 230px;
    margin-right: 30px;
}

.line_detail_flow dt p{
    font-size: 20px;
    font-weight: 800;
}

.line_detail_flow dd {
    font-size: 15px;
    line-height: 1.6;
    margin-top: 15px;
}

#Guide_sec02_2 {
    margin-top: 100px;
}


.data_read {
    max-width: 880px;
    margin: 0 auto;
    font-size: 19px;
    font-weight: 600;
    color: var(--main-green);
    padding-bottom: 8px;
    border-bottom: 2px solid var(--main-green);
    margin-bottom: 25px;
}

.data_exArea {
    max-width: 880px;
    margin: 0 auto;
}

.data_exArea dl {
    margin-bottom: 25px;
}

.data_exArea dl:nth-child(5){
    margin-bottom: 0;
}

.data_exArea dl dt {
    font-size: 18px;
    font-weight: 600;
    color: var(--main-green);
    letter-spacing: 1.3px;
}

#Guide_Flow {
    max-width: 880px;
    margin: 0 auto;
}

#Guide_Flow .section_heading_read {
    color: var(--main-green);
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 1.3px;
    line-height: 1.9;
    margin-bottom: 60px;
}

.flow_inner {
    width: 100%;
    margin: 0 auto;
    margin-top: 50px;
}

.flow_item {
    width: 100%;
    padding: 30px 30px;
    background-color: #F5F5F5;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 80px;
}
.flow_item dl {
    position: relative;
    max-width: 430px;
}

.flow_item dl dt {
    margin-top: 50px;
    font-size: 18px;
    font-weight: 600;
    color: var(--main-green);
    margin-bottom: 15px;
}

.flow_item div img{
    max-width: 350px;
}

.flow_item .flow_item1::before{
    content: "";
    display: inline-block;
    background-image: url("../images/step1.svg");
    background-size: cover;
    width: 100px;
    height: 100px;
    position: absolute;
    top: -60px;
    left: 0;
}

.flow_item .flow_item2::before{
    content: "";
    display: inline-block;
    background-image: url("../images/step2.svg");
    background-size: cover;
    width: 100px;
    height: 100px;
    position: absolute;
    top: -60px;
    left: 0;
}

.flow_item .flow_item3::before{
    content: "";
    display: inline-block;
    background-image: url("../images/step3.svg");
    background-size: cover;
    width: 100px;
    height: 100px;
    position: absolute;
    top: -60px;
    left: 0;
}

.flow_item .flow_item4::before{
    content: "";
    display: inline-block;
    background-image: url("../images/step4.svg");
    background-size: cover;
    width: 100px;
    height: 100px;
    position: absolute;
    top: -60px;
    left: 0;
}

.flow_item .flow_item5::before{
    content: "";
    display: inline-block;
    background-image: url("../images/step5.svg");
    background-size: cover;
    width: 100px;
    height: 100px;
    position: absolute;
    top: -60px;
    left: 0;
}

.flow_item3 .data_link {
    color: #333;
    border-bottom: 1px solid #333;
}

.flow_item4 .flow_link {
    color: var(--main-green);
    font-weight: 600;
    margin-top: 10px;
}

@media only screen and (max-width: 750px) {
#Guide_hNav .guide_nav_wrap ul {
    width: 305px;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 20px;
}
#Guide_sec01 {
    max-width: 100%;
    margin: 0 auto;
}
.section_heading {
    font-size: 27px;
    margin-top: 80px;
}

.section_subHeading {
    font-size: 20px;
    line-height: 3;
}

.guide_sec_inner {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 30px;
    padding-bottom: 10px;
}

.guideSection_read {
    font-size: 16px;
    letter-spacing: 0.8px;
    line-height: 1.8;
    margin-bottom: 60px;
    text-align: left;
}

.guide_about_images li {
   margin-bottom: 20px;
}

.about_explainWrap dt {
    padding: 10px 10px 10px 40px;
}

.exArea .ex_images {
    width: 350px;
    margin: 0 auto;
    margin-bottom: 20px;
}
.line_detail_flow {
    width: 100%;
    margin: 0 auto;
}
.line_detail_flow dl {
    width: 300px;
    margin: 0 auto;
    margin-bottom: 20px;
}

.data_read {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.7;
    margin-bottom: 20px;
}
.data_exArea dl dt {
    font-size: 17px;
    line-height: 1.6;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.data_exArea dl dd {
    font-size: 15px;
    line-height: 1.7;

}

.data_exArea {
    margin-bottom: 30px;
}

#Guide_Flow .section_heading_read {
    color: var(--main-green);
    font-size: 17px;
    letter-spacing: 0.8px;
    line-height: 1.8;
    margin-bottom: 60px;
    text-align: left;
}

.flow_item {
    width: 100%;
    padding: 10px 10px 25px 10px;
    display: block;
    margin-bottom: 80px;
}
.flow_item .flow_item1::before {
    top: -110px;
    left: 0;
}

.flow_item .flow_item2::before {
    top: -110px;
    left: 0;
}
.flow_item .flow_item3::before {
    top: -110px;
    left: 0;
}

.flow_item .flow_item4::before {
    top: -110px;
    left: 0;
}

.flow_item .flow_item5::before {
    top: -110px;
    left: 0;
}


.flow_item dl dd {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 15px;
}

.flow_item div{
    width: 310px;
    margin: 0 auto;
}

.flow_item div img {
     width: 310px;
}
}

/*よくある質問
-------------------------------------------------*/
#Faq_section .section_heading {
    margin-top: 60px;
    margin-bottom: 70px;
}

.faqSection_read {
    margin-bottom: 40px;
}

.faq_wrap {
    margin-bottom: 150px;
}

.faq_wrap dl {
    margin-bottom: 40px;
}

.faq_wrap dl dt {
    width: 100%;
    background-color: #E1F2E8;
    padding: 15px 20px;
}

.faq_wrap dl .question::before {
    content: "Q.";
    color: var(--main-green);
    font-weight: 800;
    font-size: 30px;
    margin-right: 15px;
}

.faq_wrap dl dd {
    width: 100%;
    background-color: #FDF5F6;
    padding: 15px 20px;
}

.faq_wrap dl .answer::before {
    content: "A.";
    display: inline-block;
    color: var(--main-red);
    font-weight: 800;
    font-size: 30px;
    margin-right: 15px;
}

.faq_wrap dl .answer .answer_1link {
    border-bottom: 1px solid var(--main-red);
    color: var(--main-red);
}





/*footer
-------------------------------------------------*/
footer {
    width: 100vw;
    background-color: var(--main-red);
}
.footer_wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 30px 20px;
}

.footer_wrap > .footer_menu {
}

.footer_wrap > .footer_menu > h6 {
    font-size: 17px;
    font-weight: 600;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    margin-bottom: 15px;
    color: #fff;
}

.footer_menuContainer {
    display: flex;
    flex-wrap: wrap;
    color: #fff;
}

.footer_menuContainer > ul > li {
    font-size: 15px;
    margin-right: 50px;
}

.footer_menuContainer > ul > li > a {
    color: #fff;
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: 1.4px;
}
.footer_nav {
    margin-top: 40px;
}
.footer_nav > .footer_navWrap {
    display: flex;
    flex-wrap: wrap;
}
.footer_navWrap > li {
    margin-right: 20px;
}

.footer_navWrap > li > a {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1.2px;
}

.footer_bottomArea {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;

}
.footer_bottomArea > .footer_logo {
    width: 220px;
}

.footer_bottomArea > p > small {
    color: #fff;
    font-size: 14px;
    letter-spacing: 1.3px;
}

@media only screen and (max-width: 750px){
    .footer_wrap {
    width: 85%;
    margin: 0 auto;
    padding: 30px 20px;
}
.footer_menuContainer > ul > li {
    font-size: 14px;
    margin-right: 50px;
}

.footer_bottomArea > .footer_logo {
    width: 180px;
}

}

#sp-fixed-menu{
   position: fixed;
   z-index : 100;
   width: 100%;
   bottom: 0px;
   font-size: 0;
   opacity: 0.9;
   z-index: 99;
}

/*メニューを横並びにする*/
#sp-fixed-menu ul{
   display: flex;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
}

#sp-fixed-menu li{
   justify-content: center;
   align-items: center;
   width: 50%;
   padding:0;
   margin:0;
   font-size: 15px;
   font-weight: 700;
   border-right: 1px solid #fff;
}

/*左側メニューを緑色に*/
#sp-fixed-menu li:first-child{
   background: #26953D;
}

#sp-fixed-menu li img {
    margin-right: 5px;
}

/*左側メニューをオレンジ色に*/
#sp-fixed-menu li:last-child{
   background: #B90D17;
}

/*ボタンを調整*/
#sp-fixed-menu li a{
   color: #fff;
   text-align: center;
   display:block;
   width: 100%;
   padding:15px 0;
}



/*--------------------詳細ページのスタイル*/

/*パンくずリスト（詳細ページのみ）*/
.Breadcrumb {
  background: #E2E2E2;
  color: #333;
  padding: 0.7em;
}
.Breadcrumb-ListGroup {
  display: flex;
}
.Breadcrumb-ListGroup-Item-Link {
    color: #333;
}
.Breadcrumb-ListGroup-Item-Link[href]:hover {
  opacity: 0.5;
}
.Breadcrumb-ListGroup > * + * {
  margin-left: 0.5em;
}
.Breadcrumb-ListGroup > * + *::before {
  content: ">";
  margin-left: 0.75em;
  margin-right: 0.75em;
}


/*お知らせ詳細ページ*/
.detailCotent {
    margin-bottom: 100px;
}

.info_wrap {
    max-width: 990px;
    margin: 0 auto;
    margin-top: 100px;
    margin-bottom: 200px;
}

.info_wrap .info_title {
    margin-bottom: 50px;
}

.info_title .info_h2 {
    font-size: 22px;
    font-weight: 600;
    padding-bottom: 15px;
    border-bottom: 1px solid #333;
    padding-left: 10px;
}

.info_title .info_date {
    color: ;
    padding-left: 10px;
    letter-spacing: 1.2px;
    color: #6E6E6E;
}

.info_imageArea {
    max-width: 720px;
    margin: 0 auto;
}

@media only screen and (max-width: 750px){
    .detailCotent {
        width: 100%;
        margin: 0 auto;
    }
    .Breadcrumb {
    margin-top: 70px;
    padding-left: 20px;
}
.info_wrap {
    width: 90%;
    margin: 0 auto;
    margin-top: 40px;
    margin-bottom: 100px;
}
.info_wrap .info_title {
    margin-bottom: 30px;
}
.info_title .info_h2 {
    font-size: 20px;
    text-align: 1.7;
    padding-left: 5px;
}

.info_title .info_date {
    font-size: 14px;
}
.info_txtArea {
    margin-top: 20px;
}

.info_linkItem {
    margin-top: 30px;
}
}


/*実績紹介詳細ページ*/

.works_wrap {
    max-width: 990px;
    margin: 0 auto;
    margin-top: 100px;
    margin-bottom: 200px;
}

.works_imageDetail_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.works_text_container {
    width: 450px;
}

.works_textTitle .works_h2 {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.8;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--main-green);
    margin-bottom: 10px;
}

.works_textTitle .works_date {
    font-size: 14px;
    color: #6E6E6E;
    letter-spacing: 1.2px;
}

/*----------------------------スライダー*/

/* 選択されていないサムネイルは薄くする */
.splide__slide {
  opacity: .6;
}
/* 選択されているサムネイルだけ透過しない */
.splide__slide.is-active {
  opacity: 1;
}
/* 画像サイズ調整 */
.splide__slide img {
  height: auto;
  width: 100%;
}
/* スライダーの幅 */
.wrapper {
  margin-inline: auto;
  max-width: 480px;
  width: 100%;
}

div.splide__arrows {
    display: none;
}

#thumbnail-carousel {
    margin-top: 20px;
}

.works_linkItem {
    margin-top: 20px;
}

@media only screen and (max-width: 750px){
    .works_wrap {
    width: 90%;
    margin: 0 auto;
    margin-top: 40px;
    margin-bottom: 100px;
}
.works_imageDetail_wrap {
    flex-direction: column-reverse
}
.works_text_container {
    margin-bottom: 30px;
}
.wrapper {
    width: 100%;
    margin: 0;
}


}


















