/*==========  Non-Mobile First Method  ==========*/

/* Large Devices, Wide Screens */
@media only screen and (max-width : 1199px) {

.section-about .container {
  width: auto;
}

.TopicSpace {
background-color:whitesmoke;
    opacity: 0.9;
    padding: 20px;
    position: absolute;
    top: 80px;
    left: 410px;
}

    /* HEADER
	================================================== */
	/* Navigation */
	.navbar-nav > li + li > a {
	    margin-left: 30px;
	}

	/* hero
	================================================== */
	.hero {
		min-height: 600px;
	}

	.hero img {
		height: 500px;
	}

	/* SITEMAIN
	================================================== */
	/* Modal */
	.modal-header {
		height: 400px;
	}

	.section-services:before {
    content: '';
    background: url(../img/services-bg.jpg) no-repeat center / cover;
    width: 100%;
    height: 400px; 
    position: absolute;
    left: 0;
    top: 0;
	}

.section-overview {
    background: url(../img/counters-bg.jpg) no-repeat center / cover;
    width: 100%;
    padding: 100px 0;
    position: relative;
    padding-bottom: 120px;
	color: aliceblue;
  font-family: "しまなみ JIS2004", serif;
}

.center-ttl2{
    writing-mode: vertical-rl; 
    background: url("../img/frame001.png") no-repeat center / 180px ;
    height: 580px;
    width: 330px;
padding: 130px 125px 0px;
font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.12em;
/*background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 8px;*/
    margin: -100px 0 0 0;
}

#fix-sidetxt {
    top: 130px;
}

    .column_bnr .col-sm-6 { padding: 0 15;}

}

/* Medium Devices, Desktops */
@media only screen and (max-width : 991px) {
.TopicSpace {
background-color:whitesmoke;
    opacity: 0.9;
    padding: 20px;
    position: absolute;
    top: 130px;
    left: 240px;
}
.TopicImage{
    top: 0px;
    padding: 0px;
    padding: 0px;
    left: 0px;
}
.topicTitle {
    margin: 0;
    line-height: 1.0;
    font-family: "Noto Serif JP", serif;
    position: relative;
  }
.topicTitle .en {
    display: block;
    font-size: 27px;
    font-weight: 500;
  }
.topicTitle .ja {
    display: block;
    font-size: 15px;
    margin-top: 0.25em;
    margin-left: 0.25em;
  }
.topicText {
    font-size: 0.8em;
}

.sm-img {
	height: 38px;
	vertical-align: -5px;
}
.wf-sawarabimincho-b { font-family: "Sawarabi Mincho", serif; font-size: 25px;}

	/* CUSTOM RESETS
	================================================== */
	h4 {
		font-size: 24px;
	}

	/* Buttons */ 
	.btn {
	    min-width: 120px;
	    line-height: 40px;
	    padding: 0 25px;
	    font-size: 14px;
	} 

	/* HEADER
	================================================== */
.Header-Logo{
  width: 200px;
  display: block;
  transition: all 0.4s ease;
}
	/* Navigation */
	.navbar-nav > li > a {
		font-size: 14px;
	}

	.navbar-nav > li + li > a {
	    margin-left: 20px;
	}

	/* hero
	================================================== */
	.hero h1 {
		font-size: 38px
	}

	.job-title {
		font-size: 20px;
	}

	.hero img {
		height: 420px;
	}

	/* SITEMAIN
	================================================== */
	.site-section {
		padding-top: 30px;
	}

	.section-skills,
	.section-portfolio,
	.section-overview,
	.section-form {
	    padding-bottom: 90px;
	}

	.site-section h2,
	.site-section h3 {
		font-size: 32px
	}

	/* Section: Skills */
	.section-skills .col-md-4 + .col-md-4,
	.skill + .skill {
		margin-top: 20px;
	}

	.skill h4 {
		font-size: 22px;
	}

	/* Section: Services */
	.section-services{
		padding-top: 200px;
	}

	.section-services .container {
		padding: 40px 30px;
	}
	
	.service h4 {
		font-size: 22px; 
	}

	/* Section: Portfolio */
	.section-portfolio .col-md-4:nth-last-child(-n+3) .portfolio-item {
	    margin-bottom: 30px;
	}

	.section-portfolio .col-md-4:nth-last-child(-n+2) .portfolio-item {
	    margin-bottom: 0;
	}

	/* Section: overview */
	.section-overview .col-md-4:nth-last-child(-n+3) .overview-item {
	    margin-bottom: 30px;
	}

	.section-overview .col-md-4:nth-last-child(-n+2) .overview-item {
	    margin-bottom: 0;
	}

	/* Section: Counters */
	.section-counters {
		padding: 70px 0;
	}

	.site-section p.counter {
		font-size: 80px;
	}

	/* Modal */
	.modal-header {
		height: 350px;
	}
    .vt_cont{
   padding-bottom: 100px;
}

.box-018 {
   margin-bottom: 70px;
}
.box-019 > div {
    font-size: 1.2em;
}

.box-019 p {
    font-size: 0.9em;
}

}

/* Small Devices, Tablets */
@media only screen and (max-width : 767px) {
.TopicSpace {
background-color:whitesmoke;
    opacity: 0.9;
    padding: 20px;
    position: static;
    top: 0px;
    left: 0px;
}
.TopicImage{
    top: 0px;
    padding: 0px;
    padding: 0px;
    left: 0px;
}
.topicTitle {
    margin: 0;
    line-height: 1.0;
    font-family: "Noto Serif JP", serif;
    position: relative;
  }
.topicTitle .en {
    display: block;
    font-size: 27px;
    font-weight: 500;
  }
.topicTitle .ja {
    display: block;
    font-size: 15px;
    margin-top: 0.25em;
    margin-left: 0.25em;
  }
.sm-img2 {
	height: 45px;
	vertical-align: -6px;
}

	/* CUSTOM RESETS
	================================================== */
	h4 {
		font-size: 20px;
	}

	/* Buttons */ 
	.btn {
	    min-width: 100px;
	    line-height: 30px;
	    padding: 0 20px;
	} 

	/* Input fields */
	.form-control {
	 	margin-top: 25px;
	}

	/* Margin and Paddings Resets */
	.mt-x-0 {
	    margin-top: 0;
	}

	/* HEADER
	================================================== */
	.site-logo {
		padding-left: 25px;
	}

	.site-logo img {
        width: 80%;
        margin-top: -7px;

	}

	.Header-Logo.isSmall{
  width: 140px!important;
}

    /* Navigation */
	.navbar-toggle {
	    margin: 0 15px 0 0;
	    padding: 5px 0;
	   	border: 0;
	}

	.navbar-toggle .icon-bar {
		height: 1px;
		width: 30px;
	    background-color: #212121;
	    -webkit-transition: all 0.3s;
	    -moz-transition: all 0.3s;
	    -ms-transition: all 0.3s;
	    -o-transition: all 0.3s;
	    transition: all 0.3s;
	}

	.navbar-toggle .icon-bar + .icon-bar {
		margin-top: 6px; 
	}

	.navbar-toggle.act .icon-bar:first-child, 
	.navbar-toggle.act .icon-bar:last-child  { 
	    position: absolute;
	    top: 10px;
	    height: 2px;
	    background-color: #fff;
	}

	.navbar-toggle.act .icon-bar:first-child {
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.navbar-toggle.act .icon-bar:last-child  {
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.navbar-toggle.act .icon-bar:nth-child(2) {
		opacity: 0;
	}

	.navbar-toggle.act .icon-bar + .icon-bar  {
	    margin-top: 0px;
	}

	.navbar-nav > li > a,
	.navbar-nav > li + li > a {
		display: inline-block;
		margin: 0;
		color: #fff;
	}

	.navbar-nav > li > a:hover,
	.navbar-nav > li.active > a,
	.nav > li > a:hover,
	.nav > li.active > a {
	    border-bottom: 2px solid #fff;
	}

	.navbar-toggle.act {
		z-index: 9999;
		height: 25px;
	}

	.main-menu {
		background-color: rgba(33,33,33,0.9);
		position: fixed;
		left: 0;
		top: 0;
		z-index: 100;
		height: 100%;
		width: 100%;
		display: table;
		text-align: center;
		opacity: 0;
		-webkit-transition: all 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
		transition: all 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
		-webkit-transform: scale(0);
		transform: scale(0);
	}

	.main-menu.act {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	.main-menu.act ul li {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	.main-menu ul {
		display: table-cell;
		vertical-align: middle;
	}

	.main-menu li {
		padding: 8px 0;
		-webkit-transition: all 400ms 510ms;
		transition: all 400ms 510ms;
		opacity: 0;
	}

	.main-menu li:nth-child(odd) {
		-webkit-transform: translateX(30%);
		transform: translateX(30%);
	}

	.main-menu li:nth-child(even) {
		-webkit-transform: translateX(-30%);
		transform: translateX(-30%);
	}

	/* hero
	================================================== */
	.hero .col-md-6:first-child {
		top: 30%;
	}

	.hero h1 {
		font-size: 32px
		margin-bottom: 10px;
	}

	.job-title {
		font-size: 18px;
		margin-bottom: 20px;
	}

	.hero img {
		height: 360px
	}

	/* SITEMAIN
	================================================== */
	.site-main {
		margin-bottom: 180px;
	}

	/* site-section */
	.site-section {
	   padding-top: 60px;
	}

	.section-skills,
	.section-portfolio,
	.section-overview,
	.section-form {
	    padding-bottom: 60px;
	}

	.site-section h2,
	.site-section h3 {
	    font-size: 28px;
	}

	.img-lines {
	    margin: 10px 0 30px;
	}

	.site-section p {
	    margin-bottom: 25px;
	}

	/* Section: Skills */
	.skill h4 {
	    text-transform: uppercase;
	    margin-bottom: 10px;
	}

	/* Section: Services */
	.section-services {
		padding-top: 180px;
	}

	.service h4 {
		margin: 10px 0;
	}

	/* Section: Portfolio */
	.section-portfolio .col-xs-6:nth-child(odd) {
		padding-right: 7.5px;
	}

	.section-portfolio .col-xs-6:nth-child(even) {
		padding-left: 7.5px;
	}

	.portfolio-item,
	.section-portfolio .col-md-4:nth-last-child(-n+3) .portfolio-item {
		margin-bottom: 15px; 
	}

	.section-portfolio .col-md-4:nth-last-child(-n+2) .portfolio-item {
		margin-bottom: 0px;
	}

	/* Section: overview */
	.section-overview .col-xs-6:nth-child(odd) {
		padding-right: 7.5px;
	}

	.section-overview .col-xs-6:nth-child(even) {
		padding-left: 7.5px;
	}

	.overview-item,
	.section-overview .col-md-4:nth-last-child(-n+3) .overview-item {
		margin-bottom: 15px; 
	}

	.section-overview .col-md-4:nth-last-child(-n+2) .overview-item {
		margin-bottom: 0px;
	}

	.section-services .container {
		width: 90%;
		padding: 40px 20px;
	}

	/* Section: Counters */
	.section-counters .col-xs-12 + .col-xs-12 {
		margin-top: 25px;
	}

	/* Section: Form */
	.section-form .btn {
		margin-top: 25px;
	}

	/* Modal */
	.modal-header {
		height: 250px;
	}

	/* FOOTER
	================================================== */
	.site-footer .col-xs-12 {
		text-align: center;
	}
}

/* Extra Small Devices, Phones */ 
@media only screen and (max-width : 479px) {
.pc { display: none !important; }
.sp { display: block !important; }

.section-portfolio .container{
  padding-right: 0px;
  padding-left: 0px;
}
    
.hero { 
    /*background: url(../img/home5-bg25sp.jpg) no-repeat center / cover; */
}

	.visible-xxs {
		display: block;
	}

	/* hero
	================================================== */
	.hero .visible-xxs + .btn {
		margin-top: 10px;
	}

.Header-Logo.isSmall{
  width: 140px!important;
            margin-top: 0px;

}

.topicTitle {
    margin: 0;
    line-height: 1.2;
    font-family: "Noto Serif JP", serif;
  }
.topicTitle .en {
    display: block;
    font-size: 2rem;
    font-weight: 500;
  }
.topicTitle .ja {
    display: block;
    font-size: 0.933rem;
    }

    /* SITEMAIN
	================================================== */
	.site-main {
		margin-bottom: 0px;
	}

	/* Section: Portfolio */
	.section-portfolio .col-xs-6 {
		width: 100%;
		padding: 0;
	}

	.section-portfolio .col-xs-6:nth-child(odd) {
		padding-right: 0px;
	}

	.section-portfolio .col-xs-6:nth-child(even) {
		padding-left: 0px;
	}

	.portfolio-item,
	.section-portfolio .col-md-4:nth-last-child(-n+3) .portfolio-item {
		margin-bottom: 0px; 
	}

	.section-portfolio .btn {
		margin-top: 25px;
	}

	/* Section: overview */
	.section-overview .col-xs-6 {
		width: 100%;
		padding: 0;
	}

	.section-overview .col-xs-6:nth-child(odd) {
		padding-right: 0px;
	}

	.section-overview .col-xs-6:nth-child(even) {
		padding-left: 0px;
	}

	.overview-item,
	.section-overview .col-md-4:nth-last-child(-n+3) .overview-item {
		margin-bottom: 0px; 
	}

	.section-overview .btn {
		margin-top: 25px;
	}

	/* FOOTER
	================================================== */
	.site-footer .row {
		display:flex;
		flex-direction: column-reverse;	
	}

	.site-footer .text-right{
		text-align: center;
	}

	.site-footer .col-xs-6,
	.site-footer .col-xs-3 {
		width: 100%;
	}

	.site-footer .col-xs-offset-3 {
		margin-left: 0;
	}

    .center-ttl2{
    writing-mode: vertical-rl; 
    background: url("../img/frame001.png") no-repeat center / 140px ;
    height: 580px;
    width: 330px;
padding: 162px 130px 0px;
font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.12em;
/*background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 8px;*/
    margin: -220px 0 0 0;
}

    .vt_cont{
   padding-bottom: 70px;
}

.ec-blockReadMoreBtn--left {
  width: 110px;
}
.ec-blockReadMoreBtn--left {
 top: -20px;
}

.box-018 {
   margin-bottom: 50px;
}

    .box-019 > div {
    font-size: 1.2em;
}

.box-019 p {
    font-size: 0.9em;
}

}