/*style_legacy.css*/

/*------------------
common
--------------------*/

hr.gray {
	border-color: #ccc;
	margin-bottom: 40px;
}

@media screen and (min-width: 768px) {
	ul.page_links {
		align-items: stretch;
	}
	ul.page_links li a {
		height: 100%;
		min-height: 85px;
	}
	ul.page_links.flex_start {
		justify-content: flex-start;
	}
}

.center {
	text-align: center;
}

@media screen and (min-width: 768px) {
	p a[href*="tel:"] {
		color: #005BCB!important;
	}
}

.normal_box {
	border: 1px solid #212121;
	padding: 25px 20px 25px;
	margin: 60px auto 0;
}

@media screen and (max-width: 767px) {
	.normal_box {
		margin-top: 30px;
	}
}


/*------------------
section
--------------------*/

.section01 {
/*    padding: 115px 20px;*/
	margin: 120px 0 0;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .section01 {
		margin: 60px 0 0;
    }
}

.section01:last-child {
/*    padding-bottom: 210px*/
}

@media screen and (max-width: 767px) {
    .section01:last-child {
/*        padding-bottom:75px*/
    }
}

.section02 {
    margin-top: 60px
}

.section02:first-child {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .section02 {
        margin-top:40px
    }
}

.section03 {
    margin-top: 20px
}

.section03:first-child {
    margin-top: 0
}

.section04 {
    margin-top: 40px
}

.section04:first-child {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .section04 {
        margin-top:30px
    }
}

.section05 {
    margin-top: 100px
}

.section05:first-child {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .section05 {
        margin-top:50px
    }
}

/*------------------
link
--------------------*/

.blankLink01>a::after {
    display: inline-block;
    content: "";
    margin-left: 5px;
    width: 20px;
    height: 20px;
    background: url(/tukyo/img/common/ex_ic.png) no-repeat 0 0 / 100%;
    vertical-align: middle;
	margin-top: -4px;
}









/*------------------
title
--------------------*/

h2.heading01 {
    font-size: 3.6rem;
    padding-top: 18px;
    margin-bottom: 40px;
    border-top: 3px solid #E3E3E3;
    position: relative;
/*	margin-top: 120px;*/
}

h2.heading01:before {
    content: '';
    width: 100px;
    height: 3px;
    background-color: #005BAC;
    position: absolute;
    top: -3px;
    left: 0;
}

h3.heading02 {
	font-size: 2.2rem;
    font-weight: 700;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.3;
	background-color: #f0f0f0;
    padding: 15px 26px 16px 26px;
	margin-top: 40px;
	margin-bottom: 40px;
    position: relative;
}

h3.heading02:before {
    content: '';
    display: block;
    width: 10px;
    height: 100%;
    background-color: #658AAC;
    position: absolute;
    top: 0;
    left: 0;
}

/*heading11に手動でheading01を追加*/
h2.heading11.heading01 {
    font-size: 3.6rem;
    padding-top: 18px;
    margin-bottom: 40px;
    border-top: 3px solid #E3E3E3;
    position: relative;
/*	margin-top: 120px;*/
}

h2.heading11.heading01:before {
    content: '';
    width: 100px;
    height: 3px;
    background-color: #005BAC;
    position: absolute;
    top: -3px;
    left: 0;
}

.heading03 {
    font-size: 2.2rem;
    font-weight: 700;
    color: #005BAC;
    font-family: 'Noto Sans JP', sans-serif;
	margin-bottom: 20px;
}




.heading05 {
    font-size: 3.0rem;
	font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.4;
    text-align: center;
	color: #6c6c6c;
    margin-bottom: 40px
}

.heading05:last-child {
    margin-bottom: 0
}

@media screen and (max-width: 767px) {
    .heading05 {
        font-size:1.5rem
    }
}

.heading11 {
    position: relative;
    color: #005BAC;
    font-size: 3.6rem;
	font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.2;
    margin-bottom: 60px
}

.heading11:last-child {
    margin-bottom: 0
}

@media screen and (max-width: 767px) {
    .heading11 {
        font-size:2.2rem;
        margin-bottom: 40px
    }
}


/*------------------
subTitle02
--------------------*/

.subTitle02 {
	font-weight: 500;
	margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
    .subTitle02 {
        margin-bottom: 40px
    }
}


/*------------------
text
--------------------*/

.txt01:not(:first-child) {
    margin-top: 30px
}

@media screen and (max-width: 767px) {
    .txt01:not(:first-child) {
        margin-top:20px
    }
}

.txtWrap01 a {
	color: #005BAC;
}

.txt02:not(:first-child) {
    margin-top: 50px;
    color: #212121;
    font-size: 2.0rem;
    font-weight: 700
}

@media screen and (max-width: 767px) {
    .txt02:not(:first-child) {
        margin-top:40px;
        font-size: 1.2rem
    }
}

.txt03:not(:first-child) {
    margin-top: 20px;
    color: #212121;
    font-size: 2.4rem;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .txt03:not(:first-child) {
        font-size:1.5rem
    }
}

.subTitle01 {
    margin-top: 40px;
    font-size: 1.8rem;
    line-height: 1.5;
}

.pdfLink01>a::after {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url(/tukyo/img/common/pdf_link_ic.svg);
    background-size: contain;
    vertical-align: middle;
    margin-left: 5px;
    margin-top: -4px;
}

/*------------------
button btn01
--------------------*/

.btn01 > a {
	width: fit-content;
	min-width: 336px;
    height: 68px;
	max-width: 100%;
    margin: 40px auto 0;
	font-weight: 600;
    line-height: 1.2;
	color: #fff;
	text-decoration: none!important;
    padding: 10px 32px 10px 18px;
    background-color: #005BAC;
    position: relative;
    transition: all 0.4s ease-out;
    border-radius: 40px;
    text-align: left;
    display: flex;
    align-items: center;
    font-size: 1.6rem;
    padding-left: 32px;
}

.btn01 > a:before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto 0;
    transition: all 0.4s ease-out;
}

.btn01 > a:hover {
    opacity: 1;
    background-color: #8e8e8e;
}

.btn01 > a:hover::before {
    right: 9px;
}

/*------------------
button btn02
--------------------*/

.col04.type02 .btn02,
.col05.wow .btn02 {
/*	height: 100%;*/
}

.col04.type02 .btn02 > a,
.col05.wow .btn02 > a {
    display: block;
    position: relative;
    width: 100%;
/*	height: 100%;*/
	min-height: 124px;
    border-radius: 4px;
    background: #E0F0FF;
	background: linear-gradient(90deg,rgba(224, 240, 255, 1) 0%, rgba(226, 229, 255, 1) 100%);
	transition: 0.3s;
	display: flex;
	align-items: center;
	padding: 20px 54px 20px 20px;
}

.col04.type02 .btn02 > a >.inner01,
.col05.wow .btn02 > a >.inner01 {
    display: block;
    position: relative;
    padding: 0;
    width: 100%;
    color: #212121;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
	text-decoration: none;
    transition: all .3s
}

.col04.type02 .btn02 > a:before,
.col05.wow .btn02 > a:before {
    content: '';
    display: block;
    width: 28px;
    height: 28px;
    background: url(/tukyo/img/common/ban_ar.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 25px;
    margin: auto 0;
    transition: 0.5s;
}

.col04.type02 .btn02 > a:hover,
.col05.wow .btn02 > a:hover {
	opacity: 1;
	background: radial-gradient(circle,rgba(224, 240, 255, 1) 0%, rgba(226, 229, 255, 1) 100%);
}

.col04.type02 .btn02 > a:hover::before,
.col05.wow .btn02 > a:hover::before {
	right: 15px;
}

.col05:nth-child(4n+1) {
	margin-left: 0;
}


/*------------------
img
--------------------*/

.img01 img {
	display: block;
	max-width: 100%;
	margin: 40px auto 40px;
}

.caption01 {
    margin-top: 12px;
    font-size: 1.4rem;
    line-height: 1.4;
	text-align: left;
	width: fit-content;
	margin-left: auto;
	margin-right: auto
}

.caption01.tx_left {
	width: 100%;
}

.iframeWrap01 {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden
}

[class*="heading"]+.iframeWrap01 {
    margin-top: 60px
}

@media screen and (max-width: 767px) {
    [class*="heading"]+.iframeWrap01 {
        margin-top:40px
    }
}

.iframeWrap01 iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}




/*------------------
table
--------------------*/

table th, table td {
	line-height: 1.6;
}

table th span {
	color: #fff;
}

.table01.ofsr {
    min-width: 850px;
}

.table01 {
    width: 100%;
    border-spacing: 0;
}

/*既存サイトのtable横スクロール関連のスタイルを無効化*/

.mousedownb {
	display: none!important;
}

.mousedowna {
	display: none!important;
}



/*------------------
list
--------------------*/

.list01 {
    display: flex;
    flex-wrap: wrap;
    border-bottom: #005BCB solid 1px
}

.list01>dt {
    padding: 20px 0;
    width: 120px;
    border-top: #005BCB solid 1px;
    font-size: 1.4rem;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .list01>dt {
        padding:10px 0 0;
        width: 100%;
        font-size: 1.2rem
    }
}

.list01>dd {
    padding: 20px 0;
    width: calc(100% - 120px);
    border-top: #005BCB solid 1px
}

@media screen and (max-width: 767px) {
    .list01>dd {
        padding:5px 0 10px;
        width: 100%;
        border-top: none
    }
}

.list02:not(:first-child) {
    margin-top: 30px
}

@media screen and (max-width: 767px) {
    .list02:not(:first-child) {
        margin-top:20px
    }
}

.list02>li {
    position: relative;
    margin-top: 5px;
    padding-left: 20px
}

.list02>li::before {
    position: absolute;
    top: .7em;
    left: 5px;
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #005BCB;
}

@media screen and (max-width: 767px) {
    .list02>li::before {
        width:6px;
        height: 6px
    }
}

.list02.type02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.list02.type02>li {
    width: 48.4%
}

@media screen and (max-width: 767px) {
    .list02.type02>li {
        width:100%
    }
}

.list03 {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px
}

.list03>li {
    position: relative;
    margin: 10px 0 0 2.1%;
    width: 31.8%
}

.list03>li:nth-child(3n+1) {
    margin-left: 0
}

.list03>li.bg01,.list03>li.bg02 {
    background: no-repeat center 50% / 100%
}

.list03>li.bg01 {
    background-image: url("../images/tx01.png")
}

.list03>li.bg02 {
    background-image: url("../images/tx02.png")
}

.list04 {
    margin-top: 20px
}

@media screen and (max-width: 767px) {
    .list04 {
        margin-top:15px
    }
}

.list04>li {
    position: relative;
    margin-top: 3px;
    padding: 15px 25px 15px 40px;
    border-radius: 4px;
    background-color: #f2f6fc;
    color: #005BCB;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 767px) {
    .list04>li {
        padding:10px 3.3% 10px 26px;
        font-size: 1.1rem
    }
}

.list04>li::before {
    position: absolute;
    top: 1.5em;
    left: 20px;
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #005BCB;
}

@media screen and (max-width: 767px) {
    .list04>li::before {
        top:1.3em;
        left: 12px;
        width: 5px;
        height: 5px
    }
}

.list05 {
    display: flex;
    flex-wrap: wrap
}

@media screen and (max-width: 767px) {
    .list05 {
        justify-content:space-between;
        margin-left: 4.5%;
        margin-right: 4.5%
    }
}

.list05>li {
    margin: 30px 0 0 5.7%;
    width: 20.5%
}

.list05>li:nth-child(4n+1) {
    margin-left: 0
}

@media screen and (max-width: 767px) {
    .list05>li {
        margin:20px 0 0;
        width: 47.4%
    }
}

.list05>li>a {
    display: block
}

@media screen and (max-width: 767px) {
    .list05>li>a>.image01 {
        margin:0 auto;
        width: 70.3%
    }
}

.list05>li>a>.text01 {
    margin-top: 10px;
    font-weight: 500;
    text-align: center
}

.list06 {
    margin-top: 40px
}

@media screen and (max-width: 767px) {
    .list06 {
        margin-top:20px
    }
}

.list06>li.btn01 {
    margin-top: 2px;
    width: 100%
}

@media screen and (max-width: 767px) {
    .list06>li.btn01 {
        margin-top:7px
    }
}

.list06>li.btn01>a {
    width: 100%
}

.list07 {
    margin-top: 10px
}

.list07>li {
    position: relative;
    margin-top: 3px;
    padding-left: 17px;
    line-height: 1.5
}

@media screen and (max-width: 767px) {
    .list07>li {
        font-size:1.1rem
    }
}

.list07>li::before {
    position: absolute;
    top: .5em;
    left: 0;
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #212121;
}

@media screen and (max-width: 767px) {
    .list07>li::before {
        width:5px;
        height: 5px
    }
}

.list08 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px 40px;
    border: #f0f0f0 solid 6px;
    border-radius: 4px
}

@media screen and (max-width: 767px) {
    .list08 {
        padding:25px 7.2%;
        border-width: 5px
    }
}

.list08>dt {
    width: 150px;
    color: #212121;
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: 700
}

@media screen and (max-width: 767px) {
    .list08>dt {
        width:100%;
        font-size: 1.9rem;
        text-align: center
    }
}

.list08>dd {
    padding: 20px 0 20px 30px;
    width: calc(100% - 150px);
    border-left: #f0f0f0 solid 1px;
    color: #212121;
}

@media screen and (max-width: 767px) {
    .list08>dd {
        margin-top:20px;
        padding: 20px 0 0;
        width: 100%;
        border-top: #f0f0f0 solid 1px;
        border-left: none
    }
}

.list09 {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px
}

.list09>li {
    margin: 2px 2px 0 0
}

.list10 {
    margin-top: 20px
}

.list10>li {
    margin-top: 5px
}

.list11 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-top: 10px
}

.list11>dt {
    margin: 10px 13px 0 0;
    padding: 5px 10px;
    width: 80px;
    border: #212121 solid 1px;
    border-radius: 2px;
    line-height: 1.2;
    color: #212121;
    text-align: center
}

@media screen and (max-width: 767px) {
    .list11>dt {
        font-size:1.6rem
    }
}

.list11>dd {
    margin-top: 10px;
    width: calc(100% - 93px);
    color: #212121;
}

@media screen and (max-width: 767px) {
    .list11>dd {
        font-size:1.6rem
    }
}

.list11>dd a {
    color: #212121;
    text-decoration: underline
}

.list11>dd a:hover,.list11>dd a:active {
    color: #005BCB;
}

@media screen and (max-width: 767px) {
    .list11>dd a:hover,.list11>dd a:active {
        color:#212121;
    }
}

.list12>dt {
    position: relative;
    padding: 20px 60px 20px 43px;
    border-bottom: #005BCB solid 2px;
    color: #212121;
    font-size: 2.0rem;
    font-weight: 500;
    cursor: pointer
}

@media screen and (max-width: 767px) {
    .list12>dt {
        padding:20px 40px 20px 25px;
        font-size: 1.5rem
    }
}

.list12>dt:first-child {
    margin-top: 0
}

.list12>dt::before,.list12>dt::after {
    position: absolute;
    top: 50%;
    content: "";
    transform: translateY(-50%);
    background-color: #005BCB;
    transition: all .3s
}

.list12>dt::before {
    right: 0;
    width: 40px;
    height: 2px
}

@media screen and (max-width: 767px) {
    .list12>dt::before {
        width:30px
    }
}

.list12>dt::after {
    right: 19px;
    width: 2px;
    height: 40px
}

@media screen and (max-width: 767px) {
    .list12>dt::after {
        right:14px;
        height: 30px
    }
}

.list12>dt>.icon01 {
    position: absolute;
    top: .3em;
    left: 0;
    font-size: 3.0rem;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .list12>dt>.icon01 {
        top:.8em;
        font-size: 1.8rem
    }
}

.list12>dt.active {
    border-bottom: none
}

.list12>dt.active::before {
    background-color: #212121;
}

.list12>dt.active::after {
    background-color: #212121;
    transform: translateY(-50%) rotate(90deg)
}

.list12>dd {
    position: relative;
    margin-top: 20px;
    padding: 30px 30px 30px 70px;
    background-color: #e4eefb;
}

@media screen and (max-width: 767px) {
    .list12>dd {
        margin-top:10px;
        padding: 30px 6.2% 30px 30px
    }
}

.list12>dd>.icon01 {
    position: absolute;
    top: 30px;
    left: 40px;
    color: #212121;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.0
}

@media screen and (max-width: 767px) {
    .list12>dd>.icon01 {
        top:33px;
        left: 12px;
        font-size: 1.5rem
    }
}

.list12>dd>.icon01+.text01,.list12>dd>.icon01+.image01,.list12>dd>.icon01+.list02 {
    margin-top: 0
}

.list12>dd>.text01 {
    margin-top: 20px
}

.list12>dd>.image01 {
    margin-top: 20px
}

.list12>dd>.list02 {
    margin-top: 20px
}


/*------------------
wrap
--------------------*/

.wrap01 {
    display: flex;
    flex-wrap: wrap
}

.pcNone+.wrap01 {
    margin-top: 0
}

.wrap01 .img01 img {
	margin: 0 auto 0;
}

@media screen and (min-width: 768px) {
	.wrap01 .img01.img_left img {
		margin-left: 0;
	}
}

.wrap01,.wrapper01,.frameArea01,.txtWrap01,.subTitle04,.ancList01,.list01,.list05,.list08,.table01 {
    margin-bottom: 40px
}

@media screen and (max-width: 767px) {
	.wrap01,.wrapper01,
	.frameArea01,
	.txtWrap01,
	.subTitle04,
	.ancList01,
	.list01,
	.list05,
	.list08,
	.table01 {
        margin-bottom:32px
    }
	.table_scroll .table01 {
		margin-bottom: 0;
	}
}


.wrap01:last-child,.wrapper01:last-child,.frameArea01:last-child,.txtWrap01:last-child,.subTitle04:last-child,.ancList01:last-child,.list01:last-child,.list05:last-child,.list08:last-child,.table01:last-child {
    margin-bottom: 0
}

.table_scroll .table01 {
	margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .pcNone+.wrap01 {
        margin-top:50px
    }
}

.wrap01.bC {
    justify-content: center
}

.wrap01.between {
    justify-content: space-between
}

.wrap01.aC {
    align-items: center
}

.wrap01.aEnd {
    align-items: flex-end
}

.wrap01.reverse {
    flex-direction: row-reverse
}

.contents01 {
    padding-top: 120px;
    overflow: hidden
}

@media screen and (max-width: 767px) {
    .contents01 {
        padding-top:63px
    }
}

.mainArea01 img {
    width: 100%;
    height: auto
}

.mainArea01 .iframeWrap01>iframe {
    pointer-events: none
}

@media screen and (max-width: 767px) {
    .mainArea01 .iframeWrap01>iframe {
        pointer-events:auto
    }
}




/*------------------
col
--------------------*/

.col01 {
/*    width: 46.8%;*/
	width: 46%;
}

@media screen and (max-width: 767px) {
    .col01 {
        width:94%
    }

    .col02+.col01 {
        margin: 0 0 0 auto
    }
}

.col01+.col01 {
    margin-left: 3.2%
}

@media screen and (max-width: 767px) {
    .col01+.col01 {
        margin-left:0
    }
}

.col01>.image01>a {
    display: block;
    position: relative
}

.col01>.image01>a>.text01 {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 20px 40px;
    width: 100%;
    background-color: rgba(255,255,255,0.9);
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.5
}

@media screen and (max-width: 767px) {
    .col01>.image01>a>.text01 {
        padding:15px 5.9%;
        font-size: 1.5rem
    }
}

.col01.type02 {
    width: 66.6%
}

@media screen and (max-width: 767px) {
    .col01.type02 {
        width:100%
    }
}

.col01.type03 {
    width: 30%
}

@media screen and (max-width: 767px) {
    .col01.type03 {
        width:100%
    }
}

.col02 {
    position: relative;
    z-index: 2;
    margin: 30px 0 0 -40px;
    padding: 40px;
    width: 57.2%;
    padding: 40px;
/*	width: 54%;*/
    border-radius: 4px;
    background-color: #fff
}

.col02:first-child {
    margin: 30px -40px 0 0
}

@media screen and (max-width: 767px) {
    .col02 {
        margin:-30px 0 0 5.9%;
        padding: 25px 9%;
        width: 94.1%
    }

    .col02:first-child {
        margin: 0 0 -25px 0;
        padding: 25px 9%
    }
}

.col02>.heading03 {
    margin-top: 30px;
    margin-bottom: 0
}

.col02>.heading03:first-child {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .col02>.heading03 {
        margin-top:20px
    }
}

.col02>.text01 {
    margin-top: 30px;
    color: #272727;
    font-size: 1.4rem
}

.col02>.text01:first-child {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .col02>.text01 {
        margin-top:20px;
        font-size: 1.0rem
    }
}

.col02>.text02 {
    margin-top: 10px;
    color: #272727;
    font-size: 2.0rem
}

.col02>.text02:first-child {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .col02>.text02 {
        font-size:1.5rem
    }
}

.col02.type02 {
    width: 37.5%
}

@media screen and (max-width: 767px) {
    .col02.type02 {
        margin:25px 0 0;
        padding: 0;
        width: 100%;
        background: none
    }
}

.col02.type03 {
    width: 73%;
    padding: 28px
}

.col02.type03 .VoiceIntro {
    overflow-y: hidden;
    margin-top: 20px;
    position: relative
}

.col02.type03 .VoiceIntro:after {
    content: "";
    width: 100%;
    height: 40px;
    display: block;
    bottom: 0;
    position: absolute;
    background: -moz-linear-gradient(top, rgba(255,255,255,0), #fff);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0), #fff);
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff)
}

.col02.type03 .VoiceIntro.active:after {
    content: none
}

.col02.type03 .VoiceIntro .VoiceIntroLink {
    display: flex;
    justify-content: center;
    margin-top: 32px
}

.col02.type03 .VoiceIntroMore {
    cursor: pointer;
    margin: 50px auto 0;
    width: 320px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 46px 10px 0;
    height: 60px;
    border: #289fef solid 1px;
    color: #289fef;
    border-radius: 4px;
    background-color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    transition: all .3s;
    position: relative
}

@media screen and (max-width: 767px) {
    .col02.type03 .VoiceIntroMore {
        width:100%;
        padding: 18px 46px 18px 0;
        min-height: inherit;
        font-size: 1.3rem
    }
}

.col02.type03 .VoiceIntroMore::after {
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -16px;
    content: "";
    width: 18px;
    height: 18px;
    border-bottom: #289fef 2px solid;
    border-right: #289fef 2px solid;
    transform: rotate(45deg);
    transition: all .3s;
    display: block
}

.col02.type03 .VoiceIntroMore.active:after {
    transform: rotate(225deg);
    margin-top: -4px
}

.col02.type03 .VoiceIntroMore:hover {
    background-color: #289fef;
    color: #fff
}

.col02.type03 .VoiceIntroMore:hover::after {
    border-bottom: #fff 2px solid;
    border-right: #fff 2px solid
}

@media screen and (max-width: 767px) {
    .col02.type03 .VoiceIntroMore:hover {
        background-color:#fff;
        color: #289fef
    }

    .col02.type03 .VoiceIntroMore:hover::after {
        border-bottom: #289fef 2px solid;
        border-right: #289fef 2px solid
    }
}

@media screen and (max-width: 767px) {
    .col02.type03 {
        width:100% !important;
        margin: 0 !important;
        border-radius: 0 !important
    }
}

.col03 {
    position: relative;
    margin-top: 50px;
    width: 48.5%
}

.col03:nth-child(1),.col03:nth-child(2) {
    margin-top: 0
}

.col03.type02 {
    padding-bottom: 55px
}

@media screen and (max-width: 767px) {
    .col03.type02 {
        padding-bottom:0
    }
}

@media screen and (max-width: 767px) {
    .col03 {
        margin-top:30px
    }

    .col03.frameArea03 {
        width: 100%
    }

    .frameArea03+.col03.frameArea03 {
        margin-top: 20px
    }

    .col03.width100 {
        width: 100%
    }

    .width100+.col03.width100 {
        margin-top: 20px
    }
}

.col03>.image01 {
    position: relative
}

.col03>.image01>a {
    display: block;
    position: relative
}

.col03>.image01>a>.text01 {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 20px 40px;
    width: 100%;
    background-color: rgba(255,255,255,0.9);
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.5
}

@media screen and (max-width: 767px) {
    .col03>.image01>a>.text01 {
        padding:15px 5.9%;
        font-size: 1.5rem
    }
}

.col03>.textBottom01 {
    position: absolute;
    bottom: 0;
    padding-bottom: 5px;
    width: 100%;
    border-bottom: #124fbd solid 1px;
    color: #272727;
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: right
}

@media screen and (max-width: 767px) {
    .col03>.textBottom01 {
        position:static;
        margin-top: 20px;
        font-size: 1.5rem
    }
}

.col03>.textBottom01>.font01 {
    font-size: 3.0rem
}

@media screen and (max-width: 767px) {
    .col03>.textBottom01>.font01 {
        font-size:2.4rem
    }
}

.col04 {
    margin: 60px 0 0 3.1%;
    width: 31.2%
}

.col04:nth-child(3n+1) {
    margin-left: 0
}

.col04:nth-child(1),.col04:nth-child(2),.col04:nth-child(3) {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .col04 {
        margin-top:30px
    }
}

.col04>.image01 {
    position: relative
}

/*
.col04.type02:nth-child(3n+1) {
    margin-top: 120px
}

.col04.type02:nth-child(3n+2) {
    margin-top: 90px
}

.col04.type02:nth-child(1) {
    margin-top: 60px
}

.col04.type02:nth-child(2) {
    margin-top: 30px
}
*/

@media screen and (max-width: 767px) {
    .col04.type02 {
        margin-left:0;
        width: 100%
    }

/*
    .col04.type02:nth-child(3n+1),.col04.type02:nth-child(3n+2),.col04.type02:nth-child(3n+3) {
        margin-top: 30px
    }

    .col04.type02:first-child {
        margin-top: 0
    }
*/
}

.col05 {
    margin-left: 17px;
    width: calc(100% / 4 - 17px)
}

/*
.col05:nth-child(4n+1) {
    margin: 50px 0 0 0
}

.col05:nth-child(4n+2) {
    margin-top: 30px
}

.col05:nth-child(4n+3) {
    margin-top: 10px
}
*/

@media screen and (max-width: 767px) {
    .col05 {
        margin-top:20px;
        margin-left: 0;
        width: 100%
    }

/*
    .col05:nth-child(4n+1),.col05:nth-child(4n+2),.col05:nth-child(4n+3) {
        margin-top: 20px
    }

    .col05:first-child {
        margin-top: 0
    }
*/
}

.col06 {
    margin-top: 50px;
    width: 50%
}

.col06:nth-child(1),.col06:nth-child(2) {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .col06 {
        width:100%
    }

    .col06+.col06 {
        margin-top: 30px
    }
}

.col06>.image01 {
    position: relative;
    width: 93.7%
}

.col07 {
    width: 47.3%
}

@media screen and (max-width: 767px) {
    .col07 {
        width:100%
    }

    .col07+.col07 {
        margin-top: 30px
    }
}

.col08 {
    margin-top: 40px;
    width: calc(100% / 3)
}

.col08:nth-child(3n+1) {
    margin-top: 120px
}

.col08:nth-child(3n+2) {
    margin-top: 80px
}

@media screen and (max-width: 767px) {
    .col08 {
        margin-top:60px;
        width: 100%
    }

    .col08:first-child {
        margin-top: 0
    }

    .col08:nth-child(3n+1),.col08:nth-child(3n+2) {
        margin-top: 60px
    }
}

.col08>.image01 {
    position: relative;
    width: 93.7%
}

.col08>.image01>.icon01 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -30px;
    left: 20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #f0ff00;
    color: #124fbd;
    font-size: 2.6rem;
    font-weight: 700
}

.col09 {
    margin-top: 50px;
    width: 45.8%
}

.col09:nth-child(1),.col09:nth-child(2) {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .col09 {
        width:100%
    }

    .col09+.col09 {
        margin-top: 30px
    }
}

.col10 {
    margin-top: 50px;
    width: 100%
}

.col10:nth-child(1) {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .col10 {
        width:100%
    }

    .col10+.col10 {
        margin-top: 30px
    }
}

.col10>.image01 {
    position: relative;
    width: 96.8%
}

.col11 {
    margin-top: 30px;
    width: 46.2%
}

@media screen and (max-width: 767px) {
    .col11 {
        margin-top:20px;
        width: 100%
    }
}

.col11>.text01 {
    margin-top: 30px;
    color: #272727;
    font-size: 2.0rem;
    font-weight: 700
}

@media screen and (max-width: 767px) {
    .col11>.text01 {
        font-size:1.6rem
    }
}

.col12 {
    width: 46.8%
}

@media screen and (max-width: 767px) {
    .col12 {
        width:100%
    }
}

.col13 {
    width: 100%;
    margin-top: 40px
}

.col13:nth-child(1) {
    margin-top: 0
}


/*------------------
frame01
--------------------*/

.frameArea01 {
    padding: 20px 60px;
    border: #005BAC solid 4px;
    border-radius: 4px
}

.frameArea01.red {
    border-color: #ca260b;
    color: #ca260b
}

.frameArea01.red p {
	color: #ca260b
}

.frameArea01.red a {
    color: #ca260b
}

.frameArea01.red a:hover,.frameArea01.red a:active {
    color: #a21e09
}

@media screen and (max-width: 767px) {
    .frameArea01.red a:hover,.frameArea01.red a:active {
        color:#ca260b
    }
}

@media screen and (max-width: 767px) {
    .frameArea01 {
        margin-top:30px;
        padding-right: 5.3%;
        padding-left: 5.3%
    }
}

.frameArea01>.text01 {
    margin-top: 20px
}

.frameArea01>.text01:first-child {
    margin-top: 0
}

.frameArea01>.text01>a {
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .frameArea01>.text01>a {
        font-size:1.5rem
    }
}

/*------------------
frame03
--------------------*/

.frameArea03 {
    position: relative;
    padding: 15px 25px 20px;
    background: #E0F0FF;
	background: linear-gradient(90deg,rgba(224, 240, 255, 1) 0%, rgba(226, 229, 255, 1) 100%);
/*	height: 195px;*/
	height: auto;
	min-height: 195px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.frameArea03 h2 {
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: 500;
}

.frameArea03:before {
	content: '';
	display: block;
	width: 100%;
	height: 55%;
	background-color: rgba(192,209,241,0.2);
	position: absolute;
	top: 0;
	left: 0;
}

.frameArea03 .text01 {
	line-height: 1.5;
}

.frameArea03 .btn01 {
	margin-top: 25px;
}

.frameArea03 .btn01 a {
	position: relative;
	width: 234px;
	height: 60px;
	margin: 0 auto;
	background-color: #fff;
	border: 1px solid #005BAC;
	font-size: 1.6rem;
	font-weight: 700;
	color: #005BAC;
	text-decoration: none;
	display: flex;
	align-items: center;
	padding: 15px 40px 15px 20px;
	overflow: hidden;
    transition: all 0.4s;
}

.frameArea03 .btn01 a:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #005BAC;
    border-right: solid 2px #005BAC;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
    transform: translateX(0) rotate(45deg);
    transition: transform .35s cubic-bezier(.22, .61, .36, 1);
}

.frameArea03 .btn01 a:hover,
.frameArea03 .btn01 a:focus-visible {
    opacity: 1;
    background-color: #005BAC;
    color: #fff;
}

/*
.frameArea03 .btn01 a:hover::after,
.frameArea03 .btn01 a:focus-visible::after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: translateX(6px) rotate(45deg);
}
*/

/*------------------
frame04
--------------------*/

.frameArea04 {
    margin-top: 100px;
    padding: 55px;
    border: #f0ff00 solid 4px;
    border-radius: 4px;
    background-color: #fdfee6
}

@media screen and (max-width: 767px) {
    .frameArea04 {
        margin-top:50px;
        padding: 26px 8.6%
    }
}

.frameArea04>.image01 {
    margin-top: 40px
}

@media screen and (max-width: 767px) {
    .frameArea04>.image01 {
        margin-top:20px
    }
}


/*260303*/

.btn01 > a {
    justify-content: center;
}







