@charset"utf-8";
/* CSS Document */
.spNone {
	display: block!important;
}
.pcNone {
	display: none!important;
}
body, h1, h2, h3, p {
	color: #282422;
	font-weight: 500;
}
p {
	word-break: break-all;
}
img {
	width: 100%;
}

.table_c li,
.ulbox li {
	list-style: disc;
	
}
.table_c li::marker,
.ulbox li::marker {
	font-size: 0.5em;
}

:hover {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
.contents {
    padding-top: 35px;
}
.txtlnk {
	width: 95%;
	max-width: 1260px;
	margin: 0 auto;
}
.txtlnk a {
	font-size: 13px;
	color: #282422;
}
.txtlnk a:hover {
	text-decoration: underline;
}
.tag {
	width: fit-content;
	padding: 0.25em 2em;
	align-content: center;
	font-size: 16px;
	font-weight: 500;
	border-radius: 50px;
	color: #ffffff;
}
.color_r {
	background: #e2515d;
}
.color_y {
	background: #fbb03b;
}
.color_b {
	background: #2986e2;
}
.color_g {
	background: #00a99d;
}
.color_p {
	background: #a68add;
}
.color_o {
    background: #fb973b;
}
a.color_r:hover {
	color: #e2515d;
	background: #fff;
}
a.color_y:hover {
	color: #fbb03b;
	background: #fff;
}
/*---------------------------------------------------
 
----------------------------------------------------*/
.shorturlarea {
	width: 95%;
	max-width: 1260px;
	margin: 30px auto 0;
	padding-bottom: 50px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}
.shorturlbox.column_l {
	width: 68%;
}
.shorturlbox.column_r {
	width: 29%;
}

.shorturlbox h1 {
	font-size: 30px;
	font-weight: 600;
	line-height: 1.3; 
	margin-top: .75em;
}
.shorturlbox .maintxt {
	font-size: 18px;
	margin: .75em 0 .5em;
}
.shorturlbox .date {
	font-size: 13px;
	margin: 1em 0 .5em;
	
}
.shorturlbox .mainimg {
	width: 100%;
	overflow: hidden;
	border-radius: 8px;
}
.shorturlbox .mainimg img {
	width: 100%;
	height: auto;
}

/*---------------------------------------------------
 
----------------------------------------------------*/
.table_c {
	width: 100%;
	padding: 2% 3%;
	margin: 20px 0 30px;
	border: 5px solid rgba(100, 100, 100, .2);
	border-radius: 8px;
	box-sizing: border-box;
	/*display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;*/
}
.table_c p {
	width: 100%;
	font-size: 18px;
	font-weight: 600;
	color: #282422;  
	margin-bottom: 1em;
}
.table_c div {
	width: 100%;
    margin-top: 1em;
	/*margin-right: 5%;*/
}
.table_c div:first-child {
    margin-top: 0;
}
/*.table_c div:last-child {
	margin-right: 0;
}*/
.table_c div li {
	font-size: 18px;
	margin-bottom: 1em;
	margin-left: 1.2em;
}
.table_c div li:last-child {
	margin-bottom: 0;
}
.table_c div li a {
	font-size: 18px;
	font-weight: 600;
    color: #333333;
	text-decoration: none;
}
.table_c div li a:hover {
	text-decoration: underline;
}
.table_c div li ul.small_titl li a {
    font-weight: 500;
	color: #282422;
}

/*---------------------------------------------------
 shortcontent_area
----------------------------------------------------*/
.shortcontent_area {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto 50px;
	box-sizing: border-box;
}
.shortcontent_area h2 {
	font-size: 20px;
    font-weight: 600;
    padding: .45em .5em .45em 1em;
    border-left: solid 5px #e2515d;
    /* border-bottom: solid 2px #e2515d; */
    margin-bottom: 1.5em;
    background: rgba(238, 238, 238, 0.5);
}
.shortcontent_area h3,
.shortcontent_area h4 {
	font-size: 20px;
	font-weight: 600;
	padding-left: .5em;
	border-left: solid 4px #ccc;
	margin-top: 1.5em;
	margin-bottom: .5em;
}
.shortcontent_area h4 {
	border-left: none;
	padding-left: 0;
}
.shortcontent_area p {
	font-size: 18px;
	line-height: 1.75;
}
.shortcontent_area p strong {
	font-weight: 700;
	color: #e2515d;
}
.shortcontent_area p a {
    text-decoration: underline;
}
.shortcontent_area p a:hover {
    text-decoration: none;
}
.ulbox {
    width: 100%;   
	margin: 1em 0;
    padding: 0 3.5em;
    /*border: dashed 1px #ccc;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;*/
    box-sizing: border-box;
}
.ulbox li {
	width: 100%;
	font-size: 18px;
	font-weight: 500;
	margin-top: .5em; 
	margin-right: 1.2em;
}
.ulbox li:first-child {
	margin-top: .25em; 
}
.ulbox li a {
    text-decoration: underline;
}
.ulbox li a:hover {
    text-decoration: none;
}
.table_c div li ul li {
    margin-bottom: .25em;
    line-height: 1.35;
}
.table_c div li ul li:first-child {
    margin-top: .35em;
}
.ulbox02 {
	padding: 2% 3%;
    border: dashed 1px #ccc;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.ulbox02 li {
    list-style: none;
	width: 30%;
    margin-top: .75em;
    margin-right: 3%;
}
.ulbox02 li:first-child,
.ulbox02 li:nth-child(2),
.ulbox02 li:nth-child(3) {
	margin-top: 0;
}

.mainctgr .maintxt {
    margin-top: 1em;
    margin-bottom: 0;
}
.mainctgr .ulbox.ulbox02 {
    margin-top: .5em;
}
.mainctgr .ulbox.ulbox02 li {
    width: 100%;
}
.mainctgr .ulbox.ulbox02 li {
    margin-top: .25em;
    text-indent: -0.5em;
    padding-left: 1em;
}

.short_table {
    width: 100%;
    min-width: 400px; 
	margin: 20px 0 50px;
    background: #fff;
}
.short_table th,.short_table td {
	width: fit-content;
	max-width: 50%;
    height: 2.75em;
	padding: .5em 1em;
    font-size: 15px;
    font-weight: 600;
    align-content: center;
    color: #ffffff;
    background: #e2515d;
    box-sizing: border-box;
}
.short_table td {
	height: 3em;
	font-size: 15px;
	font-weight: 500;
	color: #333;
	background: #fff;
}
.short_table tr:nth-child(2n+1) td {
	background: #f2f2f2;
}
.short_table th,
.short_table td {
	border-right: dashed 1px #ccc;
}
.short_table th:last-child,
.short_table td:last-child {
	border-right: none;
}
.short_table td.symbol {
	text-align: center;
}

.linkbox {
    width: 100%;
    margin: 40px auto 70px;
    padding: 3%;
	border-radius: 8px;
    background: #f2f2f2;
    box-sizing: border-box;
}
.linkbox p {
    font-size: 18px; 
    text-align: center;
}
.linkbox p a {
    color: #282422;
    text-decoration: underline;
}
.linkbox p a:hover {
    text-decoration: none;
}
.linkbox .btn {
	width: 100%;
	margin: 30px auto 0;
	display: flex;
	justify-content: space-around;
}
.linkbox .btn a {
	width: 40%;
	height: 60px;  
	padding: 0 1.5em;
	border-radius: 50px;
	font-size: 18px;
	color: #fff;
	text-align: center;
	align-content: center;
}
.btn a.color_r:hover {
	color: #e2515d;
}
.btn a.color_y:hover {
	color: #fbb03b;
}

.faqbox {
    width: 100%;
    padding: 1em 1.5em;
	margin-bottom: 10px;
    box-sizing: border-box;
}
.faqbox:nth-child(2n) {
	border-radius: 8px;
	background: rgba(238, 238, 238, 0.5);
}
.faqbox .icon {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 23px;
	font-weight: 700;
	color: #d43956;
	margin-right: 1em;
}
.faqbox_q,
.faqbox_a {
	display: flex;
	justify-content: flex-start;
    align-items: baseline;
}
.faqbox_q {
	width: 100%;
    padding-bottom: .5em;
    border-bottom: dashed 1px #ccc;
}
.faqbox_q h3 {
	padding: 0;
	margin: 0;
	border: none;
}
.faqbox_a {
	margin-top: 1em;
}

.content_img {
    margin-top: 1em; 
    margin-bottom: .5em;
}
.content_img img {
    width: 100%;
    height: auto;
	overflow: hidden;
	border-radius: 8px;
    margin-top: 1em;
}
.content_img img:first-child {
    margin-top: 0;
}

/*---------------------------------------------------
 txt-content_area
----------------------------------------------------*/
.column_r .titlename,
.undershorturlbox .titlename {
	font-size: 20px;
	font-weight: 600;
	padding-left: .5em;
	border-left: solid 5px #ccc; 
}
.txt-content {
	width: 100%;
	margin: 15px 0 50px;
	padding: 5%;
	border-radius: 6px;
	border: solid 1px #ccc;
	box-sizing: border-box;
}
.txt-contentbox {
    align-content: center;
}
.txt-contentbox a {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 15px; 
	align-items: center; 
	display: flex;
	justify-content: space-between;
}
.txt-contentbox a:hover {
	opacity: 0.7;
}
.txt-contentbox:last-child a {
	margin-bottom: 0;
}
.txt-contentbox a img {
	width: 40%;
	border-radius: 3px;
	align-content: center;
}
.txt-contentbox a div {
	width: 55%;    
    margin: 0 auto auto;
}
.txt-contentbox a div h2 {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: .5em;
	overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.txt-contentbox a div .date {
	margin: 0 auto;
	color: #333;
	overflow: hidden;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.undershorturlbox .txt-content {
    padding: 2.5%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.undershorturlbox .txt-content li {
    width: 48%;
}
.txt-contentbox:last-child a,
.txt-contentbox:nth-last-child(2) a{
    margin-bottom: 0;
}
/*---------------------------------------------------
 Morelnk page
----------------------------------------------------*/
.morelnk_page {
    width: 100%;
    display: flex;
    justify-content: space-between;
	margin: 0 0 50px;
}
.morelnk_page a {
	width: 30%;
	font-size: 14px;
	font-weight: 500;
	color: #282422;
}
.morelnk_page a:hover {
	opacity: 0.7;
}
.morelnk_page a p {
	margin-top: .75em; 
	font-size: 16px;
}
.morelnk_page a p small {
	font-size: 90%;
	font-weight: 500;
	color: #666666;
}
.morelnk_page a:nth-child(2),
.morelnk_page a:nth-child(2) p {
	text-align: center;
}
.morelnk_page a:last-child,
.morelnk_page a:last-child p {
	text-align: end;
}


/*---------------------------------------------------
 Point Box
----------------------------------------------------*/
.pointbox {
	margin: 1em 0;
	padding: 1em 2em;
	border-radius: 8px;
	background: #edf9f6;
	box-sizing: border-box;
}
.pointbox.p_orange {
    background: #fef7ed;
}
.pointbox.p_orange p.pointtitl,
.pointbox.p_orange p.pointtitl i {
	color: #f96b06;
}
.pointbox.p_blue {
    background: #f4f6fe;
}
.pointbox.p_blue p.pointtitl,
.pointbox.p_blue p.pointtitl i {
	color: #2e72e4;
}
.pointbox.p_purple {
    background: #f6f2fd;
}
.pointbox.p_purple p.pointtitl,
.pointbox.p_purple p.pointtitl i{
    color: #7e53e4;
}
.pointbox p {
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: .5em;
}
.pointbox p.pointtitl {
	font-size: 18px;
	font-weight: 600;
	color: #0c7f68;
	margin-bottom: .25em;
}

.pointbox .checkbox_icon {
    position: relative;
    width: 20px;
    height: 20px;
    margin: 0 .5em 0 0;
    appearance: none;
    background: #FFFFFF;
    border: solid 2px #808080;
    border-radius: 4px;
    box-shadow: 0 0 0 0 transparent;
}
/* チェックマーク */
.example2 label{
    cursor: pointer;
    display: block;
    position: relative;
    margin-bottom: .5em;
}
.example2 label::before{
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    border: 1px solid #CCC;
    background: #fff;
    border-radius: 3px;
    margin: 2px 5px -2px 2px;
}
.example2 input{
    display: none;
}
.example2 span{
    font-size: 16px;
    display: inline-block;
    position: relative;
}
.example2 input:checked+span::before{
    content: "";
    display: block;
    height: 5px;
    width: 10px;
    border-bottom: 3px solid #7f4de3;
    border-left: 3px solid #7f4de3;
    position: absolute;
    transform: rotate(-45deg);
    left: -20px;
    top: 0;
    bottom: 4px;
    margin: auto;
}
.example2 input:checked+span::before{
    animation: 0.5s example2;
}
@keyframes example2{
    0%{
        height: 0;
        width: 0;
        top: 5px;
        left: -20px;
    }
    30%{
        height: 5px;
        width: 0;
        top: 7px;
        left: -19px;
    }
    100%{
        height: 5px;
        width: 10px;
        top: 0px;
        left: -20px;
    }
}

@media screen and (max-width: 960px) {
/*////////////////////////////////////////////////
=pc→spに表示変更
////////////////////////////////////////////////*/
.spNone {
	display: block!important;
}
.pcNone {
	display: none!important;
}
	
	.contents {
		padding-top: 30px;
	}
/*---------------------------------------------------
 
----------------------------------------------------*/
	.shorturlbox h1 {
		font-size: min(30px, 3.125vw);
	}
	.shorturlbox .maintxt {
		font-size: min(18px, 1.875vw);
	}
	.shorturlbox .date {
		font-size: min(13px, 1.35vw);
	}
	.table_c {
		margin: 3% 0 5%;
		padding: 4% 6%;
	}
	.table_c div:last-child {
		width: 50%;
	}
	.table_c div li a {
		font-size: min(18px, 1.875vw);
	}
	.table_c p,
	.table_c div li {
		font-size: min(18px, 1.875vw);
	}
	.shortcontent_area h2 {
		font-size: min(20px, 2.08vw);
		margin-bottom: 1.25em;
	}
	.shortcontent_area h3,
	.shortcontent_area h4 {
		font-size: min(20px, 2.06vw);
		margin-top: 1em;
		margin-bottom: .5em;
	}
	.shortcontent_area p {
		font-size: min(18px, 1.875vw);
	}
	
	.short_table th, 
	.short_table td {
		font-size: min(15px, 1.5625vw);
	}
	.ulbox li {
		width: fit-content;
		min-width: 25%;
		font-size: min(18px, 1.875vw);
	}
	
	.linkbox {
		width: 100%;
		margin: 4% auto 7%;
		padding: 5% 5%;
	}
	.linkbox .btn a {
		width: 47.5%;
		height: auto;
		min-height: 60px;
		font-size: min(18px, 1.875vw);
		padding: 0 5%;
		box-sizing: border-box;
	}
	
	.faqbox {
		padding: .5em 1.5em;
		margin-bottom: 2%;
	}
	.faqbox .icon {
		font-size: min(23px, 2.39vw);
	}
	
	
	.column_r .titlename,
	.undershorturlbox .titlename {
		font-size: min(20px, 2.06vw);
	}
	.txt-contentbox a div h2 {
		font-size: min(15px, 1.5625vw);
	}
	.txt-content {
		margin: 1em 0 3em;
	}
	
	/*---------------------------------------------------
	Morelnk page
	----------------------------------------------------*/
	.morelnk_page a {
		font-size: min(14px,15vw);
	}
    .morelnk_page a p {
        margin-top: .75em;
        font-size: min(16px, 1.66vw);
    }
    /*---------------------------------------------------
      Point Box
    ----------------------------------------------------*/
    .pointbox p.pointtitl {
        font-size: min(18px, 1.875vw);
    }
	
}
@media screen and (max-width: 767px) {
/*////////////////////////////////////////////////
=pc→spに表示変更
////////////////////////////////////////////////*/
.spNone {
	display: none!important;
}
.pcNone {
	display: block!important;
}
	.tag {
		font-size: 4vw;
	}
/*---------------------------------------------------
 
----------------------------------------------------*/
	
	.shorturlarea {
		margin: 5% auto 0;
		padding-bottom: 15%;
		flex-wrap: wrap;
	}
	.shorturlbox.column_l,
	.shorturlbox.column_r {
		width: 100%;
	}
	.shorturlbox h1 {
        font-size: 6.5vw;
    }
   .shorturlbox .maintxt {
        font-size: 4.5vw;
    } 
	.shorturlbox .date {
        font-size: 4vw;
    }
	
	.table_c {
        margin: 5% 0;
        padding: 4% 2%;
        display: block;
    }
    .table_c div {
        margin-bottom: 1em;
	}
	.table_c div,
	.table_c div:last-child {
		width: 100%;
	}
	.table_c p, .table_c div li {
        font-size: 4.5vw;
    }
	.table_c div li a {
		font-size: 4vw;
	}
	
	.shortcontent_area h2 {
        font-size: 5.5vw;
        padding: .3em;
    }
	.shortcontent_area h3,
	.shortcontent_area h4 {
        font-size: 5vw;
    }
	.shortcontent_area p {
        font-size: 4.5vw;
    } 
	
	.ulbox {
		padding: 0.5% 5%;
	}
	.ulbox li,
	.ulbox li:first-child, 
	.ulbox li:nth-child(2), 
	.ulbox li:nth-child(3) {
        min-width: 100%;
        font-size: 4.5vw;
        margin: .75em 0 0;
    }
	.ulbox li:first-child {
		margin-top: 0;
	}
    .ulbox02 {
        padding: 5% 5%;
    }
	
	.short_table {
		width: 100%;
		min-width: unset;
		margin: 5% 0 10%;
	}
	.short_table th, 
	.short_table td {
		font-size: 4vw;
        line-height: 1.25;
        padding: .5em .5em;
    }
	
    .linkbox p {
        font-size: 4vw;
    }
	.linkbox .btn {
		width: 100%;
		margin: 5% auto 0;
		display: block;
	}
	.linkbox .btn a {
        width: 100%;
        font-size: 4.5vw;
        margin-bottom: 5%;
        box-sizing: border-box;
        display: block;
    }
	.linkbox .btn a:last-child {
        margin-bottom: 0;
    }
	
	.faqbox {
        padding: 1em 1.5em;
        margin-bottom: 2%;
    }
	.faqbox .icon {
        font-size: 6vw;
        margin-right: .75em;
    }
	.faqbox h3{
		margin-top: 0;
        margin-bottom: 0;
	}
	
	.content_img img {
		margin-top: 2%;
	}
	
	
	.column_r .titlename,
	.undershorturlbox .titlename {
        font-size: 5vw;
    }
	
    .txt-content:last-child {
        margin-bottom: 0;
    }
    .txt-contentbox {  
        margin: 0 auto 1em;
        padding-bottom: 1em;
        border-bottom: solid 1px #ccc;
    }
    .txt-contentbox:last-child {
        margin: 0 auto 0;
        padding-bottom: 0;
        border-bottom: none;        
    }
	.txt-contentbox a {
		width: 100%;
		display: block;
        margin-bottom: 0;
	}
	.txt-contentbox:last-child a {
		margin-bottom: 0;
	}
	.txt-contentbox a img {
		width: 100%;
		border-radius: 3px;
	}
    .txt-contentbox a div {
        width: 98%;
        margin: 1em auto 0;
    }
	.txt-contentbox a div h2 {
        font-size: 5vw;
		margin-bottom: .25em;
    }
	.shorturlbox .date {
        font-size: 4vw;
    }
	/*---------------------------------------------------
    morelnk
    ----------------------------------------------------*/
    .morelnk_page a p {
        margin-top: .75em;
        font-size: 4vw;
    }
	/*---------------------------------------------------
    
    ----------------------------------------------------*/
	.undershorturlbox {
		margin-bottom: 15%;
    }
    .undershorturlbox .txt-content {
        padding: 5%;
    }
	.undershorturlbox .txt-content .txt-contentbox,
	.undershorturlbox .txt-content .txt-contentbox:nth-last-child(2),
	.undershorturlbox .txt-content .txt-contentbox:last-child {
		width: 100%;
		margin-bottom: 5%;
	}
	.undershorturlbox .txt-content a div {
        width: 100%;
		margin: 2.5% auto 0;
    }
    .undershorturlbox .txt-content .txt-contentbox:last-child {
        border: none;
        padding-bottom: 0;
        margin-bottom: 1em;
    }
	
	/*---------------------------------------------------
	Point Box
	----------------------------------------------------*/
	    
    .pointbox p.pointtitl {
        font-size: 4.5vw;
    }
    .pointbox {
        margin: 1em 0;
        padding: 1em 1em;
    }
    .example2 span {
        font-size: 4vw;
    }
	
}
