.box_sp, .slick-slide img.box_sp, .slider_info_img, #header_sp, #footer_sp {
  display: none;
}
.box_pc, .slick-slide img.box_pc {
  display: block;
}
.txt_bold {
  font-weight: bold
}
@media screen and (min-width: 769px) {
  .to-top a:hover {
    background: url("../images/to-top04-on.png") center no-repeat;
	background-size: contain
  }
}
@media screen and (max-width: 1800px) and (min-width: 768px) {
	
	#header {
	  padding: 0 2%;
	}
	#top_info .maintxt {
		width: 40%;
	}
	#top_info .inn, #top_info .list_button {
	    min-width: 1280px;
		margin: 0 auto;
		width: 100%;
	}
	#top_info .maintxt .org_bg {
		font-size: 18px;
		letter-spacing: 0;
		margin-bottom: 20px;
	}
	#top_info .director_img, #top_info .magazine {
		width: 30%;
	}
	#top_info .maintxt h2{
		margin: 10px auto 60px;
	}
	#top_info .maintxt h2 .sub01 {
		font-size: 32px;
	}
	#top_info .maintxt h2 .large {
		font-size: 66px;
	}
	#top_info .maintxt h2 .sub02 {
		font-size: 52px;
	}
	#top_info .maintxt .medal_yel {
        background: url("../images/bg_medal_yel.png") no-repeat 0 0 / 100%;
        width: 160px;
		height: 160px;
		right: 15px;
	}
	#top_info .magazine img {
		width: 300px;
	}
	#top_info .director_img .img {
		margin-right: -60px;
	}
	#top_info .director_img .name {
		right: -165px;
	}
	#box03 {
	  padding: 60px 0 0;
	}

	#box03 .cont {
	  padding-bottom: 60px;
	}
	.list6items dl dt {
		font-size: 17px;
	}
	#box01::after {
	  border-width: 120px 50vw 0 50vw;
	  bottom: -120px;
	}
	#box02 .imgR {
	  width: 40%
	}
	#box02 .balloon_txt {
	  width: 56%
	}
	#box02 .balloon_txt p > span {
		font-size: 23px;
	}
	#box06 .inner::after {
		width: 220px;
  		height: 170px;
		left: -10px;
		bottom: -120px
	}
	#box04 .list_zoom::before {
	  width: 230px;
	  height: 180px;
	  top: -200px;
		left:20px
	}
}
@media screen and (max-width: 768px) {
	h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
	  font-size: 160%;
	  -webkit-text-size-adjust: none;
	}
  img {
    max-width: 100%;
  }
  #wrapper, #header, #main, #footer, .inner {
    width: 100% !important;
    min-width: inherit !important;
  }
  #wrapper {
    min-width: 320px !important;
  }
  .inner, #footer_top .inner {
    box-sizing: border-box;
    padding: 0 3%;
  }
  .box_pc {
    display: none;
  }
  .box_sp {
    display: block
  }
  /*==========================================================================
                                 HEADER                                   
  ==========================================================================*/
  #header {
    justify-content: space-between;
    height: auto;
    padding: 0 10px
  }
  #header .inner{
	padding: 0 1%;
  }
  #logo {
    width: 50%;
    max-width: 240px;
    padding: 10px 5px 5px
  }
  #main {
  }
	.mailform_but{
		width: 45%;
		max-width: 220px;
		margin-top: 15px
	}
	.mailform_but a{
		line-height: 1.3;
		text-align: center;
		font-size: 14px
	}
	.mailform_but a span.sub {
	  top: -13px;
	  padding: 2px 6px;
	  font-size: 11px;
	}
	.mailform_but a::after {
	  margin-left: 5px;
	}
  /*==========================================================================*/
  /*                               COMMON                                       */
  /*==========================================================================*/
	#present h3{
		font-weight: bold;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		margin-bottom: 40px
	}
	#present h3 .en{
		font-size: 16px;
		margin-bottom: 10px
	}
	#present h3 .jp{
		font-size: 32px;
		line-height: 1.4
	}
  /*==========================================================================
                                 TOP INFO                                   
  ==========================================================================*/
	#top_info .inn {
	  background: linear-gradient(to right, rgba(255,255,255,0) 20%, rgba(255,255,255,0.6) 20%, rgba(255,255,255,0.6) 80%, rgba(255,255,255,0) 80%);
	  display: flex;
	  justify-content: center;
	  padding-top: 80px;
	  min-height: unset;
	}
	#top_info .director_img, #top_info .magazine {
		width: 22.5%;
	}
	#top_info .maintxt {
		width: 55%;
	}
	#top_info .director_img .img {
	  margin-right: -8vw;
	}
	#top_info .maintxt .org_bg {
	  font-size: 3vw;
	  line-height: 1.4;
	}
	#top_info .maintxt h2{
		margin: 3vw auto 10vw;
	}
	#top_info .maintxt h2 .sub01 {
	  font-size: 3.5vw;
	}
	#top_info .maintxt h2 .large {
	  font-size: 7.5vw;
	}
	#top_info .maintxt h2 .sub02 {
	  font-size: 6vw;
	}
	#top_info .maintxt .medal_yel{
      background: url("../images/bg_medal_yel.png") no-repeat 0 0 / 100%;
      width: 20vw;
      height: 20vw;
      right: -8px;
      bottom: 15px;
	}
	#top_info .maintxt .medal_yel {
      font-size: 2.4vw;
    }
	#top_info p.img01{width: 14vw;}
	#top_info .director_img .name {
        right: -21vw;
        bottom: 15px;
        background: url("../images/bg_name.png") no-repeat 0 bottom / 100%;
        width: 18vw;
        height: 8.5vw;
        padding-left: 4.5vw;
		font-size: 2.3vw;
	}
	#top_info .list_button li {
	  height: 80px;
	}
	#top_info .list_button li a{
		font-size: min(3.8vw, 20px);
		line-height: 1.4;
		padding-right: 5vw;
		text-align: center
	}
	#top_info .list_button li a::after {
        right: 1.5vw;
	}
  /*==========================================================================*/
  /*                               box01                                      */
  /*==========================================================================*/
	.list6items {
	  align-items: unset;
	}
	.list6items dl {
		width: 48%;
		justify-content: flex-start;
		padding: 30px 10px 10px;
	}
	.list6items dl dt {
	  font-size: 16px;
	}
	.list6items dl.mt {
      margin: 0 0 40px;
    }
	.list6items dl dt .num {
	  top: -50px;
	}
	#box01::after {
	  border-width: 15vw 50vw 0 50vw;
	  left: 0;
	  bottom: -15vw;
	}
  /*==========================================================================*/
  /*                               box02                                      */
  /*==========================================================================*/
	
	#box02 .inner {
		flex-direction: column;
		align-items: flex-end
	}
	#box02 .balloon_txt{
		width: 100%;
		background: #fff;
		border-radius: 15px;
		padding: 4vw;
		box-shadow: 8px 8px 0 rgba(0,0,0,0.1);
		position: relative
	}
	#box02 .imgR {
	    max-width: 100%;
		margin-top: -40px;
		z-index: 8
	}
	#box02 .balloon_txt::after{
		border-width: 30px 10px 0 10px;
        border-color: #fff transparent transparent transparent;
		right: 50%;
		top: unset;
		bottom: -30px
	}
	#box02 .balloon_txt::before{
		border-color: rgba(0,0,0,0.1) transparent transparent transparent;
		border-width: 30px 10px 0 10px;
		right: 49%;
		top: unset;
		bottom: -38px
	}
	#box02 .balloon_txt p > span{
		font-size: 3.3vw;
	}
	
  /*==========================================================================*/
  /*                               box03                                      */
  /*==========================================================================*/
	#box03 {
		padding: 0 0 0;
    }
	#box03 .inner{
		padding: 60px 0;
		flex-wrap:wrap;
		align-items: unset;
		justify-content: center
	}
	#box03 h3{
		margin-bottom: 20px
    }
	#box03 .imgL, #box03 .imgR{
		display: none
	}
	#box03 .cont{
		width: 90%;
		padding-bottom: 0;
		position: relative
	}
	#box03 .inner::before {
        width: 110%;
        height: 110%;
	}
	#box03 .cont .box_sp{
		width: 80%;
		margin: 0 auto 20px
	}
  /*==========================================================================*/
  /*                               box04                                      */
  /*==========================================================================*/
	#box04 {
	  padding: 60px 0 30px;
	}
	#box04 .list_zoom::before {
	  width: 19vw;
	  height: 15vw;
	  left: 10px;
	  top: -18vw;
	}
	.list_zoom{
		width: calc(100% + 20px);
		margin: 0 -10px;
	}
	.list_zoom li{
		width: calc(100% / 2 - 20px);
		border-radius: 20px;
		margin: 0 10px 30px;
		border: 6px solid #dcede3;
	}
	.list_zoom li::after{
		width: 26px;
		height: 26px;
		background-size: 16px;
		right: 8px;
		bottom: 8px;
	}
  /*==========================================================================*/
  /*                               box05                                   */
  /*==========================================================================*/
	#box05 {
	  padding: 50px 0 0;
	}
	#box05 h3{
	  margin-bottom: 60px
	}
	#box05 .bg2::before{
        content: '';
        width: 50%;
        height: 60px;
        left: 0;
        top: -60px;
    }
    #box05 .bg2::after{
        content: '';
        width: 50%;
        height: 60px;
        right: 0;
        top: -60px;
    }
	.list_items {
	  width: 100%;
	  margin: 0 0 0;
	  top: -30px;
	}
	.list_items .item {
	  width: 100%;
	  margin: 0 0 30px;
	}
  /*==========================================================================*/
  /*                               box06                                      */
  /*==========================================================================*/
	#box06 {
	  padding: 60px 0;
	}
	#box06 .flexbox{
		flex-direction: column
	}
	#box06 .flexbox .col_l{
		width: 100%;
		padding-left: 0;
		position: relative;
		margin-bottom: 30px
	}
	#box06 .flexbox .col_r{
		width: 100%;
	}
	#box06 .flexbox .name{
		font-size: 18px;
	}
	#box06 .flexbox .col_l::before {
		background: url("../images/bg_name03.png") no-repeat 0 0 / 100%;
        width: 320px;
        height: 165px;
        left: 0;
        top: -88px;
	}
	#box06 .flexbox .subname {
	  margin: 0 0 0;
	  padding-left: 5px;
	}
	#box06 .flexbox .col_r .img {
	  margin: 0 auto 20px
	}
	#box06 .inner::after {
	  width: 145px;
      height: 110px;
      left: 0;
      bottom: -75px;
	}
  /*==========================================================================*/
  /*                               box07                                      */
  /*==========================================================================*/
	
	#box07 .title_form {
	  flex-wrap: wrap;
		align-items: center
	}
	#box07 .title_form h3 {
	  	order: 1;
		margin: 0 30px 30px 20px;
		width: 100%;
	}
	#box07 .title_form .medal_yel {
		order: 2;
        width: min(22vw, 120px);
        height: min(22vw, 120px);
        font-size: min(4vw, 20px);
		margin: 0 3vw;
		position: relative;
		top: -3vw
	}
	#box07 .title_form .magazine2 {
		order: 3;
        width: min(18vw, 100px);
		margin: 0 3vw
	}
	#box07 .inner #mailform {
	  background: #fff;
	  border-radius: 20px;
	  padding: 60px 20px 20px;
	  margin-top: -60px;
	}
	#box07 .udr-scroll {
	  padding: 20px;
	}
	#box07 h4 {
	  font-size: 24px;
	}
	#box07 .udr-scroll h5, #box07 .udr-scroll h6 {
	  font-size: 20px;
	}
  /*==========================================================================
                                 mailform                                     
  ==========================================================================*/
	#mailform table.mailform {
	  width: 100%;
	  margin: 0 0 0 0;
	  padding: 0;
	}
	#mailform table tr{
		width: 100%;
		display: block;
	}
	#mailform table td{
		width: 100%;
		display: block;
		padding: 0 5px 10px;
	}
	#mailform table th, #mailform table th:first-child{
		width: 100%;
		display: block;
		padding: 10px 45px 10px 5px;
	}
	#mailform #fmail table.postcodetbl tr:not(:first-child) th{
	  	width: 130px;
		font-size: 15px;
	}
	#mailform #fmail table.postcodetbl tr:not(:first-child){
	  	display: flex;
		align-items: center
	}
	#mailform #fmail table.postcodetbl tr:not(:first-child) td {
	  	width: calc(100% - 130px);
	}
	#mailform #fmail table.postcodetbl tr:first-child th{
		padding: 10px 45px 10px 5px;
	}
	#mailform #fmail table.postcodetbl tr th, #mailform #fmail table.postcodetbl tr td{
		padding: 10px 5px;
	}
	#mailform #fmail table.postcodetbl {
	  margin: 0 0 0;
	}
	.to-top {
		right: 10px;
	}
	.to-top>a {
		width: 100px;
		height: 130px;
	}
	.list_items::before {
		width: 120px;
		height: 120px;
		top: -110px;
		right: 0
	}
}
@media screen and (max-width: 640px) {
	.list6items {
	    justify-content: center
	}
	.list6items dl {
		width: 100%;
		max-width: 460px
	}
	.common_button {
	  flex-direction: column;
		align-items: center
	}
	.common_button p {
	  width: 300px;
	  height: 60px;
	  margin: 0 10px 15px;
	}
}
@media screen and (max-width: 480px) {
	#present h3 .jp{
		font-size: 28px
	}
	#top_info .list_button li a::after {
        content: '';
        width: 5vw;
        height: 5vw;
        background: url("../images/arrow01.png") no-repeat center rgba(255,255,255, 0.4);
        top: calc(50% - 2.5vw);
        right: 1.5vw;
        background-size: 3vw;
	}
	
}
@media screen and (max-width: 450px) {}
@media screen and (max-width: 420px) {
	.sp420{display:block}
	.mailform_but {
	  height: 44px;
	}
	.mailform_but a{
		font-size: 3.5vw;
		padding-top: 4px;
		line-height: 1.2
	}
	.mailform_but a span.sub {
        top: -10px;
        padding: 2px 6px;
        font-size: 10px;
    }
	.mailform_but a::after {
		margin-left: 5px;
		width: 12px;
		height: 12px;
	  }
	#mailform #fmail table.postcodetbl tr:not(:first-child) th {
        width: 120px;
        font-size: 13px;
    }
	#mailform #fmail table.postcodetbl tr:not(:first-child) td {
        width: calc(100% - 120px);
		display: flex;
    }
	#present h3 .en, #box07 h3 .sub{
		font-size: 15px;
	}
	#present h3 .jp{
	}
}
@media screen and (max-width: 390px) {
	
	.mailform_but a span.sub {
        top: -8px;
        font-size: 9px;
    }
	#mailform #fmail table.postcodetbl tr:not(:first-child) {
      flex-wrap: wrap
    }
    #mailform #fmail table.postcodetbl tr:not(:first-child) th {
      width: 100%;
		padding: 0 5px 5px;
    }
	#mailform #fmail table.postcodetbl tr:not(:first-child) td {
      width: 100%;
      display: flex;
		padding: 0 5px 10px;
    }
	#present h3 .jp{
		font-size: 26px;
	}
}