@charset "UTF-8";

/*--------------------------------------------------------------------
 *	共通の記述
 *--------------------------------------------------------------------*/
header .wrap {
	background-color: transparent;
}
#home .detail_link {
    background-color: #006837;
    border-radius: 20px;
    text-align: center;
    opacity: 1;
    -webkit-transition: 0.1s ease-in-out;
    transition: 0.1s ease-in-out;
}
#home .detail_link:hover {
    opacity: 0.8;
}
#home .detail_link a{
    display: block;
    width: 100%;
    height: 100%;
}

#home #area_01 .challenge_01:hover,
#home #area_01 .challenge_02:hover,
#home #area_01 .challenge_03:hover,
#home #area_01 .challenge_04:hover {
    background-color: #006837;
    color: #fff;
    transition: background-color 0.5s ease;
}
#home #area_01 .challenge_01:hover .part_num p,
#home #area_01 .challenge_02:hover .part_num p,
#home #area_01 .challenge_03:hover .part_num p,
#home #area_01 .challenge_04:hover .part_num p {
    background-color: #fff;
    color: #006837;
}

#home #area_05 .news dd a {
    color: #006837;
    /* border-bottom: 0.5px solid #333; */
    text-decoration: underline 0.5px;
    text-underline-offset: 0.2em;
}

/*--------------------------------------------------------------------
 *	768px未満用（SP用）の記述
 *--------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

/* ◆ Home */
#home #top_panel {
    position: relative;
}
#home #top_panel .headline {
    position: absolute;
    top: 0;
    padding-top: 10%;
    width: 90%;
}
#home #top_panel .panel img {
    display: block;
    width: 100%;
    height: auto;
}
#home #top_panel .headline h1 {
    font-size: 10.66666667vw;
    letter-spacing: -0.05em;
    margin: 10% 0 0 7%;
}
#home #top_panel .headline .ttl_en {
    font-size: 5.333333333vw;
    margin: 0 0 0 9%;
}
#home h2 {
    margin: 0 auto;
    padding-top: 20%;
    font-size: 6.666666667vw;
    color: #333;
}
#home #area_01 .ttl_en,
#home #area_02 .ttl_en,
#home #area_03 .ttl_en,
#home #area_04 .ttl_en,
#home #area_05 .ttl_en,
#home #area_06 .ttl_en {
    margin: 0 0 10% 0;
    font-size: 4.666666667vw;
}
#home #area_01 .ttl_en,
#home #area_06 .ttl_en {
    /* margin: 0 0 10% 0; */
}
#home #area_01,
#home #area_02,
#home #area_03,
#home #area_04,
#home #area_05,
#home #area_06 {
    width: 100%;
    margin: 0 auto;
}
#home #area_01 .menu,
#home #area_02 .menu,
#home #area_03 .menu,
#home #area_04 .menu,
#home #area_05 .menu,
#home #area_06 .menu {
    width: 80%;
    margin: 0 auto;
}


/* ◇ Home - Challenges Ahead */
#home #area_01 .challenge_01,
#home #area_01 .challenge_02,
#home #area_01 .challenge_03,
#home #area_01 .challenge_04 {
    width: 100%;
    margin: 10% 0;
    box-shadow: 0 0 15px #bfbfbf;
}
#home #area_01 .challenge_04 {
    margin-bottom: 30%;
}
#home #area_01 .container {
    padding: 1% 0 0 0;
}
#home #area_01 .part_num {
    width: 96.5%;
    margin-top: 2%;
    font-size: 3.333333333vw;
}
#home #area_01 .part_num p {
    background-color: #006837;
    border-radius: 0 35px 35px 0;
    padding-left: 3.5%;
    line-height: 1.3;
}
#home #area_01 .part_num span {
    font-size: 6.666666667vw;
}
#home #area_01 .detail {
    display: flex;
    flex-direction: column-reverse;
}
#home #area_01 .detail h3 {
    margin: 2.5% 0 0 3.5%;
    font-size: 6.666666667vw;
}
#home #area_01 .detail ul {
    margin-top: 0;
}
#home #area_01 .detail li {
    margin: 0 0 0 2.5%;
    list-style: disc;
    font-size: 3.466666667vw;
}
#home #area_01 .about_img {
    width: 93%;
    margin: 0 auto;
}


/* ◇ Home - Solutions by Impact */
#home #area_02 h2 {
    letter-spacing: -0.06em;
}
#home #area_02 h2 .spacing {
    letter-spacing: -0.12em;
}
#home #area_02 .ttl_en {
    margin-bottom: 4%;
}
#home #area_02 .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    padding-bottom: 30%;
}
#home #area_02 .solutions {
    width: 48%;
    height: 100%;
    margin: 4% 0 0;
    background-color: #fff;
    box-shadow: 0 0 15px #bfbfbf;
}
#home #area_02 .solutions img {
    width: 100%;
    border-radius: 20px 20px 0 0;
}
#home #area_02 .solutions .category {
    height: 16vw;
}
#home #area_02 .solutions h4 {
    margin: 5% auto 0 6%;
    font-size: 4.8vw;
    line-height: 1.2;
}
#home #area_02 .solutions .ttl_en {
    font-size: 3.3vw;
    margin: 0 0 0 6%;
}
#home #area_02 .evnt_point {
    margin-left: 6%;
    font-size: 3vw;
}
#home #area_02 .evnt_point dt {
    width: 42%;
    margin: 0;
    padding: 0;
    border: 1.5px solid #006837;
    border-radius: 3.467vw;
    text-align: center;
}
#home #area_02 .evnt_point dd {
    margin: 2% 0 6% 1%;
    line-height: 1.4;
}
#home #area_02 .evnt_case {
    border-radius: 0 15px 15px 0;
}
#home #area_02 .evnt_case {
    margin-bottom: 10%;
    width: 94%;
    height: 25vw;
} 
#home #area_02 .evnt_case dl {
    padding: 3% 0;
}
#home #area_02 .evnt_case dt {
    margin: 0;
    padding: 0 0 0 6%;
    font-size: 3vw;
}
#home #area_02 .evnt_case dd {
    margin: 0 0 0 7%;
    letter-spacing: -0.05em;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 2.8vw;
}
#home #area_02 .evnt_case dd span{
    display: inline-block;
    width: 2.5%;
    margin-left: 7%;
}
#home #area_02 .detail_link {
    position: relative;
    width: 80%;
    margin: 10% auto;
    padding: 1.5%;
}
#home #area_02 .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: 2.2vw;
    height: 2.2vw;
    top: 0;
    left: 87%;
    margin-top: 6%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#home #area_02 .detail_link a {
    font-size: 2.6vw;
}


/* ◇ Home - Service Flow */
#home #area_03 h2 {
    line-height: 1.2;
}
#home #area_03 .service {
    margin: 0 auto 42%;
    font-size: 3.466666667vw;
}
#home #area_03 .menu img {
    filter: drop-shadow(0 0 15px #bfbfbf);
}
#home #area_03 .service .category {
    margin: 0;
    text-align: center;
    font-size: 5.333333333vw;
    line-height: 3;
}
#home #area_03 .service .caption {
    margin: 0;
    font-size: 3vw;
    line-height: 1.4;
    letter-spacing: -0.01em;
}
#home #area_03 .service {
    position: relative; /* z-indexの有効化 */
    z-index: 10;
    width: 80%;
}
#home #area_03 .menu {
    position: relative;
}
#home #area_03 .flow_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin-top: 58%;
}
#home #area_03 .service .flow_01 {
    padding: 30% 0 0;
    aspect-ratio: 2/1;
}
#home #area_03 .service .flow_02 {
    padding: 35% 0 0;
    color: #333;
    aspect-ratio: 2/1;
}
#home #area_03 .service .flow_03 {
    padding: 35% 0 0;
    aspect-ratio: 2/1;
}
#home #area_03 .service .flow_04 {
    padding: 35% 0 0;
    color: #333;
    aspect-ratio: 2/1;
}


/* ◇ Home - Achievements */
#home #area_04 .achievements {
    padding-bottom: 26%;
}
#home #area_04 .ttl_en {
    margin-bottom: 9%;
}
#home #area_04 .achievements .point_01,
#home #area_04 .achievements .point_02,
#home #area_04 .achievements .point_03,
#home #area_04 .achievements .point_04 {
    margin: 5% auto;
    padding: 6% 0 9%;
    background-color: #fff;
    box-shadow: 0 0 15px #bfbfbf;
}
#home #area_04 .achievements .point_01 {
    position: relative;
}
#home #area_04 .achievements .point_01::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 6%;
    margin-top: 8%;
    background: url(/common/images/icon_project.png);
}
#home #area_04 .achievements .point_02 {
    position: relative;
}
#home #area_04 .achievements .point_02::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 6%;
    margin-top: 8%;
    background: url(/common/images/icon_circle.png);
}
#home #area_04 .achievements .point_03 {
    position: relative;
}
#home #area_04 .achievements .point_03::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 6%;
    margin-top: 8%;
    background: url(/common/images/icon_people.png);
}
#home #area_04 .achievements .point_04 {
    position: relative;
}
#home #area_04 .achievements .point_04::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 6%;
    margin-top: 8%;
    background: url(/common/images/icon_profit.png);
}
#home #area_04 .achievements .point_01::before,
#home #area_04 .achievements .point_02::before,
#home #area_04 .achievements .point_03::before,
#home #area_04 .achievements .point_04::before {
    width: 22vw;
    height: 22vw;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#home #area_04 .achievements .item {
    margin-left: 37%;
}
#home #area_04 .achievements .category {
    margin: 0;
    font-size: 4.2vw;
}
#home #area_04 .achievements .record {
    display: inline-block;
    margin: 0;
    font-size: 16.5vw;
    line-height: 1;
    letter-spacing: 0.05em;
    border-bottom: 3px solid #006837;
}
#home #area_04 .achievements .record .symbol {
    font-size: 9.5vw;
    
}
#home #area_04 .achievements .point_01 .record {
    letter-spacing: -0.01em;
}


/* ◇ Home - News */
#home #area_05 .news {
    width: 100%;
    margin: 4% auto 20%;
    font-size: 3vw;
    color: #333;
}
#home #area_05 .news .container {
    margin-bottom: 2%;
    border-bottom: 1px dotted #006837;
}
#home #area_05 .news dt {
    margin: 0;
    padding-left: 1%;
}
#home #area_05 .news dd {
    margin-left: 1%;
    margin-bottom: 3%;
    line-height: 1.7;
}
#home #area_05 .detail_link {
    position: relative;
    width: 50%;
    margin: 8% auto;
    padding: 1.5%;
    border-radius: 50px;
}
#home #area_05 .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: 2.2vw;
    height: 2.2vw;
    top: 0;
    left: 86%;
    margin-top: 7%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#home #area_05 .detail_link a {
    font-size: 2.6vw;
    color: #fff;
}


/* ◇ Home - Contact */
#home #area_06 {
    padding-bottom: 24%;
}
#home #area_06 .contact {
    padding-bottom: 1%;
}
#home #area_06 .contact {
    background-color: #006837;
    font-size: 5.333333333vw;
    padding: 8% 0;
}
#home #area_06 .contact p {
    margin: 0;
    line-height: 1.5;
    font-size: 5.333333333vw;
}
#home #area_06 .contact .tel,
#home #area_06 .contact .email {
    width: 60%;
    margin: 5% 0 0 35%;
    text-align: center;
}
#home #area_06 .contact .category {
    margin: 0;
    font-size: 4vw;
}
#home #area_06 .contact .notice {
    width: 64%;
    margin: 3% auto;
    text-align: center;
    border-radius: 20px;
    background-color: #fff;
    color: #006837;
    font-size: 3.466666667vw;
}
#home #area_06 .contact {
    position: relative;
}
#home #area_06 .contact::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 8%;
    margin-top: 14%;
    background: url(/common/images/icon_tel.png);
}
#home #area_06 .contact::after {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 8%;
    margin-top: 45%;
    background: url(/common/images/icon_mail.png);
}
#home #area_06 .contact::before,
#home #area_06 .contact::after {
    width: 20vw;
    height: 20vw;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#home #area_06 .contact .info {
    margin: 10% auto 0;
    text-align: center;
    border-radius: 5px;
}
#home #area_06 .contact .info a {
    display: block;
    width: 80%;
    height: 100%;
    margin: 0 auto;
    transition: tramsform 1s ease-in-out;
    transform-origin: center center;
}
#home #area_06 .contact .info a:hover {
    transform: scale(0.95);
}


/* 768px未満用（SP用）の記述 end -------------------------------------*/
}



/*--------------------------------------------------------------------
 *	768px以上用（PC用）の記述
 *--------------------------------------------------------------------*/
@media screen and (min-width: 768px), print {

/* ◆ Home */
#home #top_panel {          /* パネルもmax=1400pxでそれ以上は余白*/
    position: relative;
    width: clamp(100%, 100vw, 1200px);
    margin: 0 auto;
}
#home #top_panel .panel img {
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
}
#home #top_panel .headline {
    position: absolute;
    top: 0;
    padding-top: 44%;
    width: 100%;
    line-height: 1.2;
    /* text-shadow: 1px 1px 5px #999, -1px -1px 5px #999, 1px -1px 5px #999, -1px 1px 5px #999; */
}
#home #top_panel .headline h1 {
    font-size: clamp(66.85714286px, 5.571428571vw, 78px);
    letter-spacing: -0.01em;
    margin: 0 0 0 6%;
}
#home #top_panel .headline .ttl_en {
    font-size: clamp(30.85714286px, 2.571428571vw, 36px);
    margin: 0.5% 0 0 7%;
}
#home h2 {
    margin: 0 auto;
    padding-top: 10%;
    font-size: clamp(41.14285714px, 3.428571429vw, 48px);
    color: #333;
}
#home .menu {
    width: 86%;
    margin: 0 auto;
}
#home #area_01,
#home #area_02,
#home #area_03,
#home #area_04,
#home #area_05,
#home #area_06 {
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
}
#home #area_01 .ttl_en,
#home #area_02 .ttl_en,
#home #area_03 .ttl_en,
#home #area_04 .ttl_en,
#home #area_05 .ttl_en,
#home #area_06 .ttl_en {
    margin: 0;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
}


/* ◇ Home - Challenges Ahead */
#home #area_01 .challenges {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 4% auto 8%;
}
#home #area_01 .challenge_01,
#home #area_01 .challenge_02,
#home #area_01 .challenge_03,
#home #area_01 .challenge_04 {
    width: 48%;
    box-shadow: 0 0 15px #bfbfbf;
    margin-bottom: 4%;
}
#home #area_01 .container {
    padding: 1% 0 0 0;
}
#home #area_01 .part_num {
    width: 96.5%;
    margin-top: 2%;
    font-size: clamp(21.42857143px, 1.785714286vw, 25px);
}
#home #area_01 .part_num p {
    background-color: #006837;
    border-radius: 0 35px 35px 0;
    padding-left: 3.5%;
    line-height: 1.3;
}
#home #area_01 .part_num span {
    font-size: clamp(42.85714286px, 3.571428571vw, 50px);
}
#home #area_01 .detail {
    display: flex;
}
#home #area_01 .detail h3 {
    margin: 2.5% 0 0 5%;
    font-size: clamp(30.85714286px, 2.571428571vw, 36px);
    line-height: 1.2;
}
#home #area_01 .detail ul {
    margin: 5% auto 5% 10%;
}
#home #area_01 .detail li {
    margin: 0 0 0 2.5%;
    list-style: disc;
    font-size: clamp(13.71428571px, 1.142857143vw, 16px);
}
#home #area_01 .about {
    width: 60%;
}
#home #area_01 .about_img {
    width: 40%;
    margin: 2% 4% 5% 0;
    overflow: hidden;
}


/* ◇ Home - Solutions by Impact */
#home #area_02 .ttl_en {
    margin-bottom: 1%;
}
#home #area_02 .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    padding-bottom: 12%;
}
#home #area_02 .solutions {
    width: 31.5%;
    height: 100%;
    margin: 3% 0 0;
    background-color: #fff;
    box-shadow: 0 0 15px #bfbfbf;
}
#home #area_02 .solutions img {
    width: 100%;
    border-radius: 20px 20px 0 0;
}
#home #area_02 .solutions .category {
    height: clamp(120px, 10vw, 140px);
}
#home #area_02 .solutions h4 {
    margin: 5% auto 0 5%;
    font-size: clamp(30.85714286px, 2.571428571vw, 36px);
    line-height: 1.2;
}
#home #area_02 .solutions .ttl_en {
    font-size: clamp(20.57142857px, 1.714285714vw, 24px);
    margin: 0 0 0 5%;
}
#home #area_02 .evnt_point {
    margin-left: 5%;
    height: clamp(120px, 10vw, 140px);
    font-size: clamp(13.71428571px, 1.142857143vw, 16px);
}
#home #area_02 .evnt_point dl {
    margin: 0;
}
#home #area_02 .evnt_point dt {
    float: left;
    width: 24%;
    margin: 0;
    padding: 0;
    border: 1.5px solid #006837;
    border-radius: 20px;
    text-align: center;
}
#home #area_02 .evnt_point dd {
    margin: 0 0 0.6em;
    padding-left: 28%;
    line-height: 1.7;
}
#home #area_02 .evnt_case {
    border-radius: 0 15px 15px 0;
}
#home #area_02 .evnt_case {
    margin-bottom: 10%;
    width: 94%;
} 
#home #area_02 .evnt_case dl {
    padding: 3% 0;
}
#home #area_02 .evnt_case dt {
    margin: 0;
    padding: 0 0 0 6%;
    font-size: clamp(13.71428571px, 1.142857143vw, 16px);
}
#home #area_02 .evnt_case dd {
    margin: 0 0 0 7%;
    letter-spacing: -0.05em;
    padding-left: 1em;
    text-indent: -1em;
    font-size: clamp(13.71428571px, 1.142857143vw, 16px);
}
#home #area_02 .evnt_case dd span{
    display: inline-block;
    width: 2.5%;
    margin-left: 7%;
}
#home #area_02 .detail_link {
    position: relative;
    width: 80%;
    margin: 10% auto;
    padding: 2%;
}
#home #area_02 .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: 16px;
    height: 16px;
    top: 0;
    left: 90%;
    margin-top: 5%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#home #area_02 .detail_link a {
    font-size: clamp(13.71428571px, 1.142857143vw, 16px);
}


/* ◇ Home - Service Flow */
#home #area_03 h2 {
    line-height: 1.2;
}
#home #area_03 .ttl_en {
    margin-top: 1%;
    margin-bottom: 4%;
}
#home #area_03 .service {
    position: relative;         /* z-indexの有効化 */
    margin: 0 auto 51%;
    font-size: clamp(24px, 2vw, 28px);
    z-index: 10;
}
#home #area_03 .menu {
    position: relative;
}
#home #area_03 .menu .flow_img {
    position: absolute;
    top: 0;
    left: 0;
    margin: 24% 0 0;
    filter: drop-shadow(0 0 15px #bfbfbf);
}
#home #area_03 .service .category {
    font-size: clamp(29.14285714px, 2.428571429vw, 34px);
    margin-bottom: 0;
    line-height: 1.2;
}
#home #area_03 .service .caption {
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.4;
    letter-spacing: -0.01em;
}
#home #area_03 .service .flow_01,
#home #area_03 .service .flow_02,
#home #area_03 .service .flow_03,
#home #area_03 .service .flow_04 {
    position: absolute;
    top: 0;
    left: 0;
    width: 20%;
}
#home #area_03 .service .flow_01 {
    margin: 10.5% 0 0 3%;
}
#home #area_03 .service .flow_02 {
    margin: 12.5% 0 0 27.5%;
    color: #333;
}
#home #area_03 .service .flow_03 {
    margin: 12.5% 0 0 52.5%;
}
#home #area_03 .service .flow_04 {
    margin: 10.5% 0 0 78%;
    color: #333;
}
#home #area_03 .service .flow_01 .category,
#home #area_03 .service .flow_04 .category {
    margin-left: 17%;
}
#home #area_03 .service .flow_01 .caption,
#home #area_03 .service .flow_04 .caption {
    margin-top: 18%;
}
#home #area_03 .service .flow_02 .category,
#home #area_03 .service .flow_03 .category {
    margin-left: 12%;
}
#home #area_03 .service .flow_02 .caption,
#home #area_03 .service .flow_03 .caption {
    margin-top: 26%;
}


/* ◇ Home - Achievements */
#home #area_04 .achievements {
    padding-bottom: 12%;
    border-radius: 20px;
}
#home #area_04 .points {
    display: flex;
    flex-wrap: wrap;
    margin: 4% auto 0;
    padding: 4% 0 0;
    background-color: #fff;
    box-shadow: 0 0 15px #bfbfbf;
}
#home #area_04 .achievements .point_01 {
    order: 1;
    position: relative;
    width: 50%;
}
#home #area_04 .achievements .point_01::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 9%;
    background: url(/common/images/icon_project.png);
}
#home #area_04 .achievements .point_02 {
    order: 3;
    position: relative;
    width: 50%;
}
#home #area_04 .achievements .point_02::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 9%;
    background: url(/common/images/icon_circle.png);
}
#home #area_04 .achievements .point_03 {
    order: 2;
    position: relative;
    width: 50%;
}
#home #area_04 .achievements .point_03::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 9%;
    background: url(/common/images/icon_people.png);
}
#home #area_04 .achievements .point_04 {
    order: 4;
    position: relative;
    width: 50%;
}
#home #area_04 .achievements .point_04::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 9%;
    background: url(/common/images/icon_profit.png);
}
#home #area_04 .achievements .point_01::before,
#home #area_04 .achievements .point_02::before,
#home #area_04 .achievements .point_03::before,
#home #area_04 .achievements .point_04::before {
    width: clamp(137.1428571px, 11.42857143vw, 160px);
    height: clamp(137.1428571px, 11.42857143vw, 160px);
    margin-top: 1%;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#home #area_04 .achievements .item {
    margin: 0 auto 10% 40%;
}
#home #area_04 .achievements .category {
    margin: 0;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
}
#home #area_04 .achievements .record {
    display: inline-block;
    margin: 0;
    font-size: clamp(102.8571429px, 8.571428571vw, 120px);
    line-height: 1;
    letter-spacing: 0.05em;
    border-bottom: 3px solid #006837;
}
#home #area_04 .achievements .record .symbol {
    font-size: clamp(65.14285714px, 5.428571429vw, 76px);
}
#home #area_04 .achievements .point_01 .record {
    letter-spacing: -0.01em;
}


/* ◇ Home - News */
#home #area_05 .news {
    width: 90%;
    margin: 4% auto 12%;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #333;
}
#home #area_05 .news .container {
    margin-bottom: 2%;
    border-bottom: 1px dotted #006837;
}
#home #area_05 .news dt {
    float: left;
    width: 15%;
    margin: 0;
    padding-left: 1%;
}
#home #area_05 .news dd {
    margin-bottom: 2%;
    padding-left: 15%;
    line-height: 1.7;
}
#home #area_05 .detail_link {
    position: relative;
    width: 32%;
    margin: 4% auto;
    padding: 1.5%;
    border-radius: 50px;
}
#home #area_05 .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: clamp(22.28571429px, 1.857142857vw, 26px);
    height: clamp(22.28571429px, 1.857142857vw, 26px);
    top: 0;
    left: 86%;
    margin-top: 7%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#home #area_05 .detail_link a {
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #fff;
}


/* ◇ Home - Contact */
#home #area_06 {
    padding-bottom: 4%;
}
#home #area_06 .contact {
    width: 86%;
    margin: 4% auto 12%;
    background-color: #006837;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    padding: 5% 0 3%;
}
#home #area_06 .contact p {
    margin: 0;
    line-height: 1.5;
    font-size: clamp(30.85714286px, 2.571428571vw, 36px);
}
#home #area_06 .contact_area {
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
}
#home #area_06 .contact .tel,
#home #area_06 .contact .email {
    width: 48%;
    padding-left: 14%;
    text-align: center;
}
#home #area_06 .contact .category {
    margin: 0;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
}
#home #area_06 .contact .notice {
    width: 48%;
    margin: 0 auto;
    text-align: center;
    border-radius: 20px;
    background-color: #fff;
    color: #006837;
    font-size: clamp(15.42857143px, 1.285714286vw, 18px);
}
#home #area_06 .contact .tel {
    position: relative;
}
#home #area_06 .contact .tel::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 7%;
    background: url(/common/images/icon_tel.png);
}
#home #area_06 .contact .email {
    position: relative;
}
#home #area_06 .contact .email::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 2%;
    background: url(/common/images/icon_mail.png);
}
#home #area_06 .contact .tel::before,
#home #area_06 .contact .email::before {
    width: clamp(102.8571429px, 8.571428571vw, 120px);
    height: clamp(102.8571429px, 8.571428571vw, 120px);
    margin-top: 0;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#home #area_06 .contact .info {
    width: 50%;
    margin: 5% auto 0;
    border-radius: 5px;
    text-align: center;
}
#home #area_06 .contact .info a {
    display: block;
    width: 100%;
    height: 100%;
    transition: tramsform 1s ease-in-out;
    transform-origin: center center;
}
#home #area_06 .contact .info a:hover {
    transform: scale(0.95);
}


/* 750px以上用（PC用）の記述 end -------------------------------------*/
}


/* -----------------------------------
  PC: フォントサイズ可変値 計算メモ
      (画面幅：min=1200px, max=1400px)
  ------------------------------------

font-size: clamp(12px, 1vw, 14px);
font-size: clamp(13.71428571px, 1.142857143vw, 16px);
font-size: clamp(15.42857143px, 1.285714286vw, 18px);
font-size: clamp(17.14285714px, 1.428571429vw, 20px);
font-size: clamp(18.85714286px, 1.571428571vw, 22px);
font-size: clamp(20.57142857px, 1.714285714vw, 24px);
font-size: clamp(21.42857143px, 1.785714286vw, 25px);
font-size: clamp(22.28571429px, 1.857142857vw, 26px);
font-size: clamp(24px, 2vw, 28px);
font-size: clamp(25.71428571px, 2.142857143vw, 30px);
font-size: clamp(27.42857143px, 2.285714286vw, 32px);
font-size: clamp(29.14285714px, 2.428571429vw, 34px);
font-size: clamp(30.85714286px, 2.571428571vw, 36px);
font-size: clamp(41.14285714px, 3.428571429vw, 48px);
font-size: clamp(42.85714286px, 3.571428571vw, 50px);
font-size: clamp(46.28571429px, 3.857142857vw, 54px);
font-size: clamp(51.42857143px, 4.285714286vw, 60px);
font-size: clamp(65.14285714px, 5.428571429vw, 76px);
font-size: clamp(66.85714286px, 5.571428571vw, 78px);
font-size: clamp(102.8571429px, 8.571428571vw, 120px);

width: clamp(6.857142857px, 0.571428571vw, 8px);

width: clamp(32.57142857px, 2.714285714vw, 38px);
height: clamp(32.57142857px, 2.714285714vw, 38px);

width: clamp(51.42857143px, 4.285714286vw, 60px);
height: clamp(51.42857143px, 4.285714286vw, 60px);

width: clamp(102.8571429px, 8.571428571vw, 120px);
height: clamp(102.8571429px, 8.571428571vw, 120px);

height: clamp(126.8571429px, 10.57142857vw, 148px);

width: clamp(137.1428571px, 11.42857143vw, 160px);
height: clamp(137.1428571px, 11.42857143vw, 160px);

height: clamp(375.4285714px, 31.28571429vw, 438px);

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

