#page_about #ourmessage{
	position: relative;
}
#page_about #ourmessage .wrap{
	position: relative;
}
#page_about #ourmessage .message_bg{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
#page_about #ourmessage .message_bg .deco{
    position: absolute;
    bottom: -4.2vw;
    width: min(1643px,126.4vw);
    right: -18vw;
}
#page_about #ourmessage .message_bg .left{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 29.2vw;
    height: 100%;
    background: #000;
}
#page_about #ourmessage .message__body{
    padding-left: 47.5%;
    padding-top: 14.8%;
    padding-bottom: 15.9%;
}
#page_about #ourmessage .message__body .title{
    line-height: 1em;
    font-family: var(--font-sans);
    color: #000;
    font-size: min(48px,3.7vw);
    font-weight: 400;
    margin-bottom: 2.4%;
}
#page_about #ourmessage .message__body .sub{
    color: #4c4c4c;
    font-weight: bold;
    font-size: min(13px,1vw);
    line-height: 1em;
    letter-spacing: 0.01em;
    margin-bottom: 8%;
}
#page_about #ourmessage .message__body .text{
    color: #000;
    font-family: var(--font-sans);
    font-size: min(14px,1.1vw);
    line-height: 1.8em;
    font-weight: 500;
}
#page_about #ourmessage .message__photoarea{
	position: absolute;
    top: min(100px,7.7vw);
    left: min(37px,2.9vw);
    width: 39.2%;
}
#page_about #ourmessage .message__photoarea .photo{}
#page_about #ourmessage .message__photoarea .sub{
    color: #fff;
    font-family: var(--font-sans);
    writing-mode: vertical-lr;
    position: absolute;
    bottom: 0px;
    left: -2em;
    letter-spacing: 0.23em;
    font-size: min(12px,1vw);
    line-height: 1em;
}

@media (min-width: 1300px) {
	#page_about #ourmessage .message_bg .left{
	width: calc(50vw - 270px);
	}
	#page_about #ourmessage .message_bg .deco{
    bottom: -54px;
    right: auto;
    left: calc(50vw - 760px);
	}
}

@media (max-width: 750px) {
	#page_about #ourmessage{
		background: #fff url(../../assets/img/about/message_bg_sp.png) right top no-repeat;
		background-size: contain;
	}
	#page_about #ourmessage .message_bg{
	display: none;
	}
	#page_about #ourmessage .message_bg .deco{}
	#page_about #ourmessage .message_bg .left{}
	#page_about #ourmessage .message__body{
    padding-left: 0%;
    padding-top: 93.3vw;
    padding-bottom: 16.3%;
	position: relative;
	}
	#page_about #ourmessage .message__body .title{
    position: absolute;
    top: 93vw;
    left: 9.6vw;
    margin-bottom: 0%;
    writing-mode: vertical-lr;
    font-size: min(50px, 6.7vw);
    font-weight: 400;
    letter-spacing: 0.1em;
	}
	#page_about #ourmessage .message__body .sub{
    position: absolute;
    top: 93.4vw;
    left: 6.3vw;
    writing-mode: vertical-lr;
    font-size: min(12px, 1.6vw);
    margin-bottom: 0%;
	}
	#page_about #ourmessage .message__body .text{
    padding-left: 27.2%;
    font-size: min(21px, 2.8vw);
    line-height: 1.7em;
	}
	#page_about #ourmessage .message__photoarea{
    top: 8.7vw;
    left: 0%;
    width: 63.5%;
	}
	#page_about #ourmessage .message__photoarea .photo{}
	#page_about #ourmessage .message__photoarea .sub{
    bottom: 0px;
    left: auto;
    right: -2.5em;
    letter-spacing: 0.1em;
    font-size: min(12px, 1.6vw);
    color: #000;
    font-weight: bold;
	}
}


#page_about #strength{
	background: #000;
	color: var(--color-white);
}
#page_about #strength .strength__top{
    padding-top: 19%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 86.5%;
    padding-bottom: 5.6%;
    margin: 0 auto;
    border-bottom: 2px solid #808080;
}
#page_about #strength .strength__top .title-block{
	width: 40%;
}
#page_about #strength .strength__top .title-block .title{
    font-family: var(--font-hira);
    font-size: min(66px,5.1vw);
    font-weight: bold;
    line-height: 1em;
    margin-bottom: 3.7%;
}
#page_about #strength .strength__top .title-block .title-ja{
    line-height: 1em;
    font-family: var(--font-hira);
    font-size: min(16px, 1.3vw);
    letter-spacing: 0.1em;
}
#page_about #strength .strength__top .intro-block{
    width: 41.2%;
}
#page_about #strength .strength__top .intro-block .catchcopy{
    font-family: var(--font-hira);
    font-size: min(36px,2.8vw);
    font-weight: bold;
    line-height: 1.5em;
}
#page_about #strength .strength__top .intro-block .desc{
    font-size: min(15px, 1.2vw);
    line-height: 2.1em;
    margin-top: 1%;
}
#page_about #strength .strength__bot{
    padding-top: 7.2%;
    width: 86.5%;
    margin: 0 auto;
    padding-bottom: 3.4%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
#page_about #strength .strength__bot .title-block{
	width: 40%;
}
#page_about #strength .strength__bot .title-block .title{
    font-family: var(--font-hira);
    font-size: min(38px,3vw);
    line-height: 1em;
    margin-bottom: 3.6%;
}
#page_about #strength .strength__bot .title-block .title-en{
    font-family: var(--font-hira);
    font-size: min(12px,1vw);
    line-height: 1em;
    letter-spacing: 0.15em;
    color: #483c0e;
}
#page_about #strength .strength__bot .intro-block{
    width: 48.1%;
}
#page_about #strength .strength__bot .intro-block .desc{
    font-family: var(--font-hira);
    font-size: min(15px,1.2vw);
    line-height: 2em;
    margin-top: -0.6em;
}
#page_about #strength .strength__image{
    padding-bottom: 6.8%;
}

@media (max-width: 750px) {
	#page_about #strength{}
	#page_about #strength .strength__top{
    width: 100%;
    flex-direction: column;
    flex-wrap: nowrap;
    padding-bottom: 10.8%;
    padding-top: 18.6%;
	}
	#page_about #strength .strength__top .title-block{
    width: 100%;
    margin-bottom: 11.9%;
	}
	#page_about #strength .strength__top .title-block .title{
    margin-bottom: 3.6%;
    font-size: min(96px, 12.8vw);
	}
	#page_about #strength .strength__top .title-block .title-ja{
    font-size: min(20px, 2.7vw);
	}
	#page_about #strength .strength__top .intro-block{
    width: 100%;
	}
	#page_about #strength .strength__top .intro-block .catchcopy{
    font-size: min(37px, 5vw);
    line-height: 1.4em;
	}
	#page_about #strength .strength__top .intro-block .desc{
    font-size: min(21px, 2.8vw);
    line-height: 1.7em;
    margin-top: 4%;
	}
	#page_about #strength .strength__bot{
    width: 100%;
    flex-direction: column;
    flex-wrap: nowrap;
    padding-bottom: 14.9%;
    padding-top: 11.2%;
	}
	#page_about #strength .strength__bot .title-block{
		width:100%;
	}
	#page_about #strength .strength__bot .title-block .title{
    font-size: min(35px, 4.7vw);
    margin-bottom: 2.2%;
	}
	#page_about #strength .strength__bot .title-block .title-en{
    color: #4d4d4d;
    font-size: min(12px, 1.6vw);
	}
	#page_about #strength .strength__bot .intro-block{
    width: 100%;
	}
	#page_about #strength .strength__bot .intro-block .desc{
    margin-top: 4.6%;
    font-size: min(21px, 2.8vw);
    line-height: 1.9em;
	}
	#page_about #strength .strength__image{
    padding-bottom: 15.3%;
	}
}


#page_about #model{}
#page_about #model .model__top{
    padding-top: 8.9%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 86.5%;
    padding-bottom: 3.8%;
    margin: 0 auto;
}
#page_about #model .model__top .title-block{
	width: 48%;
}
#page_about #model .model__top .title-block .title{
    font-family: var(--font-hira);
    font-size: min(32px, 2.5vw);
    font-weight: bold;
    line-height: 1.3em;
    margin-bottom: 1%;
}
#page_about #model .model__top .title-block .title br.sp{
	display:none;
}
#page_about #model .model__top .title-block .title-en{
    font-family: var(--font-hira);
    font-size: min(12px,1vw);
    line-height: 1em;
    letter-spacing: 0.15em;
    color: #ca9b19;
}
#page_about #model .model__top .intro-block{
	width: 48.1%;
}
#page_about #model .model__top .intro-block .desc{
    font-family: var(--font-hira);
    font-size: min(15px,1.2vw);
    line-height: 1.8em;
}
#page_about #model .model_list{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 7.5%;
    width: 86.5%;
    margin: 0 auto;
}
#page_about #model .model_list li{
    width: 32.7%;
}

@media (max-width: 750px) {
	#page_about #model{}
	#page_about #model .model__top{
    width: 100%;
    padding-top: 14.1%;
    padding-bottom: 13.5%;
    flex-direction: column;
    flex-wrap: nowrap;
	}
	#page_about #model .model__top .title-block{
	width: 100%;
	}
	#page_about #model .model__top .title-block .title{
    font-size: min(35px, 4.7vw);
    line-height: 1.4em;
	}
	#page_about #model .model__top .title-block .title br{
		display:none;
	}
	#page_about #model .model__top .title-block .title br.sp{
		display:block;
	}
	#page_about #model .model__top .title-block .title-en{
    color: #edddb2;
    font-size: min(12px, 1.6vw);
	}
	#page_about #model .model__top .intro-block{
	width: 100%;
	}
	#page_about #model .model__top .intro-block .desc{
    margin-top: 4.6%;
    font-size: min(21px, 2.8vw);
    line-height: 1.7em;
	}
	#page_about #model .model_list{
    padding-bottom: 13.2%;
    width: 100%;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2.7vw;
	}
	#page_about #model .model_list li{
		width: 100%;
	}
}


#page_about #formula{
	background: #000;
	color: var(--color-white);
}
#page_about #formula .formula__top{
    padding-top: 8.2%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 86.5%;
    padding-bottom: 5.9%;
    margin: 0 auto;
}
#page_about #formula .formula__top .title-block{
	width: 48%;
}
#page_about #formula .formula__top .title-block .title{
    font-family: var(--font-hira);
    font-size: min(32px, 2.5vw);
    font-weight: bold;
    line-height: 1em;
    margin-bottom: 3.6%;
}
#page_about #formula .formula__top .title-block .title-en{
    font-family: var(--font-hira);
    font-size: min(12px,1vw);
    line-height: 1em;
    letter-spacing: 0.15em;
    color: #483c0e;
}
#page_about #formula .formula__top .intro-block{
    width: 46.9%;
}
#page_about #formula .formula__top .intro-block .desc{
    font-family: var(--font-hira);
    font-size: min(15px,1.2vw);
    line-height: 1.8em;
    margin-top: -0.3em;
}
#page_about #formula .formula__image{}
#page_about #formula .legend{
    width: 78%;
    margin: 0 auto;
    font-family: var(--font-hira);
    font-size: min(12px, 1vw);
    line-height: 2.2em;
    padding-top: 2.9%;
    padding-bottom: 7.2%;
}
#page_about #formula .legend br.sp{
	display:none;
}

@media (max-width: 750px) {
	#page_about #formula{}
	#page_about #formula .formula__top{
    width: 100%;
    padding-top: 11.9%;
    padding-bottom: 9.6%;
    flex-direction: column;
    flex-wrap: nowrap;
	}
	#page_about #formula .formula__top .title-block{
    width: 100%;
	}
	#page_about #formula .formula__top .title-block .title{
    font-size: min(35px, 4.7vw);
    margin-bottom: 2.2%;
	}
	#page_about #formula .formula__top .title-block .title-en{
    color: #4d4d4d;
    font-size: min(12px, 1.6vw);
	}
	#page_about #formula .formula__top .intro-block{
    width: 100%;
	}
	#page_about #formula .formula__top .intro-block .desc{
    margin-top: 4.6%;
    font-size: min(21px, 2.8vw);
    line-height: 1.8em;
	}
	#page_about #formula .formula__image{}
	#page_about #formula .legend{
    width: 100%;
    font-size: min(18px, 2.4vw);
    line-height: 2.2em;
    padding-top: 5.9%;
    padding-bottom: 11.9%;
	}
	#page_about #formula .legend br.sp{
		display:block;
	}
}


#page_about #community{
    background: #fff url(../../assets/img/about/community_bg.png) center bottom no-repeat;
    background-size: min(666px, 51.3vw);
    background-position: max(-29.7vw, calc(50vw - 1036px)) min(-6vw, calc(100% + 67px));
}
#page_about #community .community__content{
    padding-top: 11.4%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 88.2%;
    padding-bottom: 9.3%;
    margin: 0 auto;
}
#page_about #community .community__content .title-block{
    width: 40.4%;
}
#page_about #community .community__content .title-block .title{
    font-family: var(--font-hira);
    font-size: min(64px, 5vw);
    font-weight: bold;
    line-height: 1em;
    margin-bottom: 4.7%;
    letter-spacing: -0.04em;
}
#page_about #community .community__content .title-block .title-ja{
    font-family: var(--font-hira);
    font-size: min(14px, 1.1vw);
    font-weight: bold;
    line-height: 1em;
    margin-bottom: 9.5%;
    letter-spacing: 0em;
}
#page_about #community .community__content .title-block .desc{
    font-family: var(--font-hira);
    font-size: min(15px, 1.2vw);
    font-weight: 500;
    line-height: 1.9em;
    margin-bottom: 9.5%;
    letter-spacing: 0em;
}
#page_about #community .community__content .title-block .btn{
	font-family: var(--font-hira);
    display: inline-flex;
    padding: 1.4em 3.8em;
    background: #111;
    border-radius: 5em;
    font-size: min(16px,1.3vw);
    letter-spacing: 0.1em;
    color: #fff;
    line-height: 1em;
    transition: background 0.25s;
    position: relative;
    z-index: 1;
	display:none;
}
#page_about #community .community__content .title-block .btn::after{
	content: "";
    position: absolute;
    right: 1.2em;
    top: 50%;
    transform: translateY(-0.2em);
    display: block;
    background: url(../../assets/img/top/ico_btn_arrow_white.png) center center no-repeat;
    background-size: contain;
    width: 0.9em;
    padding-top: 0.6em;
    height: 0px;
}
#page_about #community .community__content .title-block .btn:hover{
	background: #333;
}
#page_about #community .community__content .img-block{
    width: 56.2%;
}
#page_about #community .community__content .img-block ul{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
#page_about #community .community__content .img-block ul li{
    width: 48.9%;
}

@media (max-width: 750px) {
	#page_about #community{
    background-size: 83vw;
    background-position: 50vw -8vw;
	}
	#page_about #community .community__content{
    width: 100%;
    padding-bottom: 14.1%;
    padding-top: 9.8%;
    flex-direction: column;
    flex-wrap: nowrap;
	}
	#page_about #community .community__content .title-block{
    width: 100%;
	}
	#page_about #community .community__content .title-block .title{
    font-size: min(85px, 11.4vw);
    margin-bottom: 2.9%;
	}
	#page_about #community .community__content .title-block .title-ja{
    font-size: min(20px, 2.7vw);
    margin-bottom: 10.3%;
	}
	#page_about #community .community__content .title-block .desc{
    font-size: min(20px, 2.7vw);
    line-height: 1.8em;
    margin-bottom: 8.1%;
	}
	#page_about #community .community__content .title-block .btn{
    padding: 1.4em 2.8em;
    font-size: min(21px, 2.8vw);
	}
	#page_about #community .community__content .img-block{
    width: 100%;
    margin-top: 11.9%;
	}
	#page_about #community .community__content .img-block ul{}
	#page_about #community .community__content .img-block ul li{
    width: 48%;
	}
}

#ai_commerce{
}

#ai_commerce .ai__content {
    padding: 9% 4% 11% 6%;
    width: 90.68%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    background: #000 url(../../assets/img/about/aicm_bg.png) center bottom no-repeat;
    background-size: cover;
    margin: 10% auto 8%;
    border-radius: 1.33333em;
}
#ai_commerce .ai__content .title-block{
    width: 52%;
}
#ai_commerce .ai__content .title-block .title {
    font-family: var(--font-hira);
    font-size: min(32px, 2.5vw);
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 3.7%;
    letter-spacing: -0.04em;
    color: #fff;
}
#ai_commerce .ai__content .title-block .desc{
    font-family: var(--font-hira);
    font-size: min(14px,1.1vw);
    font-weight: 500;
    line-height: 1.9em;
    margin-bottom: 11.5%;
    letter-spacing: 0em;
    color: #fff;
    text-wrap:wrap;
}
#ai_commerce .ai__content .title-block .btn{
	font-family: var(--font-hira);
    display: inline-flex;
    padding: 1.4em 5.5em;
    background: rgba(255,255,255,.18);
    border-radius: 5em;
    font-size: min(14px, 1.1vw);
    letter-spacing: 0.1em;
    color: #fff;
    line-height: 1em;
    transition: background 0.25s;
    position: relative;
    z-index: 1;
    border: 1px solid #fff;
}
#ai_commerce .ai__content .title-block .btn::after{
	content: "";
    position: absolute;
    right: 1.2em;
    top: 50%;
    transform: translateY(-0.2em);
    display: block;
    background: url(../../assets/img/top/ico_btn_arrow_white.png) center center no-repeat;
    background-size: contain;
    width: 0.9em;
    padding-top: 0.6em;
    height: 0px;
}
#ai_commerce .ai__content .title-block .btn:hover{
	background: #333;
}
#ai_commerce .ai__content .img-block{
    width: 46%;
    padding-top: 2%;
}
#ai_commerce .ai__content .img-block ul{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
#ai_commerce .ai__content .img-block ul li{
    width: 48.9%;
}

@media (max-width: 750px) {
	#ai_commerce{
	}
	#ai_commerce .ai__content{
    margin: 13% auto 15%;
    width: 100%;
    padding-bottom: 9.1%;
    padding-top: 9.8%;
    flex-direction: column-reverse;
    flex-wrap: nowrap;
    border-radius: .6666666em;
    background: #000 url(../../assets/img/about/aicm_bg_sp.png) center bottom no-repeat;
    background-size: cover;
	}
	#ai_commerce .ai__content .title-block{
    width: 100%;
	}
	#ai_commerce .ai__content .title-block .title{
    font-size: min(38px, 5.06vw);
    text-align: center;
    margin-bottom: 5.5%;
    letter-spacing: 0px;
	}
	#ai_commerce .ai__content .title-block .desc{
    font-size: min(20px, 2.7vw);
    line-height: 1.8em;
    margin-bottom: 10%;
	}
	#ai_commerce .ai__content .title-block .desc br{
        display: none;
	}
	#ai_commerce .ai__content .title-block .btn{
    padding: 1.4em 2.8em;
    font-size: min(21px, 2.8vw);
    margin: 0 auto;
    display: block;
    width: 53%;
    text-align: center;
    min-width: 15em;
	}
	#ai_commerce .ai__content .img-block{
    width: 100%;
    margin-bottom: 10%;
	}
	#ai_commerce .ai__content .img-block img{
    width: 66%;
    margin: 0 auto;
	}
}