@charset "utf-8";


/* scroll_up ｜ 下から上へ出現
---------------------------------*/
.scroll_up {
	transition: 0.9s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}
.scroll_up.is-inview {
	transform: translateY(0);
	opacity: 1.0;
}
.timing02 {transition-delay: .2s;}
.timing03 {transition-delay: .4s;}
.timing04 {transition-delay: .6s;}
.timing05 {transition-delay: .8s;}
.timing06 {transition-delay: .10s;}
.timing07 {transition-delay: .12s;}
.timing08 {transition-delay: .14s;}
.timing09 {transition-delay: .16s;}
.timing10 {transition-delay: .18s;}

/*	レイアウト
---------------------------------*/
html {
	font-size: 62.5%;
}
body {
	position: relative;
	margin: 0;
	padding: 0px 0 0;
	width: 100%;
	line-height: 1.8;
    color: #000000;

	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;

    font-family: 'Poppins', sans-serif;

    font-weight: 400;
}
#wrapper {
	overflow: hidden;
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
	position: relative;
}
#wrapper::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #D8C9C0;
    z-index: -10;
}
.sponly {
    display: none;
}
.pconly {
    display: inline;
}

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

@media screen and (max-width:599px) {
    body {
        padding: 0px 0 0;
    }
    .sponly {
        display: inline;
    }
    .pconly {
        display: none;
    }
}

/*	ヘッダー
---------------------------------*/
header {
    position: relative;
	padding-top: 8px;
	padding-bottom: 8px;
}
header::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #ffffff;
    z-index: -8;
}

header .hd-logo {
    width: 179px;
    margin-left: auto;
    margin-right: auto;
}
header .hd-logo img {
    width: 100%;
    height: auto;
}

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

@media screen and (max-width: 959px) {
    header {
        padding-top: 5px;
        padding-bottom: 5px;
    }
    header .hd-logo {
        width: 150px;
    }
}

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

@media screen and (max-width: 599px) {
    header {
        padding-top: 0px;
        padding-bottom: 0px;
    }
    header .hd-logo {
        width: 100px;
    }
}

/*	フッター
---------------------------------*/
footer {
    position: relative;
}

footer .bg-box {
}
footer .bg-box a {
    display: block;
    width: 100%;
    height: 100%;
	padding-top: 190px;
	padding-bottom: 190px;
	background-image: url("../img/cmn/bg02.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

footer .bg-box .img-box {
    width: 100%;
    overflow: hidden;
}
footer .bg-box .img-box .infiniteslide {
}
footer .bg-box .img-box .infiniteslide li {
    margin-right: 180px;
}
footer .bg-box .img-box .infiniteslide li img {
    width: 930px;
    height: auto;
}

footer .bg-box .txt-box {
    position: absolute;
    top: 32%;
    left: 2.5%;
    width: 95%;
}
footer .bg-box .txt-box h2 {
	font-size: 42px;
	font-size: clamp(24px, 2.2vw, 42px);
    line-height: 1.4;
    letter-spacing: 1px;
    font-weight: 400;
    color: #ffffff;
    text-align: center;
}
footer .bg-box .txt-box p {
    margin-top: 30px;
	font-size: 16px;
	font-size: clamp(14px, 0.85vw, 16px);
    line-height: 2;
    letter-spacing: 1px;
    font-weight: 400;
    color: #ffffff;
    text-align: center;
}

.ft-copyright {
    margin-top: 30px;
	font-size: 10px;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 500;
    text-align: center;
}

.btn-pagetop {
    width: 40px;
}

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

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

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

@media screen and (max-width: 599px) {
    .btn-pagetop {
        width: 30px;
    }
    footer .bg-box a {
        padding-top: 140px;
        padding-bottom: 140px;
    }
    footer .bg-box .img-box .infiniteslide li {
        margin-right: 60px;
    }
    footer .bg-box .img-box .infiniteslide li img {
        width: 400px;
        height: auto;
    }
    footer .bg-box .txt-box {
        top: 14%;
        left: 5%;
        width: 90%;
    }
    footer .bg-box .txt-box h2 {
        font-size: 24px;
        line-height: 1.4;
        letter-spacing: 1px;
        font-weight: 400;
    }
    footer .bg-box .txt-box p {
        margin-top: 15px;
        font-size: 14px;
        line-height: 2;
        letter-spacing: 1px;
        font-weight: 400;
        text-align: left;
    }
}

/*	メインイメージ
---------------------------------*/
.main-img-otr {
	position: relative;
	padding: 0;
	width: 100%;
}
.main-img-otr::before {
	content: "";
	display: block;
	position: absolute;
	top: 7%;
	left: 2.5%;
	margin: 0;
	width: 95%;
	height: 93%;
	background-image: url("../img/top/main_img01.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
    z-index: -4;
}

.main-img-otr .main-img-inr {
	position: relative;
	margin: 0 auto;
    padding-top: 4.3vw;
	padding-left: 3.5%;
	padding-right: 3.5%;
}

.main-img-otr .main-img-inr .main-img-cap01 {
    margin-left: 38.5%;
    width: 61.5%;
    text-align: left;
}
.main-img-otr .main-img-inr .main-img-cap01 .txt01 {
}
.main-img-otr .main-img-inr .main-img-cap01 .txt02 {
    margin-top: 2vw;
    margin-left: 1%;
    max-width: 80%;
}
.main-img-otr .main-img-inr .main-img-cap01 img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.main-img-otr .main-img-inr .main-img-cap02 {
	position: absolute;
    top: 14%;
    left: 3.5%;
    width: 12%;
    text-align: left;
	z-index: 1001;
}
.main-img-otr .main-img-inr .main-img-cap02 img {
    max-width: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.main-img-otr .main-img-inr .cta-box {
    padding-top: 32.7vw;
    margin-left: auto;
    margin-right: auto;
    width: 45.6%;
}

.main-img-otr .main-img-inr .cta-box .btn {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
}
.main-img-otr .main-img-inr .cta-box .btn a {
    display: block;
    width: 100%;
    padding: 23px 10px 25px 10px;
    border-radius: 60px;
	background-image: url("../img/cmn/icon_arw01.svg"), url("../img/cmn/bg02.webp");
	background-repeat: no-repeat, no-repeat;
	background-position: 93% center, center center;
	background-size: auto, 100% 100%;
    color: #ffffff;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: 1px;
    text-align: center;
}

.main-img-otr .main-img-inr .cta-box .comment-box {
    margin-top: 60px;
    background: #ffffff;
    border-radius: 15px;
    padding: 50px 6% 50px 6%;
}
.main-img-otr .main-img-inr .cta-box .comment-box p {
    font-size: 16px;
	font-size: clamp(14px, 0.85vw, 16px);
    font-weight: 400;
    line-height: 2;
    letter-spacing: 1px;
}

@media screen and (max-width:1700px) {
    .main-img-otr .main-img-inr .cta-box {
        width: 60%;
    }
}

@media screen and (max-width:1400px) {
    .main-img-otr .main-img-inr .cta-box {
        width: 80%;
    }
    .main-img-otr .main-img-inr .cta-box .btn a {
        font-size: 20px;
    }
    .main-img-otr .main-img-inr .cta-box .comment-box {
        margin-top: 40px;
        padding: 30px 6% 30px 6%;
    }
}

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

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

@media screen and (max-width: 767px) {
    .main-img-otr .main-img-inr .cta-box {
        width: 100%;
    }
}

@media screen and (max-width: 599px) {
    .main-img-otr .main-img-inr {
        padding-top: 8vw;
    }
    .main-img-otr .main-img-inr .main-img-cap01 {
        margin-left: 30%;
        width: 70%;
    }
    .main-img-otr .main-img-inr .main-img-cap02 {
        top: 10%;
        width: 15%;
    }
    .main-img-otr .main-img-inr .cta-box {
        padding-top: 36vw;
    }
    .main-img-otr .main-img-inr .cta-box .btn {
        width: 100%;
    }
    .main-img-otr .main-img-inr .cta-box .btn a {
        padding: 15px 30px 15px 5px;
        background-image: url("../img/cmn/icon_arw01.svg"), url("../img/cmn/bg02.webp");
        background-repeat: no-repeat, no-repeat;
        background-position: 96% center, center center;
        background-size: 16px, 100% 100%;
        font-size: 16px;
        font-weight: 300;
        line-height: 1.4;
        letter-spacing: 1px;
    }
    .main-img-otr .main-img-inr .cta-box .comment-box {
        margin-top: 30px;
        border-radius: 15px;
        padding: 20px 5% 20px 5%;
    }
    .main-img-otr .main-img-inr .cta-box .comment-box p {
        font-size: 15px;
        font-weight: 400;
        line-height: 2;
        letter-spacing: 1px;
    }
}

/*	基本レイアウト
---------------------------------*/
.contents-inr {
	position: relative;
	margin: 0 auto;
	padding-left: 11%;
	padding-right: 11%;
}

@media screen and (max-width: 599px) {
    .contents-inr {
        padding-left: 5%;
        padding-right: 5%;
    }
}

/*	トップページ
---------------------------------*/
/* 背景 */
.bg01 {
    position: relative;
}
.bg01::before {
	content: "";
	display: block;
	position: absolute;
	top: -16vw;
	left: 0%;
	margin: 0;
	width: 100%;
	height: 30vw;
	background-image: url("../img/cmn/bg01_top.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
    z-index: -6;
}
.bg01::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -3.5vw;
	left: 0%;
	margin: 0;
	width: 100%;
	height: 30vw;
	background-image: url("../img/cmn/bg01_bottom.png");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100%;
    z-index: -6;
}
.bg01-inr {
    padding-top: 7vw;
    padding-bottom: 3vw;
    position: relative;
}
.bg01-inr::before {
	content: "";
	display: block;
	position: absolute;
	top: 0%;
	left: 0%;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #614138;
    z-index: -8;
}

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

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

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

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

@media screen and (max-width: 599px) {
    .bg01-inr {
        padding-top: 15vw;
        padding-bottom: 5vw;
    }
}

/* 「HAVE」から「BE」へ。 */
.top01 {
    padding-bottom: 10vw;
}
.top01 .contents-inr {
	padding-left: 21%;
	padding-right: 18%;
}
.top01 .img-box {
    float: right;
    width: 30%;
    text-align: center;
    padding-top: 8vw;
}
.top01 .img-box img {
}
.top01 .txt-box {
    float: left;
    width: 66%;
}
.top01 .txt-box h2 {
    margin-bottom: 2.2vw;
}
.top01 .txt-box h3 {
	font-size: 28px;
	font-size: clamp(20px, 1.45vw, 28px);
    letter-spacing: 1.5px;
    font-weight: 600;
    line-height: 1.4;
    color: #ffffff;
    margin-bottom: 2.2vw;
}
.top01 .txt-box p {
	font-size: 20px;
	font-size: clamp(15px, 1.02vw, 20px);
    letter-spacing: 1.5px;
    font-weight: 400;
    line-height: 2;
    color: #ffffff;
}

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

@media screen and (max-width:1400px) {
    .top01 .contents-inr {
        padding-left: 15%;
        padding-right: 12%;
    }
}

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

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

@media screen and (max-width: 767px) {
    .top01 .contents-inr {
        padding-left: 6%;
        padding-right: 4%;
    }
}

@media screen and (max-width: 599px) {
    .top01 {
        padding-bottom: 15vw;
    }
    .top01 .contents-inr {
        padding-left: 5%;
        padding-right: 5%;
    }
    .top01 .img-box {
        float: none;
        width: 100%;
        text-align: center;
        padding-top: 0vw;
        padding-bottom: 40px;
    }
    .top01 .img-box img {
        max-width: 80%;
    }
    .top01 .txt-box {
        float: none;
        width: 100%;
    }
    .top01 .txt-box h2 {
        margin-bottom: 23px;
    }
    .top01 .txt-box h3 {
        font-size: 20px;
        letter-spacing: 1.5px;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 20px;
    }
    .top01 .txt-box p {
        font-size: 15px;
        letter-spacing: 1.5px;
        font-weight: 400;
        line-height: 2;
    }
}

/* Sobagniブランドの持つ価値 */
.top02 {
    padding-bottom: 10vw;
    position: relative;
    z-index: 1006;
}
.top02 .contents-inr {
	padding-left: 0%;
	padding-right: 9%;
}
.top02 .img-box {
    float: left;
    width: 50%;
}
.top02 .img-box img {
}
.top02 .txt-box {
    float: right;
    width: 41%;
}
.top02 .txt-box h3 {
	font-size: 28px;
	font-size: clamp(20px, 1.45vw, 28px);
    letter-spacing: 1.5px;
    font-weight: 600;
    line-height: 1.4;
    color: #ffffff;
    margin-bottom: 2.2vw;
}
.top02 .txt-box h3 .fontpoppins {
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
}
.top02 .txt-box p {
	font-size: 20px;
	font-size: clamp(15px, 1.02vw, 20px);
    letter-spacing: 1.5px;
    font-weight: 400;
    line-height: 2;
    color: #ffffff;
}
.top02 .txt-box p .fontpoppins {
    font-weight: 400;
    font-family: 'Poppins', sans-serif;
}
.top02 .txt-box p.p01 {
    margin-bottom: 2.5vw;
}
.top02 .txt-box p.p02 {
    margin-bottom: 2vw;
}

.top02 .txt-box .btn {
}
.top02 .txt-box .btn a {
    display: block;
    width: 240px;
    padding: 15px 0px 15px 35px;
    border-radius: 60px;
    border: #ffffff 1px solid;
	background-image: url("../img/cmn/icon_arw01.svg");
	background-repeat: no-repeat;
	background-position: 85% center;
	background-size: 20px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.6;
    letter-spacing: 1px;
    text-align: left;
}
.top02 .txt-box .btn a .fontpoppins {
    font-weight: 300;
    font-family: 'Poppins', sans-serif;
}

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

@media screen and (max-width:1400px) {
    .top02 .contents-inr {
        padding-right: 3%;
    }
}

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

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

@media screen and (max-width: 767px) {
    .top02 .img-box {
        width: 40%;
    }
    .top02 .txt-box {
        width: 52%;
    }
}

@media screen and (max-width: 599px) {
    .top02 {
        padding-bottom: 15vw;
    }
    .top02 .contents-inr {
        padding-left: 0%;
        padding-right: 0%;
    }
    .top02 .img-box {
        float: none;
        width: 100%;
        margin-bottom: 20px;
    }
    .top02 .img-box img {
        max-width: 80%;
    }
    .top02 .txt-box {
        float: none;
        width: 100%;
        padding-left: 5%;
        padding-right: 5%;
    }
    .top02 .txt-box h3 {
        font-size: 20px;
        letter-spacing: 1.5px;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 20px;
    }
    .top02 .txt-box p {
        font-size: 16px;
        letter-spacing: 1.5px;
        font-weight: 400;
        line-height: 2;
    }
    .top02 .txt-box p.p01 {
        margin-bottom: 30px;
    }
    .top02 .txt-box p.p02 {
        margin-bottom: 25px;
    }
    .top02 .txt-box .btn a {
        width: 220px;
        padding: 12px 0px 12px 30px;
        background-image: url("../img/cmn/icon_arw01.svg");
        background-repeat: no-repeat;
        background-position: 85% center;
        background-size: 16px;
        font-size: 15px;
        font-weight: 300;
        line-height: 1.6;
        letter-spacing: 1px;
        text-align: left;
    }
}

/* 環境に配慮した素材 */
.top03 {
    padding-bottom: 3vw;
}
.top03 .contents-inr {
	padding-left: 15%;
	padding-right: 15%;
}
.top03 .contents-inr::before {
	content: "";
	display: block;
	position: absolute;
	top: -30vw;
	right: 0%;
	margin: 0;
	width: 46.4%;
	height: 100%;
	background-image: url("../img/top/img03.webp");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: contain;
    z-index: -4;
}
.top03 .txt-box {
    width: 86%;
}
.top03 .txt-box h3 {
	font-size: 28px;
	font-size: clamp(20px, 1.45vw, 28px);
    letter-spacing: 1.5px;
    font-weight: 600;
    line-height: 1.4;
    color: #ffffff;
    margin-bottom: 1.6vw;
}
.top03 .txt-box p {
	font-size: 20px;
	font-size: clamp(15px, 1.02vw, 20px);
    letter-spacing: 1.5px;
    font-weight: 400;
    line-height: 2;
    color: #ffffff;
}
.top03 .txt-box p.p01 {
    margin-bottom: 4vw;
}

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

@media screen and (max-width:1800px) {
    .top03 .contents-inr::before {
        width: 40%;
    }
}

@media screen and (max-width:1500px) {
    .top03 .contents-inr::before {
        width: 35%;
    }
}

@media screen and (max-width:1400px) {
    .top03 .contents-inr {
        padding-left: 6%;
        padding-right: 30%;
    }
}

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

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

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

@media screen and (max-width: 599px) {
    .top03 {
        padding-bottom: 10vw;
    }
    .top03 .contents-inr {
        padding-top: 100vw;
        padding-left: 5%;
        padding-right: 5%;
    }
    .top03 .contents-inr::before {
        top: -10vw;
        width: 75%;
        height: 100%;
        background-position: right top;
    }
    .top03 .txt-box {
        width: 100%;
    }
    .top03 .txt-box h3 {
        font-size: 20px;
        letter-spacing: 1.5px;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 20px;
    }
    .top03 .txt-box p {
        font-size: 16px;
        letter-spacing: 1.5px;
        font-weight: 400;
        line-height: 2;
    }
    .top03 .txt-box p.p01 {
        margin-bottom: 40px;
    }
}

/* ワークショップで共創する4つのコンセプト */
.top04 {
    padding-bottom: 6vw;
}
.top04 .contents-inr {
}
.top04 h2 {
    margin-bottom: 4vw;
    max-width: 56%;
}
.top04 .top04__list {
}
.top04 .top04__list li {
    width: calc((100% - 180px) / 4);
    margin-right: 60px;
    margin-bottom: 60px;
    text-align: center;
}
.top04 .top04__list li:nth-of-type(4n) {
    margin-right: 0px;
}
.top04 .top04__list li img {
    max-width: 90%;
    margin-bottom: 25px;
}
.top04 .top04__list li h3 {
	font-size: 28px;
	font-size: clamp(20px, 1.35vw, 28px);
    letter-spacing: 1.5px;
    font-weight: 700;
    line-height: 1.4;
    color: #614138;
    margin-bottom: 10px;
}
.top04 .top04__list li p {
	font-size: 20px;
	font-size: clamp(14px, 1.00vw, 20px);
    letter-spacing: 1.5px;
    font-weight: 500;
    line-height: 1.4;
    color: #614138;
}

.add_text1{
    font-size: 20px;
    font-size: clamp(14px, 1.00vw, 20px);
    letter-spacing: 1.5px;
    font-weight: 500;
    line-height: 1.4;
    color: #614138;
    margin: 0 0 60px;
}

.add_text2 p{
    font-size: 20px;
    font-size: clamp(14px, 1.00vw, 20px);
    letter-spacing: 1.5px;
    font-weight: 500;
    line-height: 1.4;
    color: #614138;
}

.add_text2 p.add_text2_in1{
    font-size: 28px;
    font-size: clamp(20px, 1.45vw, 28px);
    letter-spacing: 1.5px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 1.6vw;
}

.add_text2 p.add_text2_in2{
    margin: 0 0 60px;
}

.flow_design05 {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #614138;
  margin: 0 0 60px;
}

.flow05 {
  padding-left: 0;
  width: 100%;
}

.flow05 > li {
  list-style-type: none;
  position: relative;
  padding-left: 50px;
}

.flow05 > li:not(:last-child) {
  padding-bottom: 10px;
}

.flow05 > li .icon05 {
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  border-radius: 100vh;
  display: inline-block;
  background: #614138;
  color: #fff;
  position: absolute;
  left: 0;
}

.flow05 > li:not(:last-child)::before {
  content: '';
  background: #c3c3c3;
  width: 4px;
  height: 100%;
  position: absolute;
  top: calc(50% - -30px);
  left: 19px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.flow05 > li dl dt {
  font-size: 20px;
    font-size: clamp(14px, 1.00vw, 20px);
  font-weight: 600;
  color: #614138;;
}

.flow05 > li dl dd {
  font-size: 20px;
    font-size: clamp(14px, 1.00vw, 20px);
    font-weight: 500;
  margin-left: 0;
}  

.flex-nml_3 li{
    align-items: center;
    background: #B38F79;
    border-radius: 4px;
    display: flex;
    margin-bottom: 1em;
    margin-top: 1em;
    padding: 1.875em 1.25em;
    font-size: 20px;
    font-size: clamp(14px, 1.00vw, 20px);
    letter-spacing: 1.5px;
    font-weight: 500;
    line-height: 1.4;
    color: #614138;
    margin: 0 0 30px;
}

.flex-nml_3 li .supervisor_imgArea {
    margin-right: 4%;
    width: 15%;
}

.flex-nml_3 li .supervisor_imgArea img{
    border-radius:50%;
    overflow:hidden;
}

.flex-nml_3 li .supervisor_txtArea {
    width: 81%;
}

.top04__list2{
    margin-bottom:120px;
}

.add_stl_01{
    font-size: 28px;
    font-size: clamp(20px, 1.45vw, 28px);
    letter-spacing: 1.5px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 1.6vw;
}

.add_stl_02{
    font-weight:bold;
    display: block;
    margin-bottom:10px;
}

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

@media screen and (max-width:1400px) {
    .top04 .contents-inr {
        padding-left: 5%;
        padding-right: 5%;
    }
    .top04 .top04__list li {
        width: calc((100% - 90px) / 4);
        margin-right: 30px;
    }
    .top04 .top04__list li:nth-of-type(4n) {
        margin-right: 0px;
    }
}

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

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

@media screen and (max-width: 767px) {
    .top04 h2 {
        max-width: 70%;
    }
    .top04 .top04__list li {
        width: calc((100% - 30px) / 2);
    }
    .top04 .top04__list li:nth-of-type(4n) {
        margin-right: 30px;
    }
    .top04 .top04__list li:nth-of-type(2n) {
        margin-right: 0px;
    }
    .flex-nml_3 li{
        display: block;
    }
    .flex-nml_3 li .supervisor_imgArea {
        margin-right: 0;
        width: 100%;
        text-align:center;
    }
    .flex-nml_3 li .supervisor_imgArea img {
        width: 50%;
        margin: 0 auto 20px;
    }
    .flex-nml_3 li .supervisor_txtArea {
        width: 100%;
    }
    .flex-nml_3 li {
        font-size: 16px;
        letter-spacing: 1.5px;
        font-weight: 500;
        line-height: 1.4;
    }
    .top04 .top04__list {
        margin-bottom:30px;
    }
    .top04__list2 {
        margin-bottom: 60px;
    }
    .add_text2 p.add_text2_in2 {
        margin: 0 0 30px;
    }


}

@media screen and (max-width: 599px) {
    .flow05 > li dl dt{
        font-size:16px;
    }
    .flow05 > li dl dd{
        font-size:16px;
    }
    .add_text2 p.add_text2_in2{
        font-size:16px;
    }
    .add_text2 p.add_text2_in1 {
        margin: 60px 0 30px;
    }

    .top04 {
        padding-bottom: 10vw;
    }
    .top04 h2 {
        max-width: 90%;
        margin-bottom: 30px;
    }
    .top04 .top04__list li {
        width: 100%;
        margin-right: 0px;
        margin-bottom: 20px;
    }
    .top04 .top04__list li:nth-of-type(4n) {
        margin-right: 0px;
    }
    .top04 .top04__list li:nth-of-type(2n) {
        margin-right: 0px;
    }
    .top04 .top04__list li img {
        max-width: 60%;
        margin-bottom: 20px;
    }
    .top04 .top04__list li h3 {
        font-size: 20px;
        letter-spacing: 1.5px;
        font-weight: 700;
        line-height: 1.4;
        margin-bottom: 10px;
    }
    .top04 .top04__list li p {
        font-size: 16px;
        letter-spacing: 1.5px;
        font-weight: 500;
        line-height: 1.4;
    }
}

