@charset "UTF-8";







/* PC
-------------------------------------------------- */

@media only screen and (min-width: 1100px) {
    
    
    

}






/* Tablet
-------------------------------------------------- */

@media only screen and (max-width: 1100px) {
    .wrap {
        padding-left: 20px;
        padding-right: 20px;
        width: auto;
    }
    
    #main {
        display: block;
    }
    
    #main .main-inner {
        max-width: 100%;
    }
    
    #side {
        display: none;
    }
    
    .main-inner {
        margin: 0;
    }
    

}












/* Phone
-------------------------------------------------- */

@media only screen and (max-width: 767px) {
    .wrap {
        padding-left: 15px;
        padding-right: 15px;
        width: auto;
    }
    
    .caption li {
	font-size: 12px;
    }
    
    
    /* header
    -------------------------------------------------- */
    
    .header {
	padding: 15px;
    }
    
    .header .wrap {
	padding: 0;
    }
    
    
    
    /* footer
    -------------------------------------------------- */
   
    
    #footer ul li:last-child {
	margin: 0 auto !important;
    }
    
    
    /* menu
    -------------------------------------------------- */
    
    #menu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	padding: 20px;
	background: #fff;
    }
    
    
    .menu-header-container {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
    }
    
    
    ul.menu {
	align-items: center;
	align-content: center;
	flex-flow: column;
    }
    
    
    .header .menu {
	align-items: center;
	justify-content: center;
	height: 100%;
    }
    
    
    .header .menu ul {
	flex-direction: column;
    }
    
    
    .header .menu ul li {
	padding: 10px;
    }
    
    
    
    /* icatch
    -------------------------------------------------- */
    
    .icatch .image.cover {
	padding: 15px;
    }
    
    
    .icatch .icatch-title {
	font-size: 24px;
	text-align: center;
    }
    
    .icatch .icatch-text {
	font-size: 14px;
	text-align: center;
    }
    
    
    /* content
    -------------------------------------------------- */
    
    .content-title {
        padding: 30px 0 0;
        margin: -30px auto 60px;
    }
    
    
    .content-title h2 {
        font-size: 24px;
        height: auto;
	min-height: 30px;
    }
    
    
    .content-title span {
        font-size: 40px;
        line-height: 40px;
    }
    
    
    h3 {
    font-size: 18px;
    line-height: 27px;
    min-height: 27px;
    }
    
    
    
    
    /* flow
    -------------------------------------------------- */
    
    .flow > li {
	padding: 15px;
    }
    
    .flow .flow-title {
	margin-bottom: 10px;
    }
    
    .flow .flow-title h3 {
	font-size: 18px;
    }
    
    .flow .flow-body {
	padding: 0;
    }
    
    

    /* contact
    -------------------------------------------------- */
    .contact {
	padding: 15px;
    }
    
    
    .tel.frow.row-start {
	flex-direction: column;
	justify-content: center;
    }
    
    .tel .number {
	margin: 0;
    }
    
    
    
    /* card
    -------------------------------------------------- */
    .card .body {
        padding: 10px;
    }
    
    
    
    
    
    
    
    /* article
    -------------------------------------------------- */
    
    article {
        margin: 0 -15px;
    }
    
    article .post-header {
        padding: 15px;
    }
    
    article .post-title {
        font-size: 1.6rem;
    }
    
    article .post-content {
        padding: 15px;
    }
    
    article .post-content p {
        font-size: 1.5rem;
    }
    
    
    article .post-content p.has-medium-font-size {
        font-size: 1.8rem;
    }
    
    
    article .post-content p.has-large-font-size {
        font-size: 2.1rem;
    }
    
    
    article .post-footer {
        padding: 15px;
    }
    
    article .postmeta li {
        display: block;
    }
    
    article .postmeta li:not(:last-child) {
        margin: 0 0 5px 0;        
    }
    
    article .postmeta li .tags {
        overflow: auto;
        white-space: nowrap;
    }
    
    
    article .post-content h2 {
        font-size: 1.8rem;
        line-height: 1.5;
    }
    
    article .post-content h3 {
        font-size: 1.7rem;
        line-height: 1.5;
    }
    
    
    
    
    /* breadcrumb
    -------------------------------------------------- */
    
    .breadcrumb li:last-child {
        display: none;
    }
    
    
    /* swiper
    -------------------------------------------------- */
    .content-inner .swiper-container::before,
    .content-inner .swiper-container::after {
        width: calc((100% - 300px) / 2);
    }
    
    .swiper-container {
        margin: -40px -15px !important;
    }

}








/* Column
-------------------------------------------------- */

@media only screen and (max-width: 860px) {
    .column.column_03 .box {
        width: calc(50% - 20px);
    }

}


@media only screen and (max-width: 430px) {

    .column {
        margin: -7.5px;
    }
    
    .column .box {
        margin: 7.5px;        
    }
    
    .column.column_03 .box {
        width: 100%;
    }
    
    
    
    
    

}
