@charset "utf-8";

/* cleafix */
.clearfix::after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	height: 0;
	overflow: hidden;
	font-size: 0;
	line-height: 0;
}


/*
【360新潟レスポンシブ設計定義】
1200px～：PC
801px～1199px：タブレット（タブレット専用デザインは作成しない、基本的にスマホのデザインを適用するがPCのデザインで問題ない場合に限りPCのデザインも適用可能とする）
～800px：スマホ
*/

/* PC・タブレット・スマホ共通の設定（PC用の設定を記述） */


/*--------------------------------------------------------------
## published
--------------------------------------------------------------*/

#published {
    width: 100%;
    padding: 0 0 5% 0;
    background-image: url(../images/published/published-bg.png);
    background-size: 100%;
    background-position-y: 0;
    background-repeat: no-repeat;
}
#published .top {
    width: 100%;
}
#published img {
    width: 100%;
}
#published h2.ttl1 {
    font-size: 3.5vw;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 1%;
    width: 50%;
    border-bottom: none;
    padding: 1% 0;
}
#published p.center {
    font-size: 1.1vw;
    font-weight: normal;
    text-align: center;
    line-height: 1.6;
    padding: 2	% 0;
}
#published .button {
    width: 22vw;
    margin: 2% auto;
}
.button, .button::before, .button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.button {
    position: relative;
    z-index: 2;
    /* background-color: #333; */
    /* border: 2px solid #333; */
    color: #fff;
    line-height: 50px;
}
#published h2.ttl2 {
    font-size: 2vw;
    font-weight: bold;
    text-align: center;
    margin: 3% 0 1%;
}
#published .column3 {
    width: 100%;
}
#published .width-full {
    width: 100%;
    height: auto;
    background-color: #f5f5f5;
    padding: .5% 0;
    margin: 3% 0;
}
#published div, #published img {
    max-width: 100%;
}
#published h2.ttl2 {
    font-size: 2vw;
    font-weight: bold;
    text-align: center;
    margin: 3% 0 1%;
}
#published .flow {
    width: 44%;
    margin: 2% auto;
}
#published h2.ttl3 {
    font-size: 1.6vw;
    font-weight: bold;
    text-align: center;
    margin: 3% 0 1%;
}
#published .align-left {
    width: 54%;
    text-align: left;
    margin: 0 auto;
}
#published .width-full2 {
    width: 100%;
    height: auto;
    background-color: #f5f5f5;
    padding: .5% 0 2%;
    margin: 3% 0;
}
#published .genre ul {
    width: 660px;
    height: auto;
    margin: 0 auto;
    position: relative;
    top: 10%;
    display: block;
}
#published .genre ul li {
    width: 182px;
    margin: 4% 2.6%;
    float: left;
}
#published .genre ul li span {
    color: #111;
    font-size: 2vw;
}
#published .genre ul li img {
    width: 100%;
}
#published h2::before {
    position: relative;
    top: 65%;
    z-index: 1;
    content: '';
    display: block;
    left: 20%;
    width: 60%;
    height: 1px;
    background: none;
}
#published .pc-box {
    width: 60%;
    margin: 3% auto;
    box-sizing: border-box;
}
#published .pc-box .left {
    width: 55%;
    float: left;
    box-sizing: border-box;
}
#published .pc-box .right {
    width: 45%;
    float: right;
    box-sizing: border-box;
}
#published .pc-box .left h3 {
    font-size: 2vw;
    margin: 1vw 0 1vw 0;
	font-weight: bold;
}
#published .column3 ul li {
    width: 31%;
    margin: 0 auto;
    float: left;
    margin: 1%;
    padding: 1.5%;
    box-sizing: border-box;
    border: solid 2px #ccc;
    border-radius: 8px;
    background: #fff;
}
#published .column3 ul li .bold {
    font-size: .96vw;
    font-weight: bold;
    margin: 0 0 1vw 0;
    letter-spacing: 0;
}
#published .column3 ul li .text {
    font-size: .8vw;
}
#published .column3 ul {
    width: 72%;
    margin: 2% auto 1%;
    /* display: flex; */
    flex-direction: row;
    flex-basis: auto;
    flex-wrap: wrap;
    justify-content: center;
}
#published input#submit_button {
	display: none;
	    padding: 15px 40px;
	    font-size: 1.2em;
	    background-color: #54b3de;
	    color: #fff;
	    border-style: none;
	    width: 100%;
	    border-radius: 6px;
	    cursor: pointer;

}
#published .tel-service {
	    padding: 15px 40px;
	    font-size: 1.2em;
	    background-color: #54b3de;
	    color: #fff;
	    border-style: none;
	    width: 50%;
	    border-radius: 6px;
	    cursor: pointer;
	    margin: 0 auto 3%;
	    text-align: center;
}
#published .tel-service span {
	    font-size: 2em;
}
#published .tel-service span a {
	    color: #fff!important;
	    cursor: default!important;
}
#published .tel-service span a:hover {
	    color: #fff!important;
}


/* タブレット・スマホ共通の設定（スマホ用の設定を記述、ただしタブレットに適用したくない場合はスマホ専用欄に記述） */
@media print, screen and (max-width: 1199px) { 

	#published {
	    width: 100%;
	    padding: 0 0 5% 0;
	    background-image: none;
	}
	#published h2.ttl1 {
	    font-size: 5vw;
	    font-weight: bold;
	    text-align: center;
	    margin: 3% auto 1%;
	    width: 50%;
	    border-bottom: solid 1px #aaa;
	    padding: 1% 0;
	}
	#published p.center {
	    font-size: 3vw;
	    font-weight: normal;
	    text-align: center;
	    line-height: 1.6;
	    padding: 2% 0;
	}
	#published .button {
	    width: 82vw;
	    margin: 2% auto;
	}
	#published h2.ttl2 {
	    font-size: 4vw;
	    font-weight: bold;
	    text-align: center;
	    margin: 3% 0 1%;
	}
	#published .column3 ul li .bold {
	    font-size: 2vw;
	    font-weight: bold;
	    margin: 0 0 1vw 0;
	}
	#published .column3 ul li .text {
	    font-size: 2vw;
	}
	#published .column3 ul {
	    width: 90%;
	    margin: 2% auto 1%;
	    display: flex;
	    flex-direction: row;
	    flex-basis: auto;
	    flex-wrap: wrap;
	    justify-content: center;
	}
	#published .column3 ul li {
	    width: 100%;
	    margin: 0 auto;
	    float: left;
	    margin: 2%;
	    padding: 3%;
	    box-sizing: border-box;
	    border: solid 2px #ccc;
	    border-radius: 8px;
	    background: #fff;
	}
	#published .column3 ul li .bold {
	    font-size: 3vw;
	    font-weight: bold;
	    margin: 0 0 1vw 0;
	}
	#published .pc-box .left h3 {
	    font-size: 4vw;
	    margin: 1vw 0 1vw 0;
	}
	#published .pc-box {
	    width: 100%;
	    margin: 3% auto;
	}
	#published .column3 ul li .text {
	    font-size: 3vw;
	}
	#published .pc-box .left {
	    width: 100%;
	    float: none;
	       box-sizing: border-box;
	    padding: 5%;
	}
	#published .pc-box .right {
	    width: 100%;
	    float: none;
	}
	#published .pc-box .right {
	    width: 80%;
	    float: none;
	    margin: 5% auto;
	}
	#published .genre ul {
	    width: 100%;
	    display: flex;
	    flex-direction: row;
	    flex-basis: auto;
	    flex-wrap: wrap;
	    justify-content: center;
	    margin: 3% auto;
	}
	#published .genre ul li {
	    width: 17%;
	    margin: 1%;
	    float: left;
	}
	#published .flow {
	    width: 90%;
	    margin: 2% auto;
		background-color:transparent;
		padding:initial;
	}
	#published h2.ttl3 {
	    font-size: 4vw;
	    font-weight: bold;
	    text-align: center;
	    margin: 3% 0 1%;
	}
	#published .align-left {
	    width: 90%;
	    text-align: left;
	    margin: 0 auto;
	    font-size: 2.5vw;
	}
	#published input#submit_button {
	    padding: 3vw;
	    font-size: 3vw;
	    background-color: #54b3de;
	    color: #fff;
	    border-style: none;
	    width: 100%;
	    border-radius: 6px;
	    cursor: pointer;
	}
	.s-gft-box .gift4 {
	    display: block;
	    width: 80%;
	    float: none;
	}
	#published .tel-service span {
	    font-size: 2em;
	    font-weight: bold;
	}
	#published .tel-service {
	    padding: 15px 40px;
	    font-size: .7em;
	    background-color: #54b3de;
	    color: #fff;
	    border-style: none;
	    width: 90%;
	    border-radius: 6px;
	    cursor: pointer;
	    margin: 0 auto 3%;
	    text-align: center;

	}
	#published p {
		font-size: 3vw;
	}
}


/* スマホ専用の設定（スマホ用の設定の内でタブレットに適用したくない設定） */
@media screen and (max-width: 800px) { 
}
