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

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

/* bg1 */
.history_sequence {
	display: block;
	width: 78%;
	height: auto;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	--history-float-distance: 5px;
	animation: history-float 5s ease-in-out infinite;
	animation-play-state: paused;
}

.history_sequence.is-floating {
	animation-play-state: running;
}

@keyframes history-float {
	0%, 100% { transform: translate(-50%, -50%); }
	25% { transform: translate(-50%, calc(-50% - var(--history-float-distance))); }
	75% { transform: translate(-50%, calc(-50% + var(--history-float-distance))); }
}

@media (prefers-reduced-motion: reduce) {
	.history_sequence { animation: none; }
}

@media screen and (max-width: 960px) {
	section#history {
		position: relative;
		isolation: isolate;
	}
	section#history::before {
		content: "";
		position: absolute;
		inset: 0;
		background: url("../images/aboutus/history_bg_sp.png") center / 100% 100% no-repeat;
		z-index: -1;
		pointer-events: none;
	}
	section#history div.section_inner div.anime_block {
		position: relative;
		width: 100%;
		aspect-ratio: 1.65;
	}
	section#history .history_sequence {
		width: 88%;
		--history-float-distance: 3px;
	}
}

#page_title .bg1 {
    transform: translate(-12px, -30px) rotate(6deg);
    animation: bg1FloatIn 1s ease-out .2s forwards;
}

/* bg2 */
#page_title .bg2 {
    transform: translate(14px, -35px) rotate(-7deg);
    animation: bg2FloatIn 1s ease-out .3s forwards;
}

@keyframes bg1FloatIn {
    0% {
        opacity: 0;
        transform: translate(-12px, -30px) rotate(6deg);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0) rotate(0deg);
    }
}

@keyframes bg2FloatIn {
    0% {
        opacity: 0;
        transform: translate(14px, -35px) rotate(-7deg);
    }
    100% {
        opacity: 1;
        transform: translate(0, 0) rotate(0deg);
    }
}



/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){
	
	#page_title div.page_title_inner span.bg1 {
		width: 285px;
		top: 65px;
		left: -60px;
	}
	
	#page_title div.page_title_inner span.bg2 {
		width: 174px;
		top: 162px;
		left: 374px;
	}
	
	main h3 {
		font-family: YakuHanJP, "Libre Franklin";
		font-size: 4.2rem;
		font-weight: 500;
		line-height: 1;
	}
	
	main h3 span{
		display: inline-block;
		width: 223px;
		border-bottom: 1px solid #000;
		padding-bottom: 2px;
	}
	
	main h3 small{
		display: block;
		font-size: 1.6rem;
		font-weight: 400;
		margin-top: 1.5em;
	}
	
	div.section_inner {
		width: 91.3%;
		max-width: 1316px;
		margin: 0 auto;
	}
	
	section#history {
		width: 100%;
		padding: 70px 0 80px;
		background: #D7D7DE;
	}
	
	section#history div.section_inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#history div.section_inner div.text_block{
		width: 644px;
		padding-top: 130px;
	}
	
	section#history div.section_inner div.text_block h3{
		margin-bottom: 50px;
	}
	
	section#history div.section_inner div.text_block p{
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 2%;
	}
	
	section#history div.section_inner div.text_block p + p{
		margin-top: 32px;
	}
	
	section#history div.section_inner div.anime_block{
		width: calc(100% - 620px);
		margin-right: -5%;
		position: relative;
		isolation: isolate;
		aspect-ratio: 1586 / 1335;
	}
	
	section#history div.section_inner div.anime_block::after{
		content: "";
		width: 120%;
		height: auto;
		display: block;
		background: url("../images/aboutus/history_bg_pc.png") no-repeat;
		background-size: contain;
		background-position: center;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 0;
		pointer-events: none;
	}
	
	section#message {
		margin-top: 140px;
	}
	
	section#message div.section_inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	
	section#message div.section_inner div.text_block{
		width: 54.6%;
		/*margin-top: 38px;*/
	}
	
	section#message div.section_inner div.text_block h3{
		margin-bottom: 56px;
	}
	
	section#message div.section_inner div.text_block h3 + p{
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 2%;
	}
	
	section#message div.section_inner div.text_block h3 + p + p{
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 2%;
		margin-top: 1.5em;
	}
	
	section#message div.section_inner div.text_block p.name{
		margin-top: 46px;
		font-size: 2.0rem;
		font-weight: 700;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-end;
	}
	
	section#message div.section_inner div.text_block p.name span{
		width: 130px;
		display: inline-block;
		margin-left: 0.5em;
		line-height: 0;
	}
	
	section#message div.section_inner div.text_block p.name small{
		font-size: 1.6rem;
		font-weight: 400;
	}
	
	section#message div.section_inner figure{
		width: 42.2%;
		max-width: 556px;
		line-height: 0;
		margin-left: -4.3cqw;
	}
	
	section#philosophy {
		margin-top: 140px;
	}
	
	section#philosophy div.section_inner {
		width: 76.6%;
		max-width: 1104px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#philosophy div.section_inner div.text_block{
		width: 34%;
		margin-top: 52px;
	}
	
	section#philosophy div.section_inner div.text_block h3{
		margin-bottom: 66px;
	}
	
	section#philosophy div.section_inner div.text_block p{
		font-size: 2.0rem;
		font-weight: 700;
		line-height: 1.9;
	}
	
	section#philosophy div.section_inner div.img_block {
		width: 61.6%;
		height: 30.2cqw;
		max-height: 435px;
		line-height: 0;
		background: #D7D7DE;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	section#philosophy div.section_inner div.img_block div.img_block_inner {
		width: 71.3%;
		position: relative;
	}
	
	section#philosophy div.section_inner div.img_block div.img_block_inner .absolute{
		position: absolute;
		top: 0;
		left: 0;
	}
	
	section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse05 {
		z-index: 5;
	}
	section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse04 {
		z-index: 4;
	}
	section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse03 {
		z-index: 3;
	}
	section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse02 {
		z-index: 2;
	}
	section#philosophy div.section_inner div.img_block div.img_block_inner #arrow_head {
		width: 1.04cqw;
        max-width: 15px;
        height: 1.388cqw;
        max-height: 20px;
        left: 34.85%;
        top: 0;
        z-index: 7;
        opacity: 0;
	}
	section#philosophy div.section_inner div.img_block.is-active #arrow_head {
        animation: arrowHead .3s 1.3s ease forwards;
    }
	@keyframes arrowHead {
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }
	
	section#philosophy div.section_inner div.img_block div.img_block_inner #arrow_line {
		width: 76.6%;
        height: 1px;
        display: block;
        background: #000;
        position: absolute;
        left: 3.8%;
        bottom: 0;
        z-index: 6;
        transform-origin: left center;
        transform: rotate(-64deg) scaleX(0);
	}
	
	section#philosophy div.section_inner div.img_block.is-active #arrow_line {
        animation: arrowLine 1.5s ease-out forwards;
    }

    @keyframes arrowLine {
        0% {
            transform: rotate(-64deg) scaleX(0);
        }
        100% {
            transform: rotate(-64deg) scaleX(1);
        }
    }
	
	/* 初期状態 */
    section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse01,
    section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse02,
    section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse03,
    section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse04,
    section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse05,
    section#philosophy div.section_inner div.img_block div.img_block_inner #text01,
    section#philosophy div.section_inner div.img_block div.img_block_inner #text02,
    section#philosophy div.section_inner div.img_block div.img_block_inner #text03 {
        opacity: 0;
        transform: translateY(12px);
    }

    /* 楕円：下から順番に */
    section#philosophy div.section_inner div.img_block.is-active #ellipse01 {
        animation: partFade .45s .10s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #ellipse02 {
        animation: partFade .45s .25s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #ellipse03 {
        animation: partFade .45s .40s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #ellipse04 {
        animation: partFade .45s .55s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #ellipse05 {
        animation: partFade .45s .70s ease forwards;
    }


    /* テキスト */
    section#philosophy div.section_inner div.img_block.is-active #text01 {
        animation: partFade .45s .40s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #text02 {
        animation: partFade .45s .65s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #text03 {
        animation: partFade .45s .90s ease forwards;
    }

    /* 矢印 */
    section#philosophy div.section_inner div.img_block.is-active #arrow_line {
        animation: arrowLine 1.1s ease-out forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #arrow_head {
        animation: arrowHead .2s 1s ease forwards;
    }

    @keyframes partFade {
        0% {
            opacity: 0;
            transform: translateY(12px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }
	
	section#company {
		margin-top: 100px;
	}
	
	section#company div.section_inner{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#company div.section_inner dl{
		width: 71.8%;
		border-top: 1px solid #D7D7DE;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 44px;
	}
	
	section#company div.section_inner dl dt{
		width: calc(1.8rem * 8);
		font-size: 1.8rem;
		line-height: 1.5;
		padding: 32px 1em;
	}
	
	section#company div.section_inner dl dd{
		width: calc(100% - (1.8rem * 8));
		font-size: 1.6rem;
		line-height: 2;
		padding: 32px 0;
	}
	
	section#company div.section_inner dl dt,
	section#company div.section_inner dl dd {
		border-bottom: 1px solid #D7D7DE;
	}
	
	section#company div.section_inner dl dd b:not(:first-child) {
		margin-top: 1.5em;
	}
	
	section#company div.section_inner dl dd b{
		display: block;
	}
	
	section#access {
		margin-top: 100px;
	}
	
	section#access div.section_inner{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#access div.section_inner div.r_block{
		width: 71.8%;
	}
	
	section#access div.section_inner div.r_block div.block {
		padding-bottom: 40px;
	}
	
	section#access div.section_inner div.r_block div.block + div.block{
		padding-top: 40px;
		border-top: 1px solid #D7D7DE!important;
	}
	
	section#access div.section_inner div.r_block div.block h4{
		font-size: 2.8rem;
		font-weight: 500;
		line-height: 1;
	}
	
	section#access div.section_inner div.r_block div.block h4 small{
		display: inline-block;
		font-size: 53.5%;
		margin-left: 1.5em;
	}
	
	section#access div.section_inner div.r_block div.block p{
		font-size: 1.6rem;
		line-height: 1.56;
	}
	
	section#access div.section_inner div.r_block div.block div.add{
		margin: 30px 0 15px;
	}
	
	section#access div.section_inner div.r_block div.block div.add p{
		font-size: 2.0rem;
		font-weight: 500;
		line-height: 1.4;
		display: inline-block;
	}
	
	section#access div.section_inner div.r_block a{
		color: #000;
	}
	
	section#access div.section_inner div.r_block div.block div.add a{
		width: 15px;
		display: inline-block;
		line-height: 0;
		margin-left: 10px;
	}
	
	section#access div.section_inner div.r_block div.block ul{
		margin: 38px 0 0;
	}
	
	section#access div.section_inner div.r_block div.block ul li{
		font-size: 1.4rem;
		line-height: 1.3;
		text-indent: -1em;
		padding-left: 1em;
	}
	
	section#access div.section_inner div.r_block div.block ul li + li{
		margin-top: 5px;
	}
	
	section#access div.section_inner div.r_block div.block.fl_block{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#access div.section_inner div.r_block div.block.fl_block div.text_block{
		width: 64%;
	}
	
	section#access div.section_inner div.r_block div.block.fl_block figure{
		width: 32%;
	}
	
}


@media screen and (min-width:961px) and (max-width: 1440px){
	#page_title div.page_title_inner span.bg1 {
		left: -4.35cqw;
	}
}

@media screen and (min-width:1101px) and (max-width: 1240px){
	
	section#philosophy div.section_inner div.text_block{
		width: 320px;
	}
	
	section#philosophy div.section_inner div.img_block {
		width: 58%;
	}
}

@media screen and (min-width:961px) and (max-width: 1100px){
	
	section#philosophy div.section_inner div.text_block{
		width: 320px;
	}
	
	section#philosophy div.section_inner div.img_block {
		width: 54%;
	}
}
	

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){
	
	#page_title div.page_title_inner span.bg1 {
		width: 37%;
		top: 17.8cqw;
		left: -5cqw;
	}
	
	#page_title div.page_title_inner span.bg2 {
		width: 23.8%;
		top: 36.2cqw;
		left: 45.3%;
	}
	
	main h3 {
		font-family: YakuHanJP, "Libre Franklin";
		font-size: var(--f31);
		font-weight: 500;
		line-height: 1;
	}
	
	main h3 span{
		display: inline-block;
		width: clamp(calc(185px * 0.96), calc(185 * var(--scale)), calc(185px * 2.56));
		border-bottom: 1px solid #000;
		padding-bottom: 2px;
	}
	
	main h3 small{
		display: block;
		font-size: var(--f13);
		font-weight: 400;
		margin-top: 1.5em;
	}
	
	div.section_inner {
		width: 90%;
		margin: 0 auto;
	}
	
	section#history {
		width: 100%;
		padding: clamp(calc(43px * 0.96), calc(43 * var(--scale)), calc(43px * 2.56)) 0 clamp(calc(80px * 0.96), calc(80 * var(--scale)), calc(80px * 2.56));
		background: #D7D7DE;
		position: relative;
	}
	
	section#history::before {
		content: "";
		width: 100%;
		height: 100%;
		display: block;
		background: url("../images/aboutus/history_bg_sp.png") no-repeat;
		background-size: cover;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 0;
		pointer-events: none;
	}
	
	section#history div.section_inner {
		display: block;
		position: relative;
		z-index: 3;
	}
	
	section#history div.section_inner div.text_block{
		width: 100%;
		margin-bottom: clamp(calc(35px * 0.96), calc(35 * var(--scale)), calc(35px * 2.56));
	}
	
	section#history div.section_inner div.text_block h3{
		margin-bottom: clamp(calc(50px * 0.96), calc(50 * var(--scale)), calc(50px * 2.56));
	}
	
	section#history div.section_inner div.text_block p{
		font-size: var(--f14);
		line-height: 1.7;
		letter-spacing: 2%;
	}
	
	section#history div.section_inner div.text_block p + p{
		margin-top: clamp(calc(20px * 0.96), calc(20 * var(--scale)), calc(20px * 2.56));
	}
	
	section#history div.section_inner div.anime_block{
		height: 44cqw;
	}
	
	section#message {
		margin-top: clamp(calc(60px * 0.96), calc(60 * var(--scale)), calc(60px * 2.56));
	}
	
	section#message div.section_inner {
		display: block;
	}
	
	section#message div.section_inner div.text_block{
		width: 100%;
		margin-bottom: clamp(calc(32px * 0.96), calc(32 * var(--scale)), calc(32px * 2.56));
	}
	
	section#message div.section_inner div.text_block h3{
		margin-bottom: clamp(calc(32px * 0.96), calc(32 * var(--scale)), calc(32px * 2.56));
	}
	
	section#message div.section_inner div.text_block h3 + p{
		font-size: var(--f14);
		line-height: 1.7;
		letter-spacing: 2%;
	}
	
	section#message div.section_inner div.text_block h3 + p + p{
		font-size: var(--f14);
		line-height: 1.7;
		letter-spacing: 2%;
		margin-top: 1.5em;
	}
	
	section#message div.section_inner div.text_block p.name{
		margin-top: clamp(calc(32px * 0.96), calc(32 * var(--scale)), calc(32px * 2.56));
		font-size: var(--f18);
		font-weight: 700;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: flex-end;
	}
	
	section#message div.section_inner div.text_block p.name span{
		width: clamp(calc(120px * 0.96), calc(120 * var(--scale)), calc(120px * 2.56));
		display: inline-block;
		margin-left: 0.5em;
		line-height: 0;
	}
	
	section#message div.section_inner div.text_block p.name small{
		font-size: var(--f14);
		font-weight: 400;
	}
	
	section#message div.section_inner figure{
		width: 92.8cqw;
		line-height: 0;
		margin-top: clamp(calc(32px * 0.96), calc(32 * var(--scale)), calc(32px * 2.56));
		margin-left: -5cqw;
	}
	
	section#philosophy {
		margin-top: clamp(calc(62px * 0.96), calc(62 * var(--scale)), calc(62px * 2.56));
	}
	
	section#philosophy div.section_inner {
		width: 90%;
	}
	
	section#philosophy div.section_inner div.text_block{
		width: 100%;
	}
	
	section#philosophy div.section_inner div.text_block h3{
		margin-bottom: clamp(calc(36px * 0.96), calc(36 * var(--scale)), calc(36px * 2.56));
	}
	
	section#philosophy div.section_inner div.text_block p{
		font-size: var(--f15);
		font-weight: 700;
		line-height: 1.6;
	}
	
	section#philosophy div.section_inner div.img_block {
		width: 92.8cqw;
		height: 67.46cqw;
		margin-top: clamp(calc(32px * 0.96), calc(32 * var(--scale)), calc(32px * 2.56));
		margin-left: 5cqw;
		line-height: 0;
		background: #D7D7DE;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	section#philosophy div.section_inner div.img_block div.img_block_inner {
		width: 84.5%;
		position: relative;
	}
	
	section#philosophy div.section_inner div.img_block div.img_block_inner .absolute{
		position: absolute;
		top: 0;
		left: 0;
	}
	
	section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse05 {
		z-index: 5;
	}
	section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse04 {
		z-index: 4;
	}
	section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse03 {
		z-index: 3;
	}
	section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse02 {
		z-index: 2;
	}
	section#philosophy div.section_inner div.img_block div.img_block_inner #arrow_head {
		width: 1.65cqw;
        height: 2.4cqw;
        left: 35.6%;
        top: 0;
        z-index: 7;
        opacity: 0;
	}
	section#philosophy div.section_inner div.img_block.is-active #arrow_head {
        animation: arrowHead .3s 1.3s ease forwards;
    }
	@keyframes arrowHead {
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }
	
	section#philosophy div.section_inner div.img_block div.img_block_inner #arrow_line {
		width: 76.6%;
        height: 1px;
        display: block;
        background: #000;
        position: absolute;
        left: 3.8%;
        bottom: 0;
        z-index: 6;
        transform-origin: left center;
        transform: rotate(-64deg) scaleX(0);
	}
	
	section#philosophy div.section_inner div.img_block.is-active #arrow_line {
        animation: arrowLine 1.5s ease-out forwards;
    }

    @keyframes arrowLine {
        0% {
            transform: rotate(-64deg) scaleX(0);
        }
        100% {
            transform: rotate(-64deg) scaleX(1);
        }
    }
	
	/* 初期状態 */
    section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse01,
    section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse02,
    section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse03,
    section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse04,
    section#philosophy div.section_inner div.img_block div.img_block_inner #ellipse05,
    section#philosophy div.section_inner div.img_block div.img_block_inner #text01,
    section#philosophy div.section_inner div.img_block div.img_block_inner #text02,
    section#philosophy div.section_inner div.img_block div.img_block_inner #text03 {
        opacity: 0;
        transform: translateY(12px);
    }

    /* 楕円：下から順番に */
    section#philosophy div.section_inner div.img_block.is-active #ellipse01 {
        animation: partFade .45s .10s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #ellipse02 {
        animation: partFade .45s .25s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #ellipse03 {
        animation: partFade .45s .40s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #ellipse04 {
        animation: partFade .45s .55s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #ellipse05 {
        animation: partFade .45s .70s ease forwards;
    }


    /* テキスト */
    section#philosophy div.section_inner div.img_block.is-active #text01 {
        animation: partFade .45s .40s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #text02 {
        animation: partFade .45s .65s ease forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #text03 {
        animation: partFade .45s .90s ease forwards;
    }

    /* 矢印 */
    section#philosophy div.section_inner div.img_block.is-active #arrow_line {
        animation: arrowLine 1.1s ease-out forwards;
    }
    section#philosophy div.section_inner div.img_block.is-active #arrow_head {
        animation: arrowHead .2s 1s ease forwards;
    }

    @keyframes partFade {
        0% {
            opacity: 0;
            transform: translateY(12px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }
	
	section#company {
		margin-top: clamp(calc(62px * 0.96), calc(62 * var(--scale)), calc(62px * 2.56));
	}
	
	section#company div.section_inner{
		display: block;
	}
	
	section#company div.section_inner dl{
		width: 100%;
		margin-top: clamp(calc(32px * 0.96), calc(32 * var(--scale)), calc(32px * 2.56));
		border-top: 1px solid #D7D7DE;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#company div.section_inner dl dt{
		width: calc(var(--f15) * 6);
		font-size: var(--f15);
		line-height: 1.5;
		padding: clamp(calc(24px * 0.96), calc(24 * var(--scale)), calc(24px * 2.56)) 1em clamp(calc(24px * 0.96), calc(24 * var(--scale)), calc(24px * 2.56)) 0;
	}
	
	section#company div.section_inner dl dd{
		width: calc(100% - (var(--f15) * 6));
		font-size: var(--f14);
		line-height: 1.8;
		padding: clamp(calc(24px * 0.96), calc(24 * var(--scale)), calc(24px * 2.56)) 0;
	}
	
	section#company div.section_inner dl dt,
	section#company div.section_inner dl dd {
		border-bottom: 1px solid #D7D7DE;
	}
	
	section#company div.section_inner dl dd b:not(:first-child) {
		margin-top: 1.5em;
	}
	
	section#company div.section_inner dl dd b{
		font-size: var(--f15);
		display: block;
	}
	
	section#access {
		margin-top: clamp(calc(62px * 0.96), calc(62 * var(--scale)), calc(62px * 2.56));
	}
	
	section#access div.section_inner{
		display: block;
	}
	
	section#access div.section_inner div.r_block{
		margin-top: clamp(calc(32px * 0.96), calc(32 * var(--scale)), calc(32px * 2.56));
		width: 100%;
	}
	
	section#access div.section_inner div.r_block div.block {
		padding-bottom: clamp(calc(30px * 0.96), calc(30 * var(--scale)), calc(30px * 2.56));
	}
	
	section#access div.section_inner div.r_block div.block + div.block{
		padding-top: clamp(calc(30px * 0.96), calc(30 * var(--scale)), calc(30px * 2.56));
		border-top: 1px solid #D7D7DE!important;
	}
	
	section#access div.section_inner div.r_block div.block h4{
		font-size: var(--f20);
		font-weight: 500;
		line-height: 1;
	}
	
	section#access div.section_inner div.r_block div.block h4 small{
		display: inline-block;
		font-size: 53.5%;
		margin-left: 1.5em;
	}
	
	section#access div.section_inner div.r_block div.block p{
		font-size: var(--f14);
		line-height: 1.56;
	}
	
	section#access div.section_inner div.r_block div.block p a{
		color: #000;
	}
	
	section#access div.section_inner div.r_block div.block div.add{
		margin: 30px 0 15px;
	}
	
	section#access div.section_inner div.r_block div.block div.add p{
		font-size: var(--f16);
		font-weight: 500;
		line-height: 1.4;
		display: inline-block;
	}
	
	section#access div.section_inner div.r_block div.block div.add p a{
		color: #000;
		text-decoration: none;
	}
	
	section#access div.section_inner div.r_block div.block div.add a.icon{
		width: clamp(calc(12px * 0.96), calc(12 * var(--scale)), calc(12px * 2.56));
		display: inline-block;
		line-height: 1.4;
		margin-left: clamp(calc(8px * 0.96), calc(8 * var(--scale)), calc(8px * 2.56));
	}
	
	section#access div.section_inner div.r_block div.block ul{
		margin-top: clamp(calc(30px * 0.96), calc(30 * var(--scale)), calc(30px * 2.56));
	}
	
	section#access div.section_inner div.r_block div.block ul li{
		font-size: var(--f13);
		line-height: 1.3;
		text-indent: -1em;
		padding-left: 1em;
	}
	
	section#access div.section_inner div.r_block div.block ul li + li{
		margin-top: 0.5em;
	}
	
	section#access div.section_inner div.r_block div.block.fl_block{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#access div.section_inner div.r_block div.block.fl_block div.text_block{
		width: 100%;
	}
	
	section#access div.section_inner div.r_block div.block.fl_block figure{
		width: 80%;
		margin: 8cqw auto 0;
	}
}
