@charset "utf-8";

/************************************************
 カスタムコンテンツ用スタイル
************************************************ */
.custom-01,
.custom-02,
.custom-03,
.custom_standard-01,
.custom_standard-02,
.custom_standard-03,
.custom_boxlayout-01,
.custom-circle-01,
.custom-circle-02{
	display: inline-block;
}

/* custom-01のスタイル */
.custom-01 {
    width: 100%;
    margin: 0 auto;
}
.custom-01 a {
    display: inline-block;
    width: 100%;
}
.custom-01 dl {
    width: 100%;
    border: 1px solid #eee;
    overflow: hidden;
    margin-bottom: 40px;
}
.custom-01 dt,.custom-01 dd {
    width: 47%;
    float: left;
    margin: 2%;
}
.custom-01 dt {
    height: 263px;
    margin: 2% 1% 2% 2%;
    font-size: 18px;
    overflow: hidden;
}
.custom-01 dd {
    height: 263px;
    overflow: hidden;
    position: relative;
    margin: 2% 2% 2% 1%;
}

/* 登録画像中央揃え */
.imgcover img {
    width: 100%;
}
.imgcover img {
    position: absolute;
    width: auto;
    height: auto;
    top: 50%;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}
@supports ( object-fit: cover ) {
.imgcover img {
        position: static;
        height: 100%;
        width: 100%;
        left: 0;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        -ms-transform: none;
        -moz-transform: none;
        -webkit-transform: none;
        transform: none;
    }
}

/* custom_standard-01 のスタイル */
.custom_standard-01 {
    width: 100%;
    margin: 0 auto;
}
.custom_standard-01 a {
    display: inline-block;
    width: 100%;
}
.custom_standard-01 dl {
    width: 100%;
    border: 1px solid #eee;
    overflow: hidden;
    margin-bottom: 40px;
}
.custom_standard-01 dt,.custom_standard-01 dd {
    width: 96%;
    margin: 2%;
}
.custom_standard-01 dl {
    font-size: 18px;
}
.custom_standard-01 dt {
    height: 258px;
    overflow: hidden;
    position: relative;
    margin: 2%;
}
.custom_standard-01 dd {
    height: 120px;
    overflow: hidden;
}

/* custom-02のスタイル */
.custom-02 {
    width: 100%;
    margin: 0 auto;
}
.custom-02 a {
    display: inline-block;
    width: 100%;
}
.custom-02 dl {
    width: 49%;
    border: 1px solid #eee;
    overflow: hidden;
    margin-bottom: 40px;
    float: left;
    box-sizing: border-box;
    margin-right: 2%;
}
.custom-02 dl:nth-child(even) {
    margin-right: 0;
}
.custom-02 dt,.custom-02 dd {
    width: 45%;
    height: 174px;
    overflow: hidden;
    float: left;
    margin: 2%;
}
.custom-02 dt {
    margin: 3% 2% 3% 3%;
    font-size: 15px;
}
.custom-02 dd {
    height: 174px;
    overflow: hidden;
    position: relative;
    margin: 3% 3% 3% 2%;
}
.imgcover img {
    width: 100%;
}

/* custom_standard-02 のスタイル */
.custom_standard-02 {
    width: 100%;
    margin: 0 auto;
}
.custom_standard-02 a {
    display: inline-block;
    width: 100%;
}
.custom_standard-02 dl {
    width: 49%;
    border: 1px solid #eee;
    overflow: hidden;
    margin-bottom: 40px;
    float: left;
    box-sizing: border-box;
    margin-right: 2%;
}
.custom_standard-02 dl:nth-child(even) {
    margin-right: 0;
}
.custom_standard-02 dt,.custom_standard-02 dd {
    width: 96%;
    margin: 2%;
}
.custom_standard-02 dl {
    font-size: 18px;
}
.custom_standard-02 dt {
    height: 250px;
    overflow: hidden;
    position: relative;
    margin: 2%;
}
.custom_standard-02 dd {
	height: 100px;
    overflow: hidden;
    margin: 2%;
    font-size: 15px;
}

/* custom-03のスタイル */
.custom-03 {
    width: 100%;
    margin: 0 auto;
}
.custom-03 dl {
    width: 32%;
    border: 1px solid #eee;
    overflow: hidden;
    margin-bottom: 40px;
    float: left;
    box-sizing: border-box;
    margin-right: 2%;
}
.custom-03 dl:nth-child(3n) {
    margin-right: 0;
}
.custom-03 dt,.custom-03 dd {
    float: left;
    margin: 2%;
}
.custom-03 dt {
    width: 56%;
    margin: 4% 2% 4% 4%;
    height: 116px;
    overflow: hidden;
    font-size: 14px;
}
.custom-03 dd {
    width: 32%;
    height: 116px;
    overflow: hidden;
    position: relative;
    margin: 4% 4% 4% 2%;
}

/* custom_standard-03 のスタイル */
.custom_standard-03 {
    width: 100%;
    margin: 0 auto;
}
.custom_standard-03 a {
    display: inline-block;
    width: 100%;
}
.custom_standard-03 dl {
    width: 32%;
    border: 1px solid #eee;
    overflow: hidden;
    margin-bottom: 40px;
    float: left;
    box-sizing: border-box;
    margin-right: 2%;
}
.custom_standard-03 dl:nth-child(3n) {
    margin-right: 0;
}
.custom_standard-03 dt,.custom_standard-03 dd {
    width: 92%;
    margin: 4%;
}
.custom_standard-03 dl {
    font-size: 18px;
}
.custom_standard-03 dt {
    height: 180px;
    overflow: hidden;
    position: relative;
}
.custom_standard-03 dd {
    font-size: 15px;
    height: 100px;
    overflow: hidden;
}

/* custom_boxlayout-01 スタイル*/
.custom_boxlayout-01 {
    width: 100%;
    margin: 0 auto;
}
.custom_boxlayout-01 .box_separate {
    margin-bottom: 46px;
}
.custom_boxlayout-01 .boxitem:first-child,.custom_boxlayout-01 .boxitem:nth-child(6n) {
    width: 50%;
}
.custom_boxlayout-01 .boxitem {
    width: 25%;
    float: left;
    overflow: hidden;
}
.custom_boxlayout-01 .boxitem a {
    display: inline-block;
    width: 100%;
}
.custom_boxlayout-01 .boxitem:first-child .imgcover, .custom_boxlayout-01 .boxitem:nth-child(6n) .boxitem .imgcover {
    height: 490px;
    overflow: hidden;
}
.imgcover {
    height: 245px;
    position: relative;
}

/* custom_08 スタイル*/
.custom-circle-01 {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding-left: 15px;
}
.custom-circle-01 a {
    display: block;
}
.custom-circle-01 dl {
	width: 24%;
	display: inline-block;
	margin: 0 3px 46px 3px;
}
.custom-circle-01 dt {
	top: 100%;
	margin: 0 auto 5px;
	width: 220px;
	height: 30px;
    overflow: hidden;
}
.custom-circle-01 dt p.contents_text {
    display: none;
}
.custom-circle-01 dd {
	width: 220px;
	height: 220px;
	position: relative;
	overflow: hidden;
	border-radius: 50%;
	margin: 0 auto;
}
.custom-circle-01 img {
	position: absolute;
	/* top: -100%; */
	margin: auto;
}

/* custom_09 スタイル*/
.custom-circle-02 {
    margin-bottom: 100px;
}
.c9box {
    margin-bottom: 80px;
}
.c9_circle{
    position: relative;
    overflow: hidden;
}
.c9box:nth-child(odd) .c9_circle{
    width: 400px;
    height: 400px;
    float: left;
    border-radius: 50%;
	margin: 10px 10px 10px 0;
	shape-outside: circle();
}       
.c9box:nth-child(even) .c9_circle{
    width: 250px;
    height: 250px;
    float: right;
    border-radius: 50%;
	margin: 10px 0 10px 10px;
	shape-outside: circle();
}
.c9_circle img{
    object-fit: cover;
}
.c9_h3{
    border-style: none;
    font-size: 2.0em;
    margin-bottom: 10px;
    text-align: left;
}
p.c9_p {
	font-size: 16px;
	line-height: 1.8;
}

/* 共通 */
.addEllipsis {
    overflow-wrap: break-word;
    word-break:break-all;
}
h3.contents_ttl {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
