@charset 'UTF-8';

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: bold;
}

.ind1 {
	padding-left: 1em;
	text-indent: -1em;
}

.ind2 {
	padding-left: 2em;
	text-indent: -2em;
}

.ind3 {
	padding-left: 3em;
	text-indent: -3em;
}


/*IRレスポンシブ*/
#inner-content-area {
    margin-bottom: 40px;
}

#content {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}

#rightContent,
#leftNav2 {
    float: none !important;
}

#footer_breadcrumb+#footer {
    margin-top: 0;
}

img {
    max-width: 100%;
}

@media all and (max-width: 979px) {

    #inner-content-area,
    #rightContent {
        width: auto;
    }

    #content {
        flex-direction: column;
    }

    #rightContent {
        padding: 15px;
    }

    .h4_offLink,
    .h4_offLink *,
    .h4_onLink,
    .h4_onLink * {
        margin-bottom: 1em !important;
        padding: 0;

        background: none !important;
    }

    #leftNav2 {
        width: auto;
    }

    #leftNav2>a>img,
    #leftNav2>.cattitle::before {
        display: none;
    }

    #leftNav2>.cattitle {
        padding: .25em 1em;
        ;
    }

    #leftNav2>ul {
        border: none;
    }

    .h3_3co {
        font-size: 18px;

        margin-bottom: 1em !important;
        padding: 10px 0 5px;

        border: solid 1px #ccc;
        border-bottom-width: 3px;
        border-bottom-color: #ff4d4d;
        border-radius: 3px 3px 0 0;
        background: none;
    }

    .h3_3co .h3TxtWrap {
        padding: 0 10px;

        background: none;
    }

    .h4_offLink h1,
    .h4_onLink h1,
    .h4_offLink h2,
    .h4_onLink h2,
    .h4_offLink h3,
    .h4_onLink h3 {
        font-size: 16px;

        padding-top: 0;
    }

    .h4_offLink h2::before,
    .h4_onLink h2::before {
        display: inline-block;

        width: 3px;
        height: 1em;

        content: '';
        vertical-align: middle;

        background: #4279c5;
    }

    .h4Con {
        display: inline !important;

        padding-left: 5px !important;
    }



    .h4_onLink_1co span.h4Arr img,
    .h4_onLink span.h4Arr img,
    .h4_onLink_2co_2co span.h4Arr img,
    .h4_onLink_3co span.h4Arr img {
        margin-bottom: 0 !important;
    }

    .h4_onLink {
        position: relative;

        padding: 10px;

        border: solid 1px #ccc;
        border-radius: 5px;
    }

    .h4_onLink h2::before {
        margin-left: 10px;
    }

    .h4_onLink * {
        margin-bottom: 0 !important;
    }

    .h4_onLink .h4Con {
        position: static !important;
    }

    .h4_onLink .h4Arr {
        top: 50% !important;

        transform: translateY(-50%);
    }


    .lineH4 {
        display: none;
    }

    .bgOn {
        font-size: 14px;

        margin-bottom: 20px !important;
    }


    .relationLink {
        max-width: 100%;
    }

    #relation dl {
        float: none;

        width: calc(100% / 2.1);
        padding: 10px 0;
    }

    #relation .boxWrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #relation dl dt {
        padding: 0;
    }

    #relation h3 {
        position: relative;

        overflow: hidden;

        box-sizing: border-box;
        width: 100%;
        height: 37px;

        border-right: solid 1px #ccc;
    }

    #relation img[src$='relative_link.gif'] {
        position: absolute;
        top: 0;

        width: auto;
        max-width: none;
        height: 52px;
    }
}


.justify-item {
	display: block;
	width: calc(100% - 1em);
	margin: 0 auto;
	text-align-last: justify;
}


.vertical-item {
	text-align: center;
	letter-spacing: .15em;

	writing-mode: vertical-rl;
}


@media screen and (max-width:639px) {
	.swipe-item {
		overflow-x: auto;

		max-width: 100%;
	}

	.swipe-item table {
		width: 639px;
	}

	.swipe-item .sticky {
		position: sticky;
		left: 0;
	}

	.tablePattern02 .swipe-table-wrapper::before {
		font-size: 80%;
		font-weight: bold;
		display: block;
		width: 100%;

		content: '← スワイプしてご覧ください →';
		text-align: center;
		color: #ae6f12;
	}


	.tablePattern02 .swipe-item {
		border-left: solid 1px #ccc;
	}

	.tablePattern02 .swipe-table-wrapper table {
		position: relative;
		left: -1px;
		border-collapse: separate;
		border-right: none;
		border-left: none;
	}
}